44 lines
980 B
Ruby
44 lines
980 B
Ruby
require_relative "helper"
|
|
|
|
class TestRefs < MiniTest::Test
|
|
include Checker
|
|
|
|
def setup
|
|
@hash = {}
|
|
@array =[]
|
|
end
|
|
def fill_some
|
|
@hash[:some] = @array
|
|
@array[1] = :one
|
|
end
|
|
|
|
def test_one_empty
|
|
@out = @array << @hash
|
|
check "- {}"
|
|
end
|
|
def test_two_empty
|
|
@out = @array << @hash
|
|
@out << @hash
|
|
check "- &1 {}
|
|
- ->1"
|
|
end
|
|
def test_bigger
|
|
@out = [ { :one => @array , :two => [{ :three => @array}] } ]
|
|
check "- - :one => &1 []\n - :two => - {:three => ->1}"
|
|
end
|
|
def test_object_ref
|
|
object = ObjectWithAttributes.new
|
|
object.extra = [object]
|
|
@out = [ {:one => object} , object ]
|
|
check "- {:one => ->1}\n- &1 #{OBJECT_STRING}\n :extra [->1]"
|
|
end
|
|
def test_object_ref2
|
|
object = ObjectWithAttributes.new
|
|
object2 = ObjectWithAttributes.new
|
|
object.extra = [object2]
|
|
@out = [ {:one => object} , object2 ]
|
|
check "- - :one => #{OBJECT_STRING}\n :extra [->1]\n- &1 #{OBJECT_STRING}"
|
|
end
|
|
|
|
end
|