summaryrefslogtreecommitdiff
path: root/test/-ext-/marshal
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-08 05:20:41 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-08 05:20:41 +0000
commit1fadd438811426523a79ccea93a45f0a202a50f6 (patch)
tree4b6ed75880270e5280b4f051d96945f48ea20e35 /test/-ext-/marshal
parent95184065445e2888a624911214db67fe3695ec85 (diff)
marshal.c: skip internal names
* marshal.c (w_objivar): skip internal instance variables in T_OBJECT too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/-ext-/marshal')
-rw-r--r--test/-ext-/marshal/test_internal_ivar.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/-ext-/marshal/test_internal_ivar.rb b/test/-ext-/marshal/test_internal_ivar.rb
new file mode 100644
index 0000000000..e0e2a72f54
--- /dev/null
+++ b/test/-ext-/marshal/test_internal_ivar.rb
@@ -0,0 +1,19 @@
+require 'test/unit'
+require '-test-/marshal/internal_ivar'
+
+module Bug end
+
+module Bug::Marshal
+ class TestInternalIVar < Test::Unit::TestCase
+ def test_marshal
+ v = InternalIVar.new("hello", "world")
+ assert_equal("hello", v.normal)
+ assert_equal("world", v.internal)
+ dump = ::Marshal.dump(v)
+ v = assert_nothing_raised {break ::Marshal.load(dump)}
+ assert_instance_of(InternalIVar, v)
+ assert_equal("hello", v.normal)
+ assert_nil(v.internal)
+ end
+ end
+end