]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/json/test/stream_parser.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / json / test / stream_parser.cpp
index 42ad24486eac51ad6068b592270ba9c8a2cd677e..7c92960d94015704623b125edf3b8a7a024656cf 100644 (file)
@@ -139,7 +139,9 @@ public:
     testMembers()
     {
         // write_some(char const*, size_t, error_code&)
+        // write_some(char const*, size_t, std::error_code&)
         // write_some(string_view, error_code&)
+        // write_some(string_view, std::error_code&)
         {
             {
                 stream_parser p;
@@ -148,6 +150,13 @@ public:
                     "[]*", ec) == 2);
                 BOOST_TEST(! ec);
             }
+            {
+                stream_parser p;
+                std::error_code ec;
+                BOOST_TEST(p.write_some(
+                    "[]*", ec) == 2);
+                BOOST_TEST(! ec);
+            }
             {
                 stream_parser p;
                 error_code ec;
@@ -155,6 +164,13 @@ public:
                     "[*", ec) == 1);
                 BOOST_TEST(ec);
             }
+            {
+                stream_parser p;
+                std::error_code ec;
+                BOOST_TEST(p.write_some(
+                    "[*", ec) == 1);
+                BOOST_TEST(ec);
+            }
         }
 
         // write_some(char const*, size_t)
@@ -174,7 +190,9 @@ public:
         }
 
         // write(char const*, size_t, error_code&)
+        // write(char const*, size_t, std::error_code&)
         // write(string_view, error_code&)
+        // write(string_view, std::error_code&)
         {
             {
                 stream_parser p;
@@ -183,12 +201,26 @@ public:
                     "null", ec) == 4);
                 BOOST_TEST(! ec);
             }
+            {
+                stream_parser p;
+                std::error_code ec;
+                BOOST_TEST(p.write(
+                    "null", ec) == 4);
+                BOOST_TEST(! ec);
+            }
             {
                 stream_parser p;
                 error_code ec;
                 p.write("[]*", ec),
                 BOOST_TEST(
                     ec == error::extra_data);
+                BOOST_TEST(ec.has_location());
+            }
+            {
+                stream_parser p;
+                std::error_code ec;
+                p.write("[]*", ec),
+                BOOST_TEST(ec == error::extra_data);
             }
         }
 
@@ -208,8 +240,9 @@ public:
             }
         }
 
-        // finish(error_code&)
         // finish()
+        // finish(error_code&)
+        // finish(std::error_code&)
         {
             {
                 stream_parser p;
@@ -233,6 +266,7 @@ public:
                 p.finish(ec);
                 BOOST_TEST(
                     ec == error::incomplete);
+                BOOST_TEST(ec.has_location());
             }
             {
                 stream_parser p;
@@ -243,6 +277,22 @@ public:
                     p.finish(),
                     system_error);
             }
+            {
+                stream_parser p;
+                p.write("[1,2");
+                std::error_code ec;
+                p.finish(ec);
+                BOOST_TEST(ec == error::incomplete);
+            }
+            {
+                stream_parser p;
+                p.write("[1,2");
+                std::error_code ec;
+                p.finish(ec);
+                BOOST_TEST_THROWS(
+                    p.finish(),
+                    system_error);
+            }
         }
 
         // release()
@@ -277,6 +327,7 @@ public:
                 p.write("[]*", ec);
                 BOOST_TEST(
                     ec == error::extra_data);
+                BOOST_TEST(ec.has_location());
                 BOOST_TEST(! p.done());
                 BOOST_TEST_THROWS(
                     p.release(),
@@ -306,7 +357,7 @@ public:
 
     void
     static
-    check_round_trip(value const& jv1, 
+    check_round_trip(value const& jv1,
         const parse_options& po = parse_options())
     {
         auto const s2 =
@@ -343,7 +394,7 @@ public:
     template<class F>
     static
     void
-    grind(string_view s, F const& f, 
+    grind(string_view s, F const& f,
         const parse_options& po = parse_options())
     {
         try
@@ -387,7 +438,7 @@ public:
 
     static
     void
-    grind(string_view s, 
+    grind(string_view s,
         const parse_options& po = parse_options())
     {
         grind(s,
@@ -533,13 +584,13 @@ public:
                     if(BOOST_TEST(! ec))
                         check_round_trip(
                             p.release());
-                }   
+                }
             }
         }
     }
 
     //------------------------------------------------------
-    
+
     struct f_boost
     {
         static
@@ -856,6 +907,7 @@ public:
             p.write("[]", 2, ec);
             BOOST_TEST(
                 ec == error::too_deep);
+            BOOST_TEST(ec.has_location());
         }
     }
 
@@ -922,6 +974,7 @@ public:
             p.write("{}", 2, ec);
             BOOST_TEST(
                 ec == error::too_deep);
+            BOOST_TEST(ec.has_location());
         }
     }
 
@@ -946,6 +999,7 @@ public:
                 error_code ec;
                 auto jv = parse("xxx", ec);
                 BOOST_TEST(ec);
+                BOOST_TEST(ec.has_location());
                 BOOST_TEST(jv.is_null());
             }
         }
@@ -965,6 +1019,7 @@ public:
                 monotonic_resource mr;
                 auto jv = parse("xxx", ec, &mr);
                 BOOST_TEST(ec);
+                BOOST_TEST(ec.has_location());
                 BOOST_TEST(jv.is_null());
             }
         }
@@ -1027,7 +1082,7 @@ R"xx({
         }
     }
 })xx";
-        string_view out = 
+        string_view out =
             "{\"glossary\":{\"title\":\"example glossary\",\"GlossDiv\":"
             "{\"title\":\"S\",\"GlossList\":{\"GlossEntry\":{\"ID\":\"SGML\","
             "\"SortAs\":\"SGML\",\"GlossTerm\":\"Standard Generalized Markup "
@@ -1035,7 +1090,7 @@ R"xx({
             "\"GlossDef\":{\"para\":\"A meta-markup language, used to create "
             "markup languages such as DocBook.\",\"GlossSeeAlso\":[\"GML\",\"XML\"]},"
             "\"GlossSee\":\"markup\"}}}}}";
-        storage_ptr sp = 
+        storage_ptr sp =
             make_shared_resource<monotonic_resource>();
         stream_parser p(sp);
         error_code ec;
@@ -1046,7 +1101,7 @@ R"xx({
             BOOST_TEST(serialize(p.release()) == out);
     }
 
-    void 
+    void
     testTrailingCommas()
     {
         parse_options enabled;
@@ -1096,7 +1151,7 @@ R"xx({
         grind("{\"a\":1// c++ \n, \"b\":2}", enabled);
         grind("{\"a\":1, // c++ \n \"b\":2}", enabled);
         grind("{\"a\"// c++ \n:1}", enabled);
-        grind("{\"a\":// c++ \n1}", enabled);   
+        grind("{\"a\":// c++ \n1}", enabled);
     }
 
     void