summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-09-07 23:06:33 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-09-07 23:06:33 +0000
commit5f58bce7af80f6fceb87d9fb8a80490b596ab405 (patch)
tree2895969e47a3d6ba2be78302fd8e01f2b628b8e6
parent0561efb05a20bf37a6ba9d9ce7f26c3040c6750b (diff)
downloadruby-5f58bce7af80f6fceb87d9fb8a80490b596ab405.tar.gz
ruby-5f58bce7af80f6fceb87d9fb8a80490b596ab405.tar.xz
ruby-5f58bce7af80f6fceb87d9fb8a80490b596ab405.zip
add test for [ruby-dev:31759].
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--test/ruby/test_marshal.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/test/ruby/test_marshal.rb b/test/ruby/test_marshal.rb
index 91a387dd4..d438ef4d8 100644
--- a/test/ruby/test_marshal.rb
+++ b/test/ruby/test_marshal.rb
@@ -38,10 +38,18 @@ class TestMarshal < Test::Unit::TestCase
end
def test_inconsistent_struct
- TestMarshal.const_set :S, Struct.new(:a)
- s = Marshal.dump(S.new(1))
- TestMarshal.instance_eval { remove_const :S }
- TestMarshal.const_set :S, Class.new
+ TestMarshal.const_set :StructOrNot, Struct.new(:a)
+ s = Marshal.dump(StructOrNot.new(1))
+ TestMarshal.instance_eval { remove_const :StructOrNot }
+ TestMarshal.const_set :StructOrNot, Class.new
assert_raise(TypeError, "[ruby-dev:31709]") { Marshal.load(s) }
end
+
+ def test_struct_invalid_members
+ TestMarshal.const_set :StructInvalidMembers, Struct.new(:a)
+ Marshal.load("\004\bIc&TestMarshal::StructInvalidMembers\006:\020__members__\"\bfoo")
+ assert_raise(TypeError, "[ruby-dev:31759]") {
+ TestMarshal::StructInvalidMembers.members
+ }
+ end
end