struct.c: fix index in message

* struct.c (rb_struct_aref, rb_struct_aset): show the given index,
  not offset index, in the error messages when the offset is out
  of the range.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2015-11-16 05:46:50 +00:00
parent f4fbc7d2a6
commit 9044b126e5
2 changed files with 57 additions and 73 deletions

View file

@ -155,8 +155,8 @@ module TestStruct
klass = @Struct.new(:a)
o = klass.new(1)
assert_equal(1, o[0])
assert_raise(IndexError) { o[-2] }
assert_raise(IndexError) { o[1] }
assert_raise_with_message(IndexError, /offset -2\b/) {o[-2]}
assert_raise_with_message(IndexError, /offset 1\b/) {o[1]}
assert_raise_with_message(NameError, /foo/) {o["foo"]}
assert_raise_with_message(NameError, /foo/) {o[:foo]}
end
@ -166,8 +166,8 @@ module TestStruct
o = klass.new(1)
o[0] = 2
assert_equal(2, o[:a])
assert_raise(IndexError) { o[-2] = 3 }
assert_raise(IndexError) { o[1] = 3 }
assert_raise_with_message(IndexError, /offset -2\b/) {o[-2] = 3}
assert_raise_with_message(IndexError, /offset 1\b/) {o[1] = 3}
assert_raise_with_message(NameError, /foo/) {o["foo"] = 3}
assert_raise_with_message(NameError, /foo/) {o[:foo] = 3}
end