Browse Source

Restoring authorship annotation for <familom@yandex-team.ru>. Commit 1 of 2.

familom 3 years ago
parent
commit
f281aaf771

+ 6 - 6
library/cpp/http/fetch/httpheader.cpp

@@ -1,7 +1,7 @@
-#include "httpheader.h"
-
+#include "httpheader.h" 
+ 
 const i64 DEFAULT_RETRY_AFTER = -1;
-const i64 DEFAULT_IF_MODIFIED_SINCE = -1;
-const i32 DEFAULT_MAX_AGE = -1;
-const i8 DEFAULT_REQUEST_PRIORITY = -1;
-const i32 DEFAULT_RESPONSE_TIMEOUT = -1;
+const i64 DEFAULT_IF_MODIFIED_SINCE = -1; 
+const i32 DEFAULT_MAX_AGE = -1; 
+const i8 DEFAULT_REQUEST_PRIORITY = -1; 
+const i32 DEFAULT_RESPONSE_TIMEOUT = -1; 

+ 2 - 2
library/cpp/http/fetch/httpheader.h

@@ -4,7 +4,7 @@
 
 #include <library/cpp/mime/types/mime.h>
 
-#include <util/system/defaults.h>
+#include <util/system/defaults.h> 
 #include <util/system/compat.h>
 #include <util/generic/string.h>
 #include <util/generic/ylimits.h>
@@ -20,7 +20,7 @@
 #define FETCHER_URL_MAX 8192
 
 extern const i64 DEFAULT_RETRY_AFTER;       /// == -1
-extern const i64 DEFAULT_IF_MODIFIED_SINCE; /// == -1
+extern const i64 DEFAULT_IF_MODIFIED_SINCE; /// == -1 
 extern const i32 DEFAULT_MAX_AGE;           /// == -1
 extern const i8 DEFAULT_REQUEST_PRIORITY;   /// == -1
 extern const i32 DEFAULT_RESPONSE_TIMEOUT;  /// == -1

+ 1 - 1
library/cpp/http/fetch/ya.make

@@ -17,7 +17,7 @@ PEERDIR(
 SRCS(
     http_digest.cpp
     http_socket.cpp
-    httpheader.cpp
+    httpheader.cpp 
     httpload.cpp
     exthttpcodes.cpp
     httpfsm.rl6

+ 7 - 7
library/cpp/json/json_reader.cpp

@@ -1,5 +1,5 @@
-#include "json_reader.h"
-
+#include "json_reader.h" 
+ 
 #include "rapidjson_helpers.h"
 
 #include <contrib/libs/rapidjson/include/rapidjson/error/en.h>
@@ -8,7 +8,7 @@
 
 #include <util/generic/stack.h>
 #include <util/string/cast.h>
-#include <util/system/yassert.h>
+#include <util/system/yassert.h> 
 #include <util/string/builder.h>
 
 namespace NJson {
@@ -94,7 +94,7 @@ namespace NJson {
     bool TParserCallbacks::OnString(const TStringBuf& val) {
         return SetValue(val);
     }
-
+ 
     bool TParserCallbacks::OnDouble(double val) {
         return SetValue(val);
     }
@@ -148,7 +148,7 @@ namespace NJson {
     void TJsonReaderConfig::SetBufferSize(size_t bufferSize) {
         BufferSize = Max((size_t)1, Min(bufferSize, DEFAULT_BUFFER_LEN));
     }
-
+ 
     size_t TJsonReaderConfig::GetBufferSize() const {
         return BufferSize;
     }
@@ -437,7 +437,7 @@ namespace NJson {
                 : Impl(impl)
             {
             }
-
+ 
             bool Null() {
                 return Impl.OnNull();
             }
@@ -445,7 +445,7 @@ namespace NJson {
             bool Bool(bool b) {
                 return Impl.OnBoolean(b);
             }
-
+ 
             template <class U>
             bool ProcessUint(U u) {
                 if (Y_LIKELY(u <= ui64(Max<i64>()))) {

+ 3 - 3
library/cpp/json/json_reader.h

@@ -19,7 +19,7 @@ namespace NJson {
         bool AllowComments = false;
         bool DontValidateUtf8 = false;
         bool AllowEscapedApostrophe = false;
-
+ 
         void SetBufferSize(size_t bufferSize);
         size_t GetBufferSize() const;
 
@@ -30,7 +30,7 @@ namespace NJson {
     bool ReadJsonTree(TStringBuf in, TJsonValue* out, bool throwOnError = false);
     bool ReadJsonTree(TStringBuf in, bool allowComments, TJsonValue* out, bool throwOnError = false);
     bool ReadJsonTree(TStringBuf in, const TJsonReaderConfig* config, TJsonValue* out, bool throwOnError = false);
-
+ 
     bool ReadJsonTree(IInputStream* in, TJsonValue* out, bool throwOnError = false);
     bool ReadJsonTree(IInputStream* in, bool allowComments, TJsonValue* out, bool throwOnError = false);
     bool ReadJsonTree(IInputStream* in, const TJsonReaderConfig* config, TJsonValue* out, bool throwOnError = false);
@@ -38,7 +38,7 @@ namespace NJson {
     TJsonValue ReadJsonTree(IInputStream* in, bool throwOnError = false);
     TJsonValue ReadJsonTree(IInputStream* in, bool allowComments, bool throwOnError);
     TJsonValue ReadJsonTree(IInputStream* in, const TJsonReaderConfig* config, bool throwOnError = false);
-
+ 
     bool ReadJson(IInputStream* in, TJsonCallbacks* callbacks);
     bool ReadJson(IInputStream* in, bool allowComments, TJsonCallbacks* callbacks);
     bool ReadJson(IInputStream* in, bool allowComments, bool allowEscapedApostrophe, TJsonCallbacks* callbacks);

+ 4 - 4
library/cpp/json/json_writer.cpp

@@ -45,7 +45,7 @@ namespace NJson {
             }
         }
     }
-
+ 
     void TJsonWriter::Flush() {
         if (Out) {
             Buf.FlushTo(Out);
@@ -101,7 +101,7 @@ namespace NJson {
     void TJsonWriter::Write(unsigned long long value) {
         Buf.WriteULongLong(value);
     }
-
+ 
     void TJsonWriter::Write(bool value) {
         Buf.WriteBool(value);
     }
@@ -145,5 +145,5 @@ namespace NJson {
         w.Write(val);
         w.Flush();
     }
-
-}
+ 
+} 

+ 1 - 1
library/cpp/json/json_writer.h

@@ -56,7 +56,7 @@ namespace NJson {
         const bool ValidateUtf8;
         const bool DontEscapeStrings;
         const bool DontFlushInDestructor;
-
+ 
     public:
         TJsonWriter(IOutputStream* out, bool formatOutput, bool sortkeys = false, bool validateUtf8 = true);
         TJsonWriter(IOutputStream* out, const TJsonWriterConfig& config, bool DontFlushInDestructor = false);

+ 190 - 190
library/cpp/json/ut/json_reader_ut.cpp

@@ -26,10 +26,10 @@ public:
     }
 
     bool OnUInteger(unsigned long long val) override {
-        Writer.Write(val);
-        return true;
-    }
-
+        Writer.Write(val); 
+        return true; 
+    } 
+ 
     bool OnString(const TStringBuf& val) override {
         Writer.Write(val);
         return true;
@@ -135,7 +135,7 @@ Y_UNIT_TEST_SUITE(TJsonReaderTest) {
         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());
+        UNIT_ASSERT(value["null value"].IsNull()); 
 
         // AsString
         UNIT_ASSERT_VALUES_EQUAL(value["intkey"].GetStringRobust(), "10");
@@ -146,12 +146,12 @@ Y_UNIT_TEST_SUITE(TJsonReaderTest) {
         UNIT_ASSERT_VALUES_EQUAL(value["null value"].GetStringRobust(), "null");
 
         const TJsonValue::TArray* array;
-        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(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"][3].GetString(), (*array)[3].GetString());
+        UNIT_ASSERT_VALUES_EQUAL(value["array"][3].GetString(), (*array)[3].GetString()); 
     }
 
     Y_UNIT_TEST(TJsonRomaTest) {
@@ -166,193 +166,193 @@ Y_UNIT_TEST_SUITE(TJsonReaderTest) {
     }
 
     Y_UNIT_TEST(TJsonReadTreeWithComments) {
-        {
+        { 
             TString leadingCommentData = "{ // \"test\" : 1 \n}";
-            {
-                // No comments allowed
-                TStringStream in;
-                in << leadingCommentData;
-                TJsonValue value;
-                UNIT_ASSERT(!ReadJsonTree(&in, false, &value));
-            }
-
-            {
-                // Comments allowed
-                TStringStream in;
-                in << leadingCommentData;
-                TJsonValue value;
-                UNIT_ASSERT(ReadJsonTree(&in, true, &value));
-                UNIT_ASSERT(!value.Has("test"));
-            }
-        }
-
-        {
+            { 
+                // No comments allowed 
+                TStringStream in; 
+                in << leadingCommentData; 
+                TJsonValue value; 
+                UNIT_ASSERT(!ReadJsonTree(&in, false, &value)); 
+            } 
+ 
+            { 
+                // Comments allowed 
+                TStringStream in; 
+                in << leadingCommentData; 
+                TJsonValue value; 
+                UNIT_ASSERT(ReadJsonTree(&in, true, &value)); 
+                UNIT_ASSERT(!value.Has("test")); 
+            } 
+        } 
+ 
+        { 
             TString trailingCommentData = "{ \"test1\" : 1 // \"test2\" : 2 \n }";
-            {
-                // No comments allowed
-                TStringStream in;
-                in << trailingCommentData;
-                TJsonValue value;
-                UNIT_ASSERT(!ReadJsonTree(&in, false, &value));
-            }
-
-            {
-                // Comments allowed
-                TStringStream in;
-                in << trailingCommentData;
-                TJsonValue value;
-                UNIT_ASSERT(ReadJsonTree(&in, true, &value));
-                UNIT_ASSERT(value.Has("test1"));
-                UNIT_ASSERT_EQUAL(value["test1"].GetInteger(), 1);
-                UNIT_ASSERT(!value.Has("test2"));
-            }
-        }
-    }
-
+            { 
+                // No comments allowed 
+                TStringStream in; 
+                in << trailingCommentData; 
+                TJsonValue value; 
+                UNIT_ASSERT(!ReadJsonTree(&in, false, &value)); 
+            } 
+ 
+            { 
+                // Comments allowed 
+                TStringStream in; 
+                in << trailingCommentData; 
+                TJsonValue value; 
+                UNIT_ASSERT(ReadJsonTree(&in, true, &value)); 
+                UNIT_ASSERT(value.Has("test1")); 
+                UNIT_ASSERT_EQUAL(value["test1"].GetInteger(), 1); 
+                UNIT_ASSERT(!value.Has("test2")); 
+            } 
+        } 
+    } 
+ 
     Y_UNIT_TEST(TJsonSignedIntegerTest) {
-        {
-            TStringStream in;
-            in << "{ \"test\" : " << Min<i64>() << " }";
-            TJsonValue value;
-            UNIT_ASSERT(ReadJsonTree(&in, &value));
-            UNIT_ASSERT(value.Has("test"));
-            UNIT_ASSERT(value["test"].IsInteger());
-            UNIT_ASSERT(!value["test"].IsUInteger());
-            UNIT_ASSERT_EQUAL(value["test"].GetInteger(), Min<i64>());
-            UNIT_ASSERT_EQUAL(value["test"].GetIntegerRobust(), Min<i64>());
-        } // Min<i64>()
-
-        {
-            TStringStream in;
-            in << "{ \"test\" : " << Max<i64>() + 1ull << " }";
-            TJsonValue value;
-            UNIT_ASSERT(ReadJsonTree(&in, &value));
-            UNIT_ASSERT(value.Has("test"));
-            UNIT_ASSERT(!value["test"].IsInteger());
-            UNIT_ASSERT(value["test"].IsUInteger());
+        { 
+            TStringStream in; 
+            in << "{ \"test\" : " << Min<i64>() << " }"; 
+            TJsonValue value; 
+            UNIT_ASSERT(ReadJsonTree(&in, &value)); 
+            UNIT_ASSERT(value.Has("test")); 
+            UNIT_ASSERT(value["test"].IsInteger()); 
+            UNIT_ASSERT(!value["test"].IsUInteger()); 
+            UNIT_ASSERT_EQUAL(value["test"].GetInteger(), Min<i64>()); 
+            UNIT_ASSERT_EQUAL(value["test"].GetIntegerRobust(), Min<i64>()); 
+        } // Min<i64>() 
+ 
+        { 
+            TStringStream in; 
+            in << "{ \"test\" : " << Max<i64>() + 1ull << " }"; 
+            TJsonValue value; 
+            UNIT_ASSERT(ReadJsonTree(&in, &value)); 
+            UNIT_ASSERT(value.Has("test")); 
+            UNIT_ASSERT(!value["test"].IsInteger()); 
+            UNIT_ASSERT(value["test"].IsUInteger()); 
             UNIT_ASSERT_EQUAL(value["test"].GetIntegerRobust(), (i64)(Max<i64>() + 1ull));
-        } // Max<i64>() + 1
-    }
-
+        } // Max<i64>() + 1 
+    } 
+ 
     Y_UNIT_TEST(TJsonUnsignedIntegerTest) {
-        {
-            TStringStream in;
-            in << "{ \"test\" : 1 }";
-            TJsonValue value;
-            UNIT_ASSERT(ReadJsonTree(&in, &value));
-            UNIT_ASSERT(value.Has("test"));
-            UNIT_ASSERT(value["test"].IsInteger());
-            UNIT_ASSERT(value["test"].IsUInteger());
-            UNIT_ASSERT_EQUAL(value["test"].GetInteger(), 1);
-            UNIT_ASSERT_EQUAL(value["test"].GetIntegerRobust(), 1);
-            UNIT_ASSERT_EQUAL(value["test"].GetUInteger(), 1);
-            UNIT_ASSERT_EQUAL(value["test"].GetUIntegerRobust(), 1);
-        } // 1
-
-        {
-            TStringStream in;
-            in << "{ \"test\" : -1 }";
-            TJsonValue value;
-            UNIT_ASSERT(ReadJsonTree(&in, &value));
-            UNIT_ASSERT(value.Has("test"));
-            UNIT_ASSERT(value["test"].IsInteger());
-            UNIT_ASSERT(!value["test"].IsUInteger());
-            UNIT_ASSERT_EQUAL(value["test"].GetInteger(), -1);
-            UNIT_ASSERT_EQUAL(value["test"].GetIntegerRobust(), -1);
-            UNIT_ASSERT_EQUAL(value["test"].GetUInteger(), 0);
-            UNIT_ASSERT_EQUAL(value["test"].GetUIntegerRobust(), static_cast<unsigned long long>(-1));
-        } // -1
-
-        {
-            TStringStream in;
-            in << "{ \"test\" : 18446744073709551615 }";
-            TJsonValue value;
-            UNIT_ASSERT(ReadJsonTree(&in, &value));
-            UNIT_ASSERT(value.Has("test"));
-            UNIT_ASSERT(!value["test"].IsInteger());
-            UNIT_ASSERT(value["test"].IsUInteger());
-            UNIT_ASSERT_EQUAL(value["test"].GetInteger(), 0);
-            UNIT_ASSERT_EQUAL(value["test"].GetIntegerRobust(), static_cast<long long>(18446744073709551615ull));
-            UNIT_ASSERT_EQUAL(value["test"].GetUInteger(), 18446744073709551615ull);
-            UNIT_ASSERT_EQUAL(value["test"].GetUIntegerRobust(), 18446744073709551615ull);
-        } // 18446744073709551615
-
-        {
-            TStringStream in;
-            in << "{ \"test\" : 1.1 }";
-            TJsonValue value;
-            UNIT_ASSERT(ReadJsonTree(&in, &value));
-            UNIT_ASSERT(value.Has("test"));
-            UNIT_ASSERT(!value["test"].IsInteger());
-            UNIT_ASSERT(!value["test"].IsUInteger());
-            UNIT_ASSERT_EQUAL(value["test"].GetInteger(), 0);
-            UNIT_ASSERT_EQUAL(value["test"].GetIntegerRobust(), static_cast<long long>(1.1));
-            UNIT_ASSERT_EQUAL(value["test"].GetUInteger(), 0);
-            UNIT_ASSERT_EQUAL(value["test"].GetUIntegerRobust(), static_cast<unsigned long long>(1.1));
-        } // 1.1
-
-        {
-            TStringStream in;
-            in << "{ \"test\" : [1, 18446744073709551615] }";
-            TJsonValue value;
-            UNIT_ASSERT(ReadJsonTree(&in, &value));
-            UNIT_ASSERT(value.Has("test"));
-            UNIT_ASSERT(value["test"].IsArray());
-            UNIT_ASSERT_EQUAL(value["test"].GetArray().size(), 2);
-            UNIT_ASSERT(value["test"][0].IsInteger());
-            UNIT_ASSERT(value["test"][0].IsUInteger());
-            UNIT_ASSERT_EQUAL(value["test"][0].GetInteger(), 1);
-            UNIT_ASSERT_EQUAL(value["test"][0].GetUInteger(), 1);
-            UNIT_ASSERT(!value["test"][1].IsInteger());
-            UNIT_ASSERT(value["test"][1].IsUInteger());
-            UNIT_ASSERT_EQUAL(value["test"][1].GetUInteger(), 18446744073709551615ull);
-        }
-    } // TJsonUnsignedIntegerTest
-
+        { 
+            TStringStream in; 
+            in << "{ \"test\" : 1 }"; 
+            TJsonValue value; 
+            UNIT_ASSERT(ReadJsonTree(&in, &value)); 
+            UNIT_ASSERT(value.Has("test")); 
+            UNIT_ASSERT(value["test"].IsInteger()); 
+            UNIT_ASSERT(value["test"].IsUInteger()); 
+            UNIT_ASSERT_EQUAL(value["test"].GetInteger(), 1); 
+            UNIT_ASSERT_EQUAL(value["test"].GetIntegerRobust(), 1); 
+            UNIT_ASSERT_EQUAL(value["test"].GetUInteger(), 1); 
+            UNIT_ASSERT_EQUAL(value["test"].GetUIntegerRobust(), 1); 
+        } // 1 
+ 
+        { 
+            TStringStream in; 
+            in << "{ \"test\" : -1 }"; 
+            TJsonValue value; 
+            UNIT_ASSERT(ReadJsonTree(&in, &value)); 
+            UNIT_ASSERT(value.Has("test")); 
+            UNIT_ASSERT(value["test"].IsInteger()); 
+            UNIT_ASSERT(!value["test"].IsUInteger()); 
+            UNIT_ASSERT_EQUAL(value["test"].GetInteger(), -1); 
+            UNIT_ASSERT_EQUAL(value["test"].GetIntegerRobust(), -1); 
+            UNIT_ASSERT_EQUAL(value["test"].GetUInteger(), 0); 
+            UNIT_ASSERT_EQUAL(value["test"].GetUIntegerRobust(), static_cast<unsigned long long>(-1)); 
+        } // -1 
+ 
+        { 
+            TStringStream in; 
+            in << "{ \"test\" : 18446744073709551615 }"; 
+            TJsonValue value; 
+            UNIT_ASSERT(ReadJsonTree(&in, &value)); 
+            UNIT_ASSERT(value.Has("test")); 
+            UNIT_ASSERT(!value["test"].IsInteger()); 
+            UNIT_ASSERT(value["test"].IsUInteger()); 
+            UNIT_ASSERT_EQUAL(value["test"].GetInteger(), 0); 
+            UNIT_ASSERT_EQUAL(value["test"].GetIntegerRobust(), static_cast<long long>(18446744073709551615ull)); 
+            UNIT_ASSERT_EQUAL(value["test"].GetUInteger(), 18446744073709551615ull); 
+            UNIT_ASSERT_EQUAL(value["test"].GetUIntegerRobust(), 18446744073709551615ull); 
+        } // 18446744073709551615 
+ 
+        { 
+            TStringStream in; 
+            in << "{ \"test\" : 1.1 }"; 
+            TJsonValue value; 
+            UNIT_ASSERT(ReadJsonTree(&in, &value)); 
+            UNIT_ASSERT(value.Has("test")); 
+            UNIT_ASSERT(!value["test"].IsInteger()); 
+            UNIT_ASSERT(!value["test"].IsUInteger()); 
+            UNIT_ASSERT_EQUAL(value["test"].GetInteger(), 0); 
+            UNIT_ASSERT_EQUAL(value["test"].GetIntegerRobust(), static_cast<long long>(1.1)); 
+            UNIT_ASSERT_EQUAL(value["test"].GetUInteger(), 0); 
+            UNIT_ASSERT_EQUAL(value["test"].GetUIntegerRobust(), static_cast<unsigned long long>(1.1)); 
+        } // 1.1 
+ 
+        { 
+            TStringStream in; 
+            in << "{ \"test\" : [1, 18446744073709551615] }"; 
+            TJsonValue value; 
+            UNIT_ASSERT(ReadJsonTree(&in, &value)); 
+            UNIT_ASSERT(value.Has("test")); 
+            UNIT_ASSERT(value["test"].IsArray()); 
+            UNIT_ASSERT_EQUAL(value["test"].GetArray().size(), 2); 
+            UNIT_ASSERT(value["test"][0].IsInteger()); 
+            UNIT_ASSERT(value["test"][0].IsUInteger()); 
+            UNIT_ASSERT_EQUAL(value["test"][0].GetInteger(), 1); 
+            UNIT_ASSERT_EQUAL(value["test"][0].GetUInteger(), 1); 
+            UNIT_ASSERT(!value["test"][1].IsInteger()); 
+            UNIT_ASSERT(value["test"][1].IsUInteger()); 
+            UNIT_ASSERT_EQUAL(value["test"][1].GetUInteger(), 18446744073709551615ull); 
+        } 
+    } // TJsonUnsignedIntegerTest 
+ 
     Y_UNIT_TEST(TJsonDoubleTest) {
-        {
-            TStringStream in;
-            in << "{ \"test\" : 1.0 }";
-            TJsonValue value;
-            UNIT_ASSERT(ReadJsonTree(&in, &value));
-            UNIT_ASSERT(value.Has("test"));
-            UNIT_ASSERT(value["test"].IsDouble());
-            UNIT_ASSERT_EQUAL(value["test"].GetDouble(), 1.0);
-            UNIT_ASSERT_EQUAL(value["test"].GetDoubleRobust(), 1.0);
-        } // 1.0
-
-        {
-            TStringStream in;
-            in << "{ \"test\" : 1 }";
-            TJsonValue value;
-            UNIT_ASSERT(ReadJsonTree(&in, &value));
-            UNIT_ASSERT(value.Has("test"));
-            UNIT_ASSERT(value["test"].IsDouble());
-            UNIT_ASSERT_EQUAL(value["test"].GetDouble(), 1.0);
-            UNIT_ASSERT_EQUAL(value["test"].GetDoubleRobust(), 1.0);
-        } // 1
-
-        {
-            TStringStream in;
-            in << "{ \"test\" : -1 }";
-            TJsonValue value;
-            UNIT_ASSERT(ReadJsonTree(&in, &value));
-            UNIT_ASSERT(value.Has("test"));
-            UNIT_ASSERT(value["test"].IsDouble());
-            UNIT_ASSERT_EQUAL(value["test"].GetDouble(), -1.0);
-            UNIT_ASSERT_EQUAL(value["test"].GetDoubleRobust(), -1.0);
-        } // -1
-
-        {
-            TStringStream in;
-            in << "{ \"test\" : " << Max<ui64>() << " }";
-            TJsonValue value;
-            UNIT_ASSERT(ReadJsonTree(&in, &value));
-            UNIT_ASSERT(value.Has("test"));
-            UNIT_ASSERT(!value["test"].IsDouble());
-            UNIT_ASSERT_EQUAL(value["test"].GetDouble(), 0.0);
-            UNIT_ASSERT_EQUAL(value["test"].GetDoubleRobust(), static_cast<double>(Max<ui64>()));
-        } // Max<ui64>()
+        { 
+            TStringStream in; 
+            in << "{ \"test\" : 1.0 }"; 
+            TJsonValue value; 
+            UNIT_ASSERT(ReadJsonTree(&in, &value)); 
+            UNIT_ASSERT(value.Has("test")); 
+            UNIT_ASSERT(value["test"].IsDouble()); 
+            UNIT_ASSERT_EQUAL(value["test"].GetDouble(), 1.0); 
+            UNIT_ASSERT_EQUAL(value["test"].GetDoubleRobust(), 1.0); 
+        } // 1.0 
+ 
+        { 
+            TStringStream in; 
+            in << "{ \"test\" : 1 }"; 
+            TJsonValue value; 
+            UNIT_ASSERT(ReadJsonTree(&in, &value)); 
+            UNIT_ASSERT(value.Has("test")); 
+            UNIT_ASSERT(value["test"].IsDouble()); 
+            UNIT_ASSERT_EQUAL(value["test"].GetDouble(), 1.0); 
+            UNIT_ASSERT_EQUAL(value["test"].GetDoubleRobust(), 1.0); 
+        } // 1 
+ 
+        { 
+            TStringStream in; 
+            in << "{ \"test\" : -1 }"; 
+            TJsonValue value; 
+            UNIT_ASSERT(ReadJsonTree(&in, &value)); 
+            UNIT_ASSERT(value.Has("test")); 
+            UNIT_ASSERT(value["test"].IsDouble()); 
+            UNIT_ASSERT_EQUAL(value["test"].GetDouble(), -1.0); 
+            UNIT_ASSERT_EQUAL(value["test"].GetDoubleRobust(), -1.0); 
+        } // -1 
+ 
+        { 
+            TStringStream in; 
+            in << "{ \"test\" : " << Max<ui64>() << " }"; 
+            TJsonValue value; 
+            UNIT_ASSERT(ReadJsonTree(&in, &value)); 
+            UNIT_ASSERT(value.Has("test")); 
+            UNIT_ASSERT(!value["test"].IsDouble()); 
+            UNIT_ASSERT_EQUAL(value["test"].GetDouble(), 0.0); 
+            UNIT_ASSERT_EQUAL(value["test"].GetDoubleRobust(), static_cast<double>(Max<ui64>())); 
+        } // Max<ui64>() 
     }     // TJsonDoubleTest
 
     Y_UNIT_TEST(TJsonInvalidTest) {

+ 35 - 35
library/cpp/json/ut/json_writer_ut.cpp

@@ -54,7 +54,7 @@ Y_UNIT_TEST_SUITE(TJsonWriterTest) {
         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}";
         TJsonValue v;
@@ -83,45 +83,45 @@ Y_UNIT_TEST_SUITE(TJsonWriterTest) {
     }
 
     Y_UNIT_TEST(SimpleUnsignedIntegerWriteTest) {
-        {
+        { 
             TString expected = "{\"test\":1}";
-            TJsonValue v;
-            v.InsertValue("test", 1ull);
-            TStringStream out;
-            WriteJson(&out, &v);
-            UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected);
-        } // 1
-
-        {
+            TJsonValue v; 
+            v.InsertValue("test", 1ull); 
+            TStringStream out; 
+            WriteJson(&out, &v); 
+            UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected); 
+        } // 1 
+ 
+        { 
             TString expected = "{\"test\":-1}";
-            TJsonValue v;
-            v.InsertValue("test", -1);
-            TStringStream out;
-            WriteJson(&out, &v);
-            UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected);
-        } // -1
-
-        {
+            TJsonValue v; 
+            v.InsertValue("test", -1); 
+            TStringStream out; 
+            WriteJson(&out, &v); 
+            UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected); 
+        } // -1 
+ 
+        { 
             TString expected = "{\"test\":18446744073709551615}";
-            TJsonValue v;
-            v.InsertValue("test", 18446744073709551615ull);
-            TStringStream out;
-            WriteJson(&out, &v);
-            UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected);
-        } // 18446744073709551615
-
-        {
+            TJsonValue v; 
+            v.InsertValue("test", 18446744073709551615ull); 
+            TStringStream out; 
+            WriteJson(&out, &v); 
+            UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected); 
+        } // 18446744073709551615 
+ 
+        { 
             TString expected = "{\"test\":[1,18446744073709551615]}";
-            TJsonValue v;
-            v.InsertValue("test", TJsonValue());
-            v["test"].AppendValue(1);
-            v["test"].AppendValue(18446744073709551615ull);
-            TStringStream out;
-            WriteJson(&out, &v);
-            UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected);
-        } // 18446744073709551615
+            TJsonValue v; 
+            v.InsertValue("test", TJsonValue()); 
+            v["test"].AppendValue(1); 
+            v["test"].AppendValue(18446744073709551615ull); 
+            TStringStream out; 
+            WriteJson(&out, &v); 
+            UNIT_ASSERT_VALUES_EQUAL(out.Str(), expected); 
+        } // 18446744073709551615 
     }     // SimpleUnsignedIntegerWriteTest
-
+ 
     Y_UNIT_TEST(WriteOptionalTest) {
         {
             TString expected = "{\"test\":1}";

+ 95 - 95
library/cpp/json/writer/json_value.cpp

@@ -2,7 +2,7 @@
 #include "json.h"
 
 #include <util/generic/ymath.h>
-#include <util/generic/ylimits.h>
+#include <util/generic/ylimits.h> 
 #include <util/generic/utility.h>
 #include <util/generic/singleton.h>
 #include <util/stream/str.h>
@@ -10,63 +10,63 @@
 #include <util/string/cast.h>
 #include <util/string/type.h>
 #include <util/string/vector.h>
-#include <util/system/yassert.h>
+#include <util/system/yassert.h> 
 #include <util/ysaveload.h>
 #include <util/generic/bt_exception.h>
 
-static bool
-AreJsonMapsEqual(const NJson::TJsonValue& lhs, const NJson::TJsonValue& rhs) {
-    using namespace NJson;
-
+static bool 
+AreJsonMapsEqual(const NJson::TJsonValue& lhs, const NJson::TJsonValue& rhs) { 
+    using namespace NJson; 
+ 
     Y_VERIFY(lhs.GetType() == JSON_MAP, "lhs has not a JSON_MAP type.");
-
-    if (rhs.GetType() != JSON_MAP)
-        return false;
-
+ 
+    if (rhs.GetType() != JSON_MAP) 
+        return false; 
+ 
     typedef TJsonValue::TMapType TMapType;
     const TMapType& lhsMap = lhs.GetMap();
     const TMapType& rhsMap = rhs.GetMap();
-
-    if (lhsMap.size() != rhsMap.size())
-        return false;
-
+ 
+    if (lhsMap.size() != rhsMap.size()) 
+        return false; 
+ 
     for (const auto& lhsIt : lhsMap) {
         TMapType::const_iterator rhsIt = rhsMap.find(lhsIt.first);
-        if (rhsIt == rhsMap.end())
-            return false;
-
+        if (rhsIt == rhsMap.end()) 
+            return false; 
+ 
         if (lhsIt.second != rhsIt->second)
-            return false;
-    }
-
-    return true;
-}
-
-static bool
-AreJsonArraysEqual(const NJson::TJsonValue& lhs, const NJson::TJsonValue& rhs) {
-    using namespace NJson;
-
+            return false; 
+    } 
+ 
+    return true; 
+} 
+ 
+static bool 
+AreJsonArraysEqual(const NJson::TJsonValue& lhs, const NJson::TJsonValue& rhs) { 
+    using namespace NJson; 
+ 
     Y_VERIFY(lhs.GetType() == JSON_ARRAY, "lhs has not a JSON_ARRAY type.");
-
-    if (rhs.GetType() != JSON_ARRAY)
-        return false;
-
-    typedef TJsonValue::TArray TArray;
-    const TArray& lhsArray = lhs.GetArray();
-    const TArray& rhsArray = rhs.GetArray();
-
-    if (lhsArray.size() != rhsArray.size())
-        return false;
-
-    for (TArray::const_iterator lhsIt = lhsArray.begin(), rhsIt = rhsArray.begin();
+ 
+    if (rhs.GetType() != JSON_ARRAY) 
+        return false; 
+ 
+    typedef TJsonValue::TArray TArray; 
+    const TArray& lhsArray = lhs.GetArray(); 
+    const TArray& rhsArray = rhs.GetArray(); 
+ 
+    if (lhsArray.size() != rhsArray.size()) 
+        return false; 
+ 
+    for (TArray::const_iterator lhsIt = lhsArray.begin(), rhsIt = rhsArray.begin(); 
          lhsIt != lhsArray.end(); ++lhsIt, ++rhsIt) {
-        if (*lhsIt != *rhsIt)
-            return false;
-    }
-
-    return true;
-}
-
+        if (*lhsIt != *rhsIt) 
+            return false; 
+    } 
+ 
+    return true; 
+} 
+ 
 namespace NJson {
     const TJsonValue TJsonValue::UNDEFINED{};
 
@@ -135,7 +135,7 @@ namespace NJson {
         SetType(JSON_UINTEGER);
         Value.UInteger = value;
     }
-
+ 
     TJsonValue::TJsonValue(const int value) noexcept {
         SetType(JSON_INTEGER);
         Value.Integer = value;
@@ -145,7 +145,7 @@ namespace NJson {
         SetType(JSON_UINTEGER);
         Value.UInteger = value;
     }
-
+ 
     TJsonValue::TJsonValue(const long value) noexcept {
         SetType(JSON_INTEGER);
         Value.Integer = value;
@@ -155,7 +155,7 @@ namespace NJson {
         SetType(JSON_UINTEGER);
         Value.UInteger = value;
     }
-
+ 
     TJsonValue::TJsonValue(const double value) noexcept {
         SetType(JSON_DOUBLE);
         Value.Double = value;
@@ -362,55 +362,55 @@ namespace NJson {
 
             case JSON_UINTEGER:
                 return Value.UInteger;
-
+ 
             case JSON_DOUBLE:
                 return Value.Double;
-
+ 
             default:
                 Y_ASSERT(false && "Unexpected type.");
                 return 0;
         }
-    }
+    } 
 
     unsigned long long TJsonValue::GetUInteger() const {
         if (!IsUInteger())
             return 0;
-
+ 
         switch (Type) {
             case JSON_UINTEGER:
                 return Value.UInteger;
-
+ 
             case JSON_INTEGER:
                 return Value.Integer;
-
+ 
             case JSON_DOUBLE:
                 return Value.Double;
-
+ 
             default:
                 Y_ASSERT(false && "Unexpected type.");
                 return 0;
         }
-    }
-
+    } 
+ 
     double TJsonValue::GetDouble() const {
         if (!IsDouble())
             return 0.0;
-
+ 
         switch (Type) {
             case JSON_DOUBLE:
                 return Value.Double;
-
+ 
             case JSON_INTEGER:
                 return Value.Integer;
-
+ 
             case JSON_UINTEGER:
                 return Value.UInteger;
-
+ 
             default:
                 Y_ASSERT(false && "Unexpected type.");
                 return 0.0;
         }
-    }
+    } 
 
     const TString& TJsonValue::GetString() const {
         return Type != JSON_STRING ? Singleton<TDefaultsHolder>()->String : Value.String;
@@ -593,8 +593,8 @@ namespace NJson {
             case JSON_UINTEGER:
                 return Value.UInteger;
         }
-    }
-
+    } 
+ 
     double TJsonValue::GetDoubleRobust() const noexcept {
         switch (Type) {
             case JSON_ARRAY:
@@ -664,11 +664,11 @@ namespace NJson {
     bool TJsonValue::GetUInteger(unsigned long long* value) const noexcept {
         if (!IsUInteger())
             return false;
-
+ 
         *value = GetUInteger();
         return true;
     }
-
+ 
     bool TJsonValue::GetDouble(double* value) const noexcept {
         if (!IsDouble())
             return false;
@@ -765,56 +765,56 @@ namespace NJson {
     bool TJsonValue::IsBoolean() const noexcept {
         return Type == JSON_BOOLEAN;
     }
-
+ 
     bool TJsonValue::IsInteger() const noexcept {
         switch (Type) {
             case JSON_INTEGER:
                 return true;
-
+ 
             case JSON_UINTEGER:
                 return (Value.UInteger <= static_cast<unsigned long long>(Max<long long>()));
-
+ 
             case JSON_DOUBLE:
                 return ((long long)Value.Double == Value.Double);
 
             default:
                 return false;
         }
-    }
+    } 
 
     bool TJsonValue::IsUInteger() const noexcept {
         switch (Type) {
             case JSON_UINTEGER:
                 return true;
-
+ 
             case JSON_INTEGER:
                 return (Value.Integer >= 0);
-
+ 
             case JSON_DOUBLE:
                 return ((unsigned long long)Value.Double == Value.Double);
-
+ 
             default:
                 return false;
         }
-    }
-
+    } 
+ 
     bool TJsonValue::IsDouble() const noexcept {
         // Check whether we can convert integer to floating-point
         // without precision loss.
         switch (Type) {
             case JSON_DOUBLE:
                 return true;
-
+ 
             case JSON_INTEGER:
                 return (1ll << std::numeric_limits<double>::digits) >= Abs(Value.Integer);
-
+ 
             case JSON_UINTEGER:
                 return (1ull << std::numeric_limits<double>::digits) >= Value.UInteger;
-
+ 
             default:
                 return false;
         }
-    }
+    } 
 
     namespace {
         template <class TPtr, class T>
@@ -906,42 +906,42 @@ namespace NJson {
 
     void TJsonValue::Scan(IScanCallback& callback) {
         DoScan("", nullptr, callback);
-    }
-
+    } 
+ 
     bool TJsonValue::IsString() const noexcept {
         return Type == JSON_STRING;
-    }
-
+    } 
+ 
     bool TJsonValue::IsMap() const noexcept {
         return Type == JSON_MAP;
-    }
-
+    } 
+ 
     bool TJsonValue::IsArray() const noexcept {
         return Type == JSON_ARRAY;
-    }
-
+    } 
+ 
     bool TJsonValue::Has(const TStringBuf& key) const noexcept {
         return Type == JSON_MAP && Value.Map->contains(key);
-    }
-
+    } 
+ 
     bool TJsonValue::Has(size_t key) const noexcept {
         return Type == JSON_ARRAY && Value.Array->size() > key;
-    }
-
+    } 
+ 
     bool TJsonValue::operator==(const TJsonValue& rhs) const {
         switch (Type) {
             case JSON_UNDEFINED: {
                 return (rhs.GetType() == JSON_UNDEFINED);
             }
-
+ 
             case JSON_NULL: {
                 return rhs.IsNull();
             }
-
+ 
             case JSON_BOOLEAN: {
                 return (rhs.IsBoolean() && Value.Boolean == rhs.Value.Boolean);
             }
-
+ 
             case JSON_INTEGER: {
                 return (rhs.IsInteger() && GetInteger() == rhs.GetInteger());
             }

Some files were not shown because too many files changed in this diff