summaryrefslogtreecommitdiff
path: root/test/-ext-/marshal/test_internal_ivar.rb
blob: 9359c7f11320c383862743f2a50f9619cfb06394 (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
# 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
      pend "We don't support IVs with ID of 0"
      v = InternalIVar.new("hello", "world", "bye")
      assert_equal("hello", v.normal)
      assert_equal("world", v.internal)
      assert_equal("bye", v.encoding_short)
      dump = assert_warn(/instance variable `E' on class \S+ is not dumped/) {
        ::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)
    end
  end
end