aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-12 09:52:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-12 09:52:36 +0000
commit3ac72e471401e03ec66159229067a15fe9a47874 (patch)
treed78e9ee580e2f49bcae9775d43cf2532de244f2c /test/ruby
parentd6a698dd42ee1231db85e2667b185afb32e73c4a (diff)
downloadruby-3ac72e471401e03ec66159229067a15fe9a47874.tar.gz
object.c: raise TypeError
* object.c (rb_obj_dig): raise TypeError if an element does not have #dig method. [ruby-core:71798] [Bug #11762] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_array.rb3
-rw-r--r--test/ruby/test_hash.rb3
2 files changed, 4 insertions, 2 deletions
diff --git a/test/ruby/test_array.rb b/test/ruby/test_array.rb
index 0922cb4c65..d2af339a11 100644
--- a/test/ruby/test_array.rb
+++ b/test/ruby/test_array.rb
@@ -2654,7 +2654,8 @@ class TestArray < Test::Unit::TestCase
def test_dig
h = @cls[@cls[{a: 1}], 0]
assert_equal(1, h.dig(0, 0, :a))
- assert_nil(h.dig(1, 0))
+ assert_nil(h.dig(2, 0))
+ assert_raise(TypeError) {h.dig(1, 0)}
end
private
diff --git a/test/ruby/test_hash.rb b/test/ruby/test_hash.rb
index c08908fa76..01990618fb 100644
--- a/test/ruby/test_hash.rb
+++ b/test/ruby/test_hash.rb
@@ -1305,7 +1305,8 @@ class TestHash < Test::Unit::TestCase
def test_dig
h = @cls[a: @cls[b: [1, 2, 3]], c: 4]
assert_equal(1, h.dig(:a, :b, 0))
- assert_nil(h.dig(:c, 1))
+ assert_nil(h.dig(:b, 1))
+ assert_raise(TypeError) {h.dig(:c, 1)}
o = Object.new
def o.dig(*args)
{dug: args}