diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-06 09:56:04 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-06 09:56:04 +0000 |
commit | f4cda1e55b70d759d12f703fcc3ad8b749f6c220 (patch) | |
tree | 19c9b61f54aa8a6796316e8c0352304838a319ad | |
parent | a872bd3d1485cec5589ff1e3b875c153b6faa377 (diff) |
merge revision(s) 33251,33259,33424:
* lib/test/unit/assertions.rb (assert_send): make arguments in
the default message clearer.
* lib/test/unit/assertions.rb (assert_send, assert_not_send):
parenthesize non-empty arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | lib/test/unit/assertions.rb | 52 | ||||
-rw-r--r-- | version.h | 2 |
3 files changed, 63 insertions, 1 deletions
@@ -1,3 +1,13 @@ +Tue Mar 6 18:55:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/test/unit/assertions.rb (assert_send, assert_not_send): + parenthesize non-empty arguments. + +Tue Mar 6 18:55:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/test/unit/assertions.rb (assert_send): make arguments in + the default message clearer. + Tue Mar 6 12:48:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> * ext/io/console/console.c (set_rawmode): clear ECHOE and ECHOK diff --git a/lib/test/unit/assertions.rb b/lib/test/unit/assertions.rb index 695a5ef3ca..39a3c85600 100644 --- a/lib/test/unit/assertions.rb +++ b/lib/test/unit/assertions.rb @@ -255,6 +255,58 @@ EOT super if !caller[0].rindex(MINI_DIR, 0) || !obj.respond_to?(meth) end + # :call-seq: + # assert_send( +send_array+, failure_message = nil ) + # + # Passes if the method send returns a true value. + # + # +send_array+ is composed of: + # * A receiver + # * A method + # * Arguments to the method + # + # Example: + # assert_send([[1, 2], :member?, 1]) # -> pass + # assert_send([[1, 2], :member?, 4]) # -> fail + def assert_send send_ary, m = nil + recv, msg, *args = send_ary + m = message(m) { + if args.empty? + argsstr = "" + else + (argsstr = mu_pp(args)).sub!(/\A\[(.*)\]\z/m, '(\1)') + end + "Expected #{mu_pp(recv)}.#{msg}#{argsstr} to return true" + } + assert recv.__send__(msg, *args), m + end + + # :call-seq: + # assert_not_send( +send_array+, failure_message = nil ) + # + # Passes if the method send doesn't return a true value. + # + # +send_array+ is composed of: + # * A receiver + # * A method + # * Arguments to the method + # + # Example: + # assert_not_send([[1, 2], :member?, 1]) # -> fail + # assert_not_send([[1, 2], :member?, 4]) # -> pass + def assert_not_send send_ary, m = nil + recv, msg, *args = send_ary + m = message(m) { + if args.empty? + argsstr = "" + else + (argsstr = mu_pp(args)).sub!(/\A\[(.*)\]\z/m, '(\1)') + end + "Expected #{mu_pp(recv)}.#{msg}#{argsstr} to return false" + } + assert !recv.__send__(msg, *args), m + end + ms = instance_methods(true).map {|sym| sym.to_s } ms.grep(/\Arefute_/) do |m| mname = ('assert_not_' << m.to_s[/.*?_(.*)/, 1]) @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.3" -#define RUBY_PATCHLEVEL 162 +#define RUBY_PATCHLEVEL 163 #define RUBY_RELEASE_DATE "2012-03-06" #define RUBY_RELEASE_YEAR 2012 |