Bug #7348 » flonum_marshal_dump.patch
marshal.c | ||
---|---|---|
w_symbol(SYM2ID(obj), arg);
|
||
}
|
||
else if (FLONUM_P(obj)) {
|
||
st_add_direct(arg->data, obj, arg->data->num_entries);
|
||
w_byte(TYPE_FLOAT, arg);
|
||
w_float(RFLOAT_VALUE(obj), arg);
|
||
}
|
test/ruby/test_marshal.rb | ||
---|---|---|
assert_equal(Rational(1, 2), Marshal.load("\x04\bU:\rRational[\ai\x06i\a"))
|
||
assert_raise(ArgumentError){Marshal.load("\x04\bU:\rRational[\bi\x00i\x00i\x00")}
|
||
end
|
||
def test_marshal_flonum_reference
|
||
bug7348 = '[ruby-core:49323]'
|
||
e = []
|
||
ary = [ [2.0, e], [e] ]
|
||
assert_equal(ary, Marshal.load(Marshal.dump(ary)), bug7348)
|
||
end
|
||
end
|
- « Previous
- 1
- 2
- Next »