diff options
author | Tyler Brock <tyler.brock@gmail.com> | 2014-06-19 14:38:00 -0400 |
---|---|---|
committer | Tyler Brock <tyler.brock@gmail.com> | 2014-06-25 15:01:59 -0400 |
commit | cdd1172ad392b8c2321e4e140b020edf8c97b7c9 (patch) | |
tree | f4588ef7f130a7ca28161154b1aeaae7d0539628 /src/mongo/dbtests | |
parent | 11ea31ab1ac1109af219f7a36fb21dcf7dbbe5da (diff) | |
download | mongo-cdd1172ad392b8c2321e4e140b020edf8c97b7c9.tar.gz |
SERVER-14357: Add support for top level JSON Array
Diffstat (limited to 'src/mongo/dbtests')
-rw-r--r-- | src/mongo/dbtests/jsontests.cpp | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/src/mongo/dbtests/jsontests.cpp b/src/mongo/dbtests/jsontests.cpp index c7aa8eedb8a..607e319a081 100644 --- a/src/mongo/dbtests/jsontests.cpp +++ b/src/mongo/dbtests/jsontests.cpp @@ -578,10 +578,10 @@ namespace JsonTests { virtual ~Base() {} void run() { ASSERT( fromjson( json() ).valid() ); - assertEquals( bson(), fromjson( json() ), "mode: <default>" ); - assertEquals( bson(), fromjson( bson().jsonString( Strict ) ), "mode: strict" ); - assertEquals( bson(), fromjson( bson().jsonString( TenGen ) ), "mode: tengen" ); - assertEquals( bson(), fromjson( bson().jsonString( JS ) ), "mode: js" ); + assertEquals( bson(), fromjson( tojson( bson() ) ), "mode: <default>" ); + assertEquals( bson(), fromjson( tojson( bson(), Strict ) ), "mode: strict" ); + assertEquals( bson(), fromjson( tojson( bson(), TenGen ) ), "mode: tengen" ); + assertEquals( bson(), fromjson( tojson( bson(), JS ) ), "mode: js" ); } protected: virtual BSONObj bson() const = 0; @@ -814,6 +814,27 @@ namespace JsonTests { } }; + class TopLevelArrayEmpty : public Base { + virtual BSONObj bson() const { + return BSONArray(); + } + virtual string json() const { + return "[]"; + } + }; + + class TopLevelArray : public Base { + virtual BSONObj bson() const { + BSONArrayBuilder builder; + builder.append(123); + builder.append("abc"); + return builder.arr(); + } + virtual string json() const { + return "[ 123, \"abc\" ]"; + } + }; + class Array : public Base { virtual BSONObj bson() const { vector< int > arr; @@ -2675,6 +2696,8 @@ namespace JsonTests { add< FromJsonTests::Subobject >(); add< FromJsonTests::DeeplyNestedObject >(); add< FromJsonTests::ArrayEmpty >(); + add< FromJsonTests::TopLevelArrayEmpty >(); + add< FromJsonTests::TopLevelArray >(); add< FromJsonTests::Array >(); add< FromJsonTests::True >(); add< FromJsonTests::False >(); |