PageRenderTime 41ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/vendor/jruby-1.1.6RC1/lib/ruby/gems/1.8/gems/rake-0.8.3/test/test_invocation_chain.rb

https://bitbucket.org/nicksieger/advent-jruby
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
  1. #!/usr/bin/env ruby
  2. require 'test/unit'
  3. require 'rake'
  4. ######################################################################
  5. class TestAnEmptyInvocationChain < Test::Unit::TestCase
  6. def setup
  7. @empty = Rake::InvocationChain::EMPTY
  8. end
  9. def test_should_be_able_to_add_members
  10. assert_nothing_raised do
  11. @empty.append("A")
  12. end
  13. end
  14. def test_to_s
  15. assert_equal "TOP", @empty.to_s
  16. end
  17. end
  18. ######################################################################
  19. class TestAnInvocationChainWithOneMember < Test::Unit::TestCase
  20. def setup
  21. @empty = Rake::InvocationChain::EMPTY
  22. @first_member = "A"
  23. @chain = @empty.append(@first_member)
  24. end
  25. def test_should_report_first_member_as_a_member
  26. assert @chain.member?(@first_member)
  27. end
  28. def test_should_fail_when_adding_original_member
  29. ex = assert_raise RuntimeError do
  30. @chain.append(@first_member)
  31. end
  32. assert_match(/circular +dependency/i, ex.message)
  33. assert_match(/A.*=>.*A/, ex.message)
  34. end
  35. def test_to_s
  36. assert_equal "TOP => A", @chain.to_s
  37. end
  38. end
  39. ######################################################################
  40. class TestAnInvocationChainWithMultipleMember < Test::Unit::TestCase
  41. def setup
  42. @first_member = "A"
  43. @second_member = "B"
  44. ch = Rake::InvocationChain::EMPTY.append(@first_member)
  45. @chain = ch.append(@second_member)
  46. end
  47. def test_should_report_first_member_as_a_member
  48. assert @chain.member?(@first_member)
  49. end
  50. def test_should_report_second_member_as_a_member
  51. assert @chain.member?(@second_member)
  52. end
  53. def test_should_fail_when_adding_original_member
  54. ex = assert_raise RuntimeError do
  55. @chain.append(@first_member)
  56. end
  57. assert_match(/A.*=>.*B.*=>.*A/, ex.message)
  58. end
  59. end