diff options
author | aligus <aligus@yandex-team.ru> | 2022-02-10 16:49:24 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:49:24 +0300 |
commit | c2bb7445128368226bd179d54d6a238c9fd3065e (patch) | |
tree | 5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/json/ut | |
parent | 3f79772915172a9f5407c1a815806a8c8ba67c60 (diff) | |
download | ydb-c2bb7445128368226bd179d54d6a238c9fd3065e.tar.gz |
Restoring authorship annotation for <aligus@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/json/ut')
-rw-r--r-- | library/cpp/json/ut/json_reader_ut.cpp | 190 | ||||
-rw-r--r-- | library/cpp/json/ut/json_writer_ut.cpp | 30 |
2 files changed, 110 insertions, 110 deletions
diff --git a/library/cpp/json/ut/json_reader_ut.cpp b/library/cpp/json/ut/json_reader_ut.cpp index 5868bc6427..cd31afa0b8 100644 --- a/library/cpp/json/ut/json_reader_ut.cpp +++ b/library/cpp/json/ut/json_reader_ut.cpp @@ -1,101 +1,101 @@ #include <library/cpp/json/json_reader.h> #include <library/cpp/json/json_writer.h> - + #include <library/cpp/testing/unittest/registar.h> -#include <util/stream/str.h> - -using namespace NJson; - -class TReformatCallbacks: public TJsonCallbacks { +#include <util/stream/str.h> + +using namespace NJson; + +class TReformatCallbacks: public TJsonCallbacks { TJsonWriter& Writer; -public: +public: TReformatCallbacks(TJsonWriter& writer) : Writer(writer) { - } - + } + bool OnBoolean(bool val) override { - Writer.Write(val); - return true; - } - + Writer.Write(val); + return true; + } + bool OnInteger(long long val) override { - Writer.Write(val); - return true; - } - + Writer.Write(val); + return true; + } + bool OnUInteger(unsigned long long val) override { Writer.Write(val); return true; } bool OnString(const TStringBuf& val) override { - Writer.Write(val); - return true; - } - + Writer.Write(val); + return true; + } + bool OnDouble(double val) override { - Writer.Write(val); - return true; - } - + Writer.Write(val); + return true; + } + bool OnOpenArray() override { - Writer.OpenArray(); - return true; - } - + Writer.OpenArray(); + return true; + } + bool OnCloseArray() override { - Writer.CloseArray(); - return true; - } - + Writer.CloseArray(); + return true; + } + bool OnOpenMap() override { - Writer.OpenArray(); - return true; - } - + Writer.OpenArray(); + return true; + } + bool OnCloseMap() override { - Writer.CloseArray(); - return true; - } - + Writer.CloseArray(); + return true; + } + bool OnMapKey(const TStringBuf& val) override { - Writer.Write(val); - return true; - } -}; - + Writer.Write(val); + return true; + } +}; + Y_UNIT_TEST_SUITE(TJsonReaderTest) { Y_UNIT_TEST(JsonReformatTest) { TString data = "{\"null value\": null, \"intkey\": 10, \"double key\": 11.11, \"string key\": \"string\", \"array\": [1,2,3,\"TString\"], \"bool key\": true}"; - + TString result1, result2; - { - TStringStream in; - in << data; - TStringStream out; - TJsonWriter writer(&out, false); - TReformatCallbacks cb(writer); - ReadJson(&in, &cb); - writer.Flush(); - result1 = out.Str(); - } - - { - TStringStream in; - in << result1; - TStringStream out; - TJsonWriter writer(&out, false); - TReformatCallbacks cb(writer); - ReadJson(&in, &cb); - writer.Flush(); + { + TStringStream in; + in << data; + TStringStream out; + TJsonWriter writer(&out, false); + TReformatCallbacks cb(writer); + ReadJson(&in, &cb); + writer.Flush(); + result1 = out.Str(); + } + + { + TStringStream in; + in << result1; + TStringStream out; + TJsonWriter writer(&out, false); + TReformatCallbacks cb(writer); + ReadJson(&in, &cb); + writer.Flush(); result2 = out.Str(); - } - - UNIT_ASSERT_VALUES_EQUAL(result1, result2); - } - + } + + UNIT_ASSERT_VALUES_EQUAL(result1, result2); + } + Y_UNIT_TEST(TJsonEscapedApostrophe) { TString jsonString = "{ \"foo\" : \"bar\\'buzz\" }"; { @@ -121,22 +121,22 @@ Y_UNIT_TEST_SUITE(TJsonReaderTest) { Y_UNIT_TEST(TJsonTreeTest) { TString data = "{\"intkey\": 10, \"double key\": 11.11, \"null value\":null, \"string key\": \"string\", \"array\": [1,2,3,\"TString\"], \"bool key\": true}"; - TStringStream in; - in << data; - TJsonValue value; - ReadJsonTree(&in, &value); - + TStringStream in; + in << data; + TJsonValue value; + ReadJsonTree(&in, &value); + UNIT_ASSERT_VALUES_EQUAL(value["intkey"].GetInteger(), 10); - UNIT_ASSERT_DOUBLES_EQUAL(value["double key"].GetDouble(), 11.11, 0.001); - UNIT_ASSERT_VALUES_EQUAL(value["bool key"].GetBoolean(), true); + UNIT_ASSERT_DOUBLES_EQUAL(value["double key"].GetDouble(), 11.11, 0.001); + UNIT_ASSERT_VALUES_EQUAL(value["bool key"].GetBoolean(), true); UNIT_ASSERT_VALUES_EQUAL(value["absent string key"].GetString(), TString("")); UNIT_ASSERT_VALUES_EQUAL(value["string key"].GetString(), TString("string")); - UNIT_ASSERT_VALUES_EQUAL(value["array"][0].GetInteger(), 1); - UNIT_ASSERT_VALUES_EQUAL(value["array"][1].GetInteger(), 2); - UNIT_ASSERT_VALUES_EQUAL(value["array"][2].GetInteger(), 3); + UNIT_ASSERT_VALUES_EQUAL(value["array"][0].GetInteger(), 1); + UNIT_ASSERT_VALUES_EQUAL(value["array"][1].GetInteger(), 2); + UNIT_ASSERT_VALUES_EQUAL(value["array"][2].GetInteger(), 3); UNIT_ASSERT_VALUES_EQUAL(value["array"][3].GetString(), TString("TString")); UNIT_ASSERT(value["null value"].IsNull()); - + // AsString UNIT_ASSERT_VALUES_EQUAL(value["intkey"].GetStringRobust(), "10"); UNIT_ASSERT_VALUES_EQUAL(value["double key"].GetStringRobust(), "11.11"); @@ -149,22 +149,22 @@ Y_UNIT_TEST_SUITE(TJsonReaderTest) { UNIT_ASSERT(GetArrayPointer(value, "array", &array)); UNIT_ASSERT_VALUES_EQUAL(value["array"].GetArray().size(), array->size()); UNIT_ASSERT_VALUES_EQUAL(value["array"][0].GetInteger(), (*array)[0].GetInteger()); - UNIT_ASSERT_VALUES_EQUAL(value["array"][1].GetInteger(), (*array)[1].GetInteger()); - UNIT_ASSERT_VALUES_EQUAL(value["array"][2].GetInteger(), (*array)[2].GetInteger()); + UNIT_ASSERT_VALUES_EQUAL(value["array"][1].GetInteger(), (*array)[1].GetInteger()); + UNIT_ASSERT_VALUES_EQUAL(value["array"][2].GetInteger(), (*array)[2].GetInteger()); UNIT_ASSERT_VALUES_EQUAL(value["array"][3].GetString(), (*array)[3].GetString()); - } - + } + Y_UNIT_TEST(TJsonRomaTest) { TString data = "{\"test\": [ {\"name\": \"A\"} ]}"; - - TStringStream in; - in << data; - TJsonValue value; - ReadJsonTree(&in, &value); - + + TStringStream in; + in << data; + TJsonValue value; + ReadJsonTree(&in, &value); + UNIT_ASSERT_VALUES_EQUAL(value["test"][0]["name"].GetString(), TString("A")); - } - + } + Y_UNIT_TEST(TJsonReadTreeWithComments) { { TString leadingCommentData = "{ // \"test\" : 1 \n}"; @@ -396,7 +396,7 @@ Y_UNIT_TEST_SUITE(TJsonReaderTest) { UNIT_ASSERT(v.GetMap().begin()->second.IsString()); UNIT_ASSERT_VALUES_EQUAL("", v.GetMap().begin()->second.GetString()); } -} +} static const TString YANDEX_STREAMING_JSON("{\"a\":1}//d{\"b\":2}"); diff --git a/library/cpp/json/ut/json_writer_ut.cpp b/library/cpp/json/ut/json_writer_ut.cpp index cee42780ff..ca11d34dad 100644 --- a/library/cpp/json/ut/json_writer_ut.cpp +++ b/library/cpp/json/ut/json_writer_ut.cpp @@ -1,46 +1,46 @@ #include <library/cpp/json/json_writer.h> #include <library/cpp/testing/unittest/registar.h> - -#include <util/stream/str.h> - -using namespace NJson; - + +#include <util/stream/str.h> + +using namespace NJson; + Y_UNIT_TEST_SUITE(TJsonWriterTest) { Y_UNIT_TEST(SimpleWriteTest) { TString expected1 = "{\"key1\":1,\"key2\":2,\"key3\":3"; TString expected2 = expected1 + ",\"array\":[\"stroka\",false]"; TString expected3 = expected2 + "}"; - + TStringStream out; - + TJsonWriter json(&out, false); json.OpenMap(); json.Write("key1", (ui16)1); json.WriteKey("key2"); json.Write((i32)2); json.Write("key3", (ui64)3); - + UNIT_ASSERT(out.Empty()); json.Flush(); UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected1); - + json.Write("array"); json.OpenArray(); json.Write("stroka"); json.Write(false); json.CloseArray(); - + UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected1); json.Flush(); UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected2); - + json.CloseMap(); - + UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected2); json.Flush(); UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected3); } - + Y_UNIT_TEST(SimpleWriteValueTest) { TString expected = "{\"key1\":null,\"key2\":{\"subkey1\":[1,{\"subsubkey\":\"test2\"},null,true],\"subkey2\":\"test\"}}"; TJsonValue v; @@ -53,7 +53,7 @@ Y_UNIT_TEST_SUITE(TJsonWriterTest) { TStringStream out; WriteJson(&out, &v); UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected); - } + } Y_UNIT_TEST(FormatOutput) { TString expected = "{\n \"key1\":null,\n \"key2\":\n {\n \"subkey1\":\n [\n 1,\n {\n \"subsubkey\":\"test2\"\n },\n null,\n true\n ],\n \"subkey2\":\"test\"\n }\n}"; @@ -225,4 +225,4 @@ Y_UNIT_TEST_SUITE(TJsonWriterTest) { UNIT_ASSERT_VALUES_EQUAL(actual, expected); } } -} +} |