Fixed bug in BSON serializer: was forgetting to include NUL byt in string length.
This commit is contained in:
parent
55f2e8d1b4
commit
4244f56ce6
|
@ -213,7 +213,7 @@ class BSON
|
||||||
end_pos = buf.position
|
end_pos = buf.position
|
||||||
|
|
||||||
# Put the string size in front
|
# Put the string size in front
|
||||||
buf.put_int(end_pos - start_pos - 1, len_pos)
|
buf.put_int(end_pos - start_pos, len_pos)
|
||||||
|
|
||||||
# Go back to where we were
|
# Go back to where we were
|
||||||
buf.position = end_pos
|
buf.position = end_pos
|
||||||
|
|
|
@ -72,9 +72,7 @@ class DBAPITest < Test::Unit::TestCase
|
||||||
assert rows.length >= 1
|
assert rows.length >= 1
|
||||||
row = rows.detect { |r| r['name'] == @coll_full_name }
|
row = rows.detect { |r| r['name'] == @coll_full_name }
|
||||||
assert_not_nil row
|
assert_not_nil row
|
||||||
# FIXME restore this test when Mongo fixes this bug (or we prove I'm doing something wrong)
|
assert_equal @coll.name, row['options']['create']
|
||||||
# Mongo bug: returns string with wrong length, so last byte of value is chopped off.
|
|
||||||
# assert_equal @coll.name, row['options']['create']
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_full_coll_name
|
def test_full_coll_name
|
||||||
|
|
Loading…
Reference in New Issue