/vendor/jruby-1.1.6RC1/lib/ruby/gems/1.8/gems/rake-0.8.3/test/test_invocation_chain.rb
Ruby | 75 lines | 55 code | 16 blank | 4 comment | 0 complexity | a0436bc8108c2e0758980b3edda2930d MD5 | raw file
Possible License(s): CPL-1.0, AGPL-1.0, LGPL-2.1, JSON
- #!/usr/bin/env ruby
- require 'test/unit'
- require 'rake'
- ######################################################################
- class 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 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 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