Change soft-fail to use the config, rather than env
[rbx.git] / lib / test / unit / assertions.rb
blobb8dfd2dcaaac767bf757bf6ca1e6b3238c2058f9
1 require 'mini/test'
2 require 'test/unit/deprecate'
4 module Test; end
5 module Test::Unit # patch up bastards that that extend improperly.
6   if defined? Assertions then
7     warn "ARGH! someone defined Test::Unit::Assertions rather than requiring"
8     CRAP_ASSERTIONS = Assertions
9     remove_const :Assertions
11     # this will break on junit and rubinius... *sigh*
12     ObjectSpace.each_object(Module) do |offender|
13       offender.send :include, ::Mini::Assertions if offender < CRAP_ASSERTIONS
14     end rescue nil
16     Test::Unit::TestCase.send :include, CRAP_ASSERTIONS
17   end
19   Assertions = ::Mini::Assertions
21   module Assertions
22     def self.included mod
23       mod.send :include, Test::Unit::CRAP_ASSERTIONS
24     end if defined? Test::Unit::CRAP_ASSERTIONS
25   end
26 end
28 module Test::Unit
29   module Assertions # deprecations
30     tu_deprecate :assert_nothing_thrown, :assert_nothing_raised # 2009-06-01
31     tu_deprecate :assert_raise,          :assert_raises         # 2010-06-01
32     tu_deprecate :assert_not_equal,      :refute_equal          # 2009-06-01
33     tu_deprecate :assert_no_match,       :refute_match          # 2009-06-01
34     tu_deprecate :assert_not_nil,        :refute_nil            # 2009-06-01
35     tu_deprecate :assert_not_same,       :refute_same           # 2009-06-01
37     def assert_nothing_raised _ = :ignored                      # 2009-06-01
38       self.class.tu_deprecation_warning :assert_nothing_raised
39       self._assertions += 1
40       yield
41     rescue => e
42       raise Mini::Assertion, exception_details(e, "Exception raised:")
43     end
45     def build_message(user_message, template_message, *args)    # 2009-06-01
46       self.class.tu_deprecation_warning :build_message
47       user_message ||= ''
48       user_message += ' ' unless user_message.empty?
49       msg = template_message.split(/<\?>/).zip(args.map { |o| o.inspect })
50       user_message + msg.join
51     end
52   end
53 end