Sha256: 8671999dd016cf963021b51e88f9c9e04d2ab48f20eb15db7ee7049a7ebf876c

Contents?: true

Size: 561 Bytes

Versions: 3

Compression:

Stored size: 561 Bytes

Contents

class ArrayWithTeardownSuiteCallback < Array
  
  def each
    super do |suite| 
      yield suite
      suite.teardown_suite_blocks.each(&:call) if suite.teardown_suite_blocks
    end
  end
end

class MiniTest::Unit::TestCase
   
  class_inheritable_accessor :teardown_suite_blocks

  class << self
    alias_method :test_suites_without_teardown, :test_suites

    def test_suites
      ArrayWithTeardownSuiteCallback.new(test_suites_without_teardown)
    end

    def teardown_suite(&block)
      (self.teardown_suite_blocks ||= []) << block
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fixture_background-0.9.9 lib/fixture_background/mini_test/test_case.rb
fixture_background-0.9.8 lib/fixture_background/mini_test/test_case.rb
fixture_background-0.9.7 lib/mini_test/test_case.rb