mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
746fe8af5a
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
75 lines
1.7 KiB
Ruby
75 lines
1.7 KiB
Ruby
require 'test/unit'
|
|
require 'rake'
|
|
|
|
######################################################################
|
|
class Rake::TestAnEmptyInvocationChain < Test::Unit::TestCase
|
|
|
|
def setup
|
|
@empty = Rake::InvocationChain::EMPTY
|
|
end
|
|
|
|
def test_should_be_able_to_add_members
|
|
assert_nothing_raised do
|
|
@empty.append("A")
|
|
end
|
|
end
|
|
|
|
def test_to_s
|
|
assert_equal "TOP", @empty.to_s
|
|
end
|
|
end
|
|
|
|
######################################################################
|
|
class Rake::TestAnInvocationChainWithOneMember < Test::Unit::TestCase
|
|
|
|
def setup
|
|
@empty = Rake::InvocationChain::EMPTY
|
|
@first_member = "A"
|
|
@chain = @empty.append(@first_member)
|
|
end
|
|
|
|
def test_should_report_first_member_as_a_member
|
|
assert @chain.member?(@first_member)
|
|
end
|
|
|
|
def test_should_fail_when_adding_original_member
|
|
ex = assert_raise RuntimeError do
|
|
@chain.append(@first_member)
|
|
end
|
|
assert_match(/circular +dependency/i, ex.message)
|
|
assert_match(/A.*=>.*A/, ex.message)
|
|
end
|
|
|
|
def test_to_s
|
|
assert_equal "TOP => A", @chain.to_s
|
|
end
|
|
|
|
end
|
|
|
|
######################################################################
|
|
class Rake::TestAnInvocationChainWithMultipleMember < Test::Unit::TestCase
|
|
|
|
def setup
|
|
@first_member = "A"
|
|
@second_member = "B"
|
|
ch = Rake::InvocationChain::EMPTY.append(@first_member)
|
|
@chain = ch.append(@second_member)
|
|
end
|
|
|
|
def test_should_report_first_member_as_a_member
|
|
assert @chain.member?(@first_member)
|
|
end
|
|
|
|
def test_should_report_second_member_as_a_member
|
|
assert @chain.member?(@second_member)
|
|
end
|
|
|
|
def test_should_fail_when_adding_original_member
|
|
ex = assert_raise RuntimeError do
|
|
@chain.append(@first_member)
|
|
end
|
|
assert_match(/A.*=>.*B.*=>.*A/, ex.message)
|
|
end
|
|
end
|
|
|
|
|