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

Version Path
psych-2.0.17-java test/psych/test_object_references.rb
psych-2.0.17 test/psych/test_object_references.rb
psych-2.0.16-java test/psych/test_object_references.rb
psych-2.0.16 test/psych/test_object_references.rb
psych-2.0.15-java test/psych/test_object_references.rb
psych-2.0.15 test/psych/test_object_references.rb
psych-2.0.14-java test/psych/test_object_references.rb
psych-2.0.14 test/psych/test_object_references.rb
psych-shopifork-2.0.13 test/psych/test_object_references.rb
psych-2.0.14.pre1-java test/psych/test_object_references.rb
psych-2.0.13 test/psych/test_object_references.rb
psych-2.0.12 test/psych/test_object_references.rb
psych-2.0.11 test/psych/test_object_references.rb
psych-2.0.10 test/psych/test_object_references.rb
psych-2.0.9 test/psych/test_object_references.rb
psych-2.0.8 test/psych/test_object_references.rb
psych-2.0.7 test/psych/test_object_references.rb
psych-2.0.6 test/psych/test_object_references.rb
psych-shopifork-2.0.5 test/psych/test_object_references.rb
psych-2.0.5 test/psych/test_object_references.rb