diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2008-11-19 19:36:42 +0530 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2008-11-19 19:36:42 +0530 |
commit | 51730792ca930a896361eb92354a42bc56903de1 (patch) | |
tree | da1992628081de9c2c0f09b64e1d55893d6e2bcd /activesupport/test | |
parent | 51a19ae2bf33e66b23ff5c91bf584b2efa9e669f (diff) | |
download | rails-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')
-rw-r--r-- | activesupport/test/core_ext/object_and_class_ext_test.rb | 25 |
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 |