diff options
author | Shaun Verch <shaun.verch@10gen.com> | 2013-11-26 16:33:31 -0500 |
---|---|---|
committer | Shaun Verch <shaun.verch@10gen.com> | 2013-12-02 12:52:17 -0500 |
commit | bad97aeec714c895fa23ee90aebbffeacc6d621d (patch) | |
tree | 7a8822e762ec81bbf83a2417c5a7f4448b9d6bec /src/mongo/dbtests/jsontests.cpp | |
parent | 7fd22c5572a53ee0491f4a7bf6d8440be9ea60df (diff) | |
download | mongo-bad97aeec714c895fa23ee90aebbffeacc6d621d.tar.gz |
SERVER-11867 Support numberLong object in strict JSON
Diffstat (limited to 'src/mongo/dbtests/jsontests.cpp')
-rw-r--r-- | src/mongo/dbtests/jsontests.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/mongo/dbtests/jsontests.cpp b/src/mongo/dbtests/jsontests.cpp index 37b8ee46054..4609879ec77 100644 --- a/src/mongo/dbtests/jsontests.cpp +++ b/src/mongo/dbtests/jsontests.cpp @@ -137,6 +137,37 @@ namespace JsonTests { } }; + class NumberLongStrict { + public: + void run() { + BSONObjBuilder b; + b.append("a", 20000LL); + ASSERT_EQUALS("{ \"a\" : { \"$numberLong\" : \"20000\" } }", + b.done().jsonString(Strict)); + } + }; + + // Test a NumberLong that is too big to fit into a 32 bit integer + class NumberLongStrictLarge { + public: + void run() { + BSONObjBuilder b; + b.append("a", 9223372036854775807LL); + ASSERT_EQUALS("{ \"a\" : { \"$numberLong\" : \"9223372036854775807\" } }", + b.done().jsonString(Strict)); + } + }; + + class NumberLongStrictNegative { + public: + void run() { + BSONObjBuilder b; + b.append("a", -20000LL); + ASSERT_EQUALS("{ \"a\" : { \"$numberLong\" : \"-20000\" } }", + b.done().jsonString(Strict)); + } + }; + class SingleBoolMember { public: void run() { @@ -2477,6 +2508,9 @@ namespace JsonTests { add< JsonStringTests::InvalidNumbers >(); add< JsonStringTests::NumberPrecision >(); add< JsonStringTests::NegativeNumber >(); + add< JsonStringTests::NumberLongStrict >(); + add< JsonStringTests::NumberLongStrictLarge >(); + add< JsonStringTests::NumberLongStrictNegative >(); add< JsonStringTests::SingleBoolMember >(); add< JsonStringTests::SingleNullMember >(); add< JsonStringTests::SingleUndefinedMember >(); |