blob: 8b4667fdf90aabcce1bcc620d4cf502ca5269576 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# frozen_string_literal: false
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", "bye", "hi")
assert_equal("hello", v.normal)
assert_equal("world", v.internal)
assert_equal("bye", v.encoding_short)
assert_equal("hi", v.encoding_long)
warnings = ->(s) {
w = s.scan(/instance variable '(.+?)' on class \S+ is not dumped/)
assert_equal(%w[E K encoding], w.flatten.sort)
}
dump = assert_warn(warnings) {
::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)
assert_nil(v.encoding_short)
assert_nil(v.encoding_long)
end
end
end
|