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
|
require 'test/minirunit'
class InspectInner
def initialize(); @a = 1; end
end
class InspectOuter
def initialize(foo); @b = foo; end
end
IRE = /(#<([^:]+):\S+(?:\s@([^=]+)=([^#\s>]+))*>)/
def test_inspect_meat(inspect_string, *expected)
match = IRE.match(inspect_string)
test_equal(expected[0], match[2])
test_equal(expected[1], match[3])
test_equal(expected[2], match[4])
end
b = InspectOuter.new(InspectInner.new)
outer = b.inspect
outer.sub!(IRE, '___')
inner = $1
test_inspect_meat(outer, "InspectOuter", "b", "___")
test_inspect_meat(inner, "InspectInner", "a", "1")
|