Sha256: 33d2325fda03b7055217d1a18ab651d43f4acd251a290781252bbd4d7ee79cd2

Contents?: true

Size: 1.84 KB

Versions: 102

Compression:

Stored size: 1.84 KB

Contents

#!/usr/bin/env ruby

require 'test/unit'
require 'rake'
require 'test/rake_test_setup'

######################################################################
class TestAnEmptyInvocationChain < Test::Unit::TestCase
  include TestMethods

  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
  include TestMethods

  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_exception 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
  include TestMethods

  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_exception RuntimeError do
      @chain.append(@first_member)
    end
    assert_match(/A.*=>.*B.*=>.*A/, ex.message)
  end
end


Version data entries

102 entries across 74 versions & 9 rubygems

Version Path
craigmarksmith-rake-0.8.3.100 test/test_invocation_chain.rb
craigmarksmith-rake-0.8.4.101 test/test_invocation_chain.rb
craigmarksmith-rake-0.8.4.102 test/test_invocation_chain.rb
craigmarksmith-rake-0.8.4.103 test/test_invocation_chain.rb
jimweirich-rake-0.8.3.100 test/test_invocation_chain.rb
jimweirich-rake-0.8.3.99 test/test_invocation_chain.rb
jimweirich-rake-0.8.4.99 test/test_invocation_chain.rb
jimweirich-rake-0.8.5 test/test_invocation_chain.rb
luislavena-rake-0.8.3.99 test/test_invocation_chain.rb
dirty_history-0.7.3 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/test_invocation_chain.rb
dirty_history-0.7.2 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/test_invocation_chain.rb
dirty_history-0.7.1 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/test_invocation_chain.rb
dirty_history-0.7.0 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/test_invocation_chain.rb
dirty_history-0.6.7 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/test_invocation_chain.rb
dirty_history-0.6.6 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/test_invocation_chain.rb
dirty_history-0.6.5 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/test_invocation_chain.rb
dirty_history-0.6.4 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/test_invocation_chain.rb
dirty_history-0.6.3 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/test_invocation_chain.rb
dirty_history-0.6.2 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/test_invocation_chain.rb
dirty_history-0.6.1 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/test_invocation_chain.rb