Example #1
0
TEST( JsonParserTest, ParseEmptyJson )
{
    using namespace StevensDev::sgdd;
    using namespace StevensDev::sgdm;

    DefaultAllocator<JsonEntity> def;
    def.get( 1 );

    // global allocator, object with whitespace
    EXPECT_NO_THROW( StackGuard<JsonEntity> guard2(
        nullptr, JsonParser::fromString( "{ }" ) ) );

    // global allocator, array
    EXPECT_NO_THROW( StackGuard<JsonEntity> guard3(
        nullptr,
        JsonParser::fromString( "[]" ) ) );

    // global allocator, array with whitespace
    EXPECT_NO_THROW( StackGuard<JsonEntity> guard4(
        nullptr,
        JsonParser::fromString( "[ ]" ) ) );

    // custom allocator
    EXPECT_NO_THROW( StackGuard<JsonEntity> guard5(
        &def, JsonParser::fromString( "{}", &def ) ) );

    // custom allocator, with whitespace
    EXPECT_NO_THROW( StackGuard<JsonEntity> guard6(
        &def, JsonParser::fromString( "{ }", &def ) ) );
}