aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/object_and_class_ext_test.rb
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2008-11-19 19:36:42 +0530
committerPratik Naik <pratiknaik@gmail.com>2008-11-19 19:36:42 +0530
commit51730792ca930a896361eb92354a42bc56903de1 (patch)
treeda1992628081de9c2c0f09b64e1d55893d6e2bcd /activesupport/test/core_ext/object_and_class_ext_test.rb
parent51a19ae2bf33e66b23ff5c91bf584b2efa9e669f (diff)
downloadrails-51730792ca930a896361eb92354a42bc56903de1.tar.gz
rails-51730792ca930a896361eb92354a42bc56903de1.tar.bz2
rails-51730792ca930a896361eb92354a42bc56903de1.zip
Added Object#try. ( Taken from http://ozmm.org/posts/try.html ) [Chris Wanstrath]
Diffstat (limited to 'activesupport/test/core_ext/object_and_class_ext_test.rb')
-rw-r--r--activesupport/test/core_ext/object_and_class_ext_test.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/object_and_class_ext_test.rb b/activesupport/test/core_ext/object_and_class_ext_test.rb
index e88dcb52d5..fbdce56ac2 100644
--- a/activesupport/test/core_ext/object_and_class_ext_test.rb
+++ b/activesupport/test/core_ext/object_and_class_ext_test.rb
@@ -247,3 +247,28 @@ class ObjectInstanceVariableTest < Test::Unit::TestCase
[arg] + instance_exec('bar') { |v| [reverse, v] } }
end
end
+
+class ObjectTryTest < Test::Unit::TestCase
+ def setup
+ @string = "Hello"
+ end
+
+ def test_nonexisting_method
+ method = :undefined_method
+ assert !@string.respond_to?(method)
+ assert_nil @string.try(method)
+ end
+
+ def test_valid_method
+ assert_equal 5, @string.try(:size)
+ end
+
+ def test_valid_private_method
+ class << @string
+ private :size
+ end
+
+ assert_equal 5, @string.try(:size)
+ end
+
+end