diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/-ext-/symbol/test_inadvertent_creation.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/-ext-/symbol/test_inadvertent_creation.rb b/test/-ext-/symbol/test_inadvertent_creation.rb index 4b9ab1062d..dde4cafffd 100644 --- a/test/-ext-/symbol/test_inadvertent_creation.rb +++ b/test/-ext-/symbol/test_inadvertent_creation.rb @@ -214,5 +214,25 @@ module Test_Symbol assert_raise(NameError) {obj.instance_variable_set(name, true)} assert_not_send([Bug::Symbol, :interned?, name]) end + + def test_struct_new + name = noninterned_name + assert_raise(NameError) {Struct.new(name)} + assert_not_send([Bug::Symbol, :interned?, name]) + end + + def test_struct_aref + s = Struct.new(:foo).new + name = noninterned_name + assert_raise(NameError) {s[name]} + assert_not_send([Bug::Symbol, :interned?, name]) + end + + def test_struct_aset + s = Struct.new(:foo).new + name = noninterned_name + assert_raise(NameError) {s[name] = true} + assert_not_send([Bug::Symbol, :interned?, name]) + end end end |