Sha256: 8aa31dd1b5c4c6c645b7efe9d83008f82333f7c5f72acd0b4c94f4023db102b2
Contents?: true
Size: 1.54 KB
Versions: 23
Compression:
Stored size: 1.54 KB
Contents
require_relative 'helper' module Psych class TestObjectReferences < TestCase def test_range_has_references assert_reference_trip 1..2 end def test_module_has_references assert_reference_trip Psych end def test_class_has_references assert_reference_trip TestObjectReferences end def test_rational_has_references assert_reference_trip Rational('1.2') end def test_complex_has_references assert_reference_trip Complex(1, 2) end def test_datetime_has_references assert_reference_trip DateTime.now end def test_struct_has_references assert_reference_trip Struct.new(:foo).new(1) end def assert_reference_trip obj yml = Psych.dump([obj, obj]) assert_match(/\*-?\d+/, yml) data = Psych.load yml assert_equal data.first.object_id, data.last.object_id end def test_float_references data = Psych.load <<-eoyml ---\s - &name 1.2 - *name eoyml assert_equal data.first, data.last assert_equal data.first.object_id, data.last.object_id end def test_binary_references data = Psych.load <<-eoyml --- - &name !binary |- aGVsbG8gd29ybGQh - *name eoyml assert_equal data.first, data.last assert_equal data.first.object_id, data.last.object_id end def test_regexp_references data = Psych.load <<-eoyml ---\s - &name !ruby/regexp /pattern/i - *name eoyml assert_equal data.first, data.last assert_equal data.first.object_id, data.last.object_id end end end
Version data entries
23 entries across 23 versions & 2 rubygems