summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-03-06 09:56:04 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-03-06 09:56:04 +0000
commitf4cda1e55b70d759d12f703fcc3ad8b749f6c220 (patch)
tree19c9b61f54aa8a6796316e8c0352304838a319ad
parenta872bd3d1485cec5589ff1e3b875c153b6faa377 (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--ChangeLog10
-rw-r--r--lib/test/unit/assertions.rb52
-rw-r--r--version.h2
3 files changed, 63 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ef9c0af168..a243b3de6f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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])
diff --git a/version.h b/version.h
index ae3b7721e0..f222105f8d 100644
--- a/version.h
+++ b/version.h
@@ -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