require "pathname" # Load stuff. [ "lib/**/*.rb", ].each do |fmask| Dir["./#{fmask}"].each do |fn| ##puts "-- req '#{fn}'" require fn end end # TODO: When this becomes a gem, use gem instead of direct copy. module RSpec module PrintOnFailure module Helpers # Output message before the failed tests in block. Useful when input and expected data # are defined as collections. # # sets = [ # ["hello", "HELLO"], # ["123", "456"], # ] # # sets.each do |input, expected| # print_on_failure("-- input:'#{input}'") do # input.upcase.should == expected # end # end def print_on_failure(message, &block) begin yield rescue Exception # Catch just everything, report and then re-run. The test may fail due to an exception, not necessarily unmatched expectation. puts message yield end end end end end begin # 2.x. RSpec.configure do |config| config.include ::RSpec::PrintOnFailure::Helpers end rescue NameError # 1.3. Spec::Runner.configure do |config| config.include ::RSpec::PrintOnFailure::Helpers end end