From 0c08894a548ee6e81e13340379c1908f40073449 Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Thu, 15 Feb 2024 10:40:11 -0500 Subject: [PATCH] adopting string literals (#2128) * adopting string literals * String suffixes are C++14 --- tests/dom/basictests.cpp | 17 +++++++++-------- tests/dom/document_stream_tests.cpp | 9 +++++---- tests/dom/document_tests.cpp | 9 +++++---- tests/dom/pointercheck.cpp | 4 +++- .../ondemand/ondemand_document_stream_tests.cpp | 5 ++++- tests/ondemand/ondemand_json_pointer_tests.cpp | 7 ++++--- tests/ondemand/ondemand_misc_tests.cpp | 8 ++++---- tests/ondemand/ondemand_readme_examples.cpp | 3 ++- tests/ondemand/ondemand_scalar_tests.cpp | 6 +++--- 9 files changed, 39 insertions(+), 29 deletions(-) diff --git a/tests/dom/basictests.cpp b/tests/dom/basictests.cpp index f5a1146e8..d57277787 100644 --- a/tests/dom/basictests.cpp +++ b/tests/dom/basictests.cpp @@ -10,6 +10,7 @@ #include #include #include +using namespace std::string_literals; #include "simdjson.h" #include "cast_tester.h" @@ -2279,14 +2280,14 @@ bool simple_overflows() { std::cout << "Running " << __func__ << std::endl; simdjson::dom::parser parser; simdjson::dom::element doc; - ASSERT_ERROR( parser.parse(std::string("[f]")).get(doc), simdjson::F_ATOM_ERROR); - ASSERT_ERROR( parser.parse(std::string("[t]")).get(doc), simdjson::T_ATOM_ERROR); - ASSERT_ERROR( parser.parse(std::string("[n]")).get(doc), simdjson::N_ATOM_ERROR); - ASSERT_ERROR( parser.parse(std::string("[-]")).get(doc), simdjson::NUMBER_ERROR); - ASSERT_ERROR( parser.parse(std::string("{\"a\":f}")).get(doc), simdjson::F_ATOM_ERROR); - ASSERT_ERROR( parser.parse(std::string("{\"a\":t}")).get(doc), simdjson::T_ATOM_ERROR); - ASSERT_ERROR( parser.parse(std::string("{\"a\":n}")).get(doc), simdjson::N_ATOM_ERROR); - ASSERT_ERROR( parser.parse(std::string("{\"a\":-}")).get(doc), simdjson::NUMBER_ERROR); + ASSERT_ERROR( parser.parse("[f]"s).get(doc), simdjson::F_ATOM_ERROR); + ASSERT_ERROR( parser.parse("[t]"s).get(doc), simdjson::T_ATOM_ERROR); + ASSERT_ERROR( parser.parse("[n]"s).get(doc), simdjson::N_ATOM_ERROR); + ASSERT_ERROR( parser.parse("[-]"s).get(doc), simdjson::NUMBER_ERROR); + ASSERT_ERROR( parser.parse("{\"a\":f}"s).get(doc), simdjson::F_ATOM_ERROR); + ASSERT_ERROR( parser.parse("{\"a\":t}"s).get(doc), simdjson::T_ATOM_ERROR); + ASSERT_ERROR( parser.parse("{\"a\":n}"s).get(doc), simdjson::N_ATOM_ERROR); + ASSERT_ERROR( parser.parse("{\"a\":-}"s).get(doc), simdjson::NUMBER_ERROR); return true; } diff --git a/tests/dom/document_stream_tests.cpp b/tests/dom/document_stream_tests.cpp index cd42b2e15..8fae3b86d 100644 --- a/tests/dom/document_stream_tests.cpp +++ b/tests/dom/document_stream_tests.cpp @@ -1,8 +1,9 @@ -#include -#include #include -#include #include +#include +#include +#include +using namespace std::string_literals; #include "simdjson.h" #include "test_macros.h" @@ -879,7 +880,7 @@ namespace document_stream_tests { bool issue1649() { std::cout << "Running " << __func__ << std::endl; std::size_t batch_size = 637; - const auto json=simdjson::padded_string(std::string("\xd7")); + const auto json=simdjson::padded_string("\xd7"s); simdjson::dom::parser parser; simdjson::dom::document_stream docs; if(parser.parse_many(json,batch_size).get(docs)) { diff --git a/tests/dom/document_tests.cpp b/tests/dom/document_tests.cpp index 47c198e11..cc970348b 100644 --- a/tests/dom/document_tests.cpp +++ b/tests/dom/document_tests.cpp @@ -1,6 +1,7 @@ #include #include #include +using namespace std::string_literals; #include "simdjson.h" #include "test_macros.h" @@ -138,10 +139,10 @@ namespace document_tests { if (n >= buf.size()) { abort(); } data.emplace_back(std::string(buf.data(), n)); } - data.emplace_back(std::string("true")); - data.emplace_back(std::string("false")); - data.emplace_back(std::string("null")); - data.emplace_back(std::string("0.1")); + data.emplace_back("true"s); + data.emplace_back("false"s); + data.emplace_back("null"s); + data.emplace_back("0.1"s); size_t maxsize = 0; for (auto &s : data) { if (maxsize < s.size()) diff --git a/tests/dom/pointercheck.cpp b/tests/dom/pointercheck.cpp index 0299fd6d8..6b9851bae 100644 --- a/tests/dom/pointercheck.cpp +++ b/tests/dom/pointercheck.cpp @@ -5,6 +5,8 @@ */ #include +#include +using namespace std::string_literals; #include "simdjson.h" #include "test_macros.h" @@ -162,7 +164,7 @@ bool issue1142() { dom::parser parser; dom::element example = parser.parse(example_json); auto e0 = dom::array(example).at(0).at_pointer(""); - ASSERT_EQUAL(std::string("1"), simdjson::minify(e0)) + ASSERT_EQUAL("1"s, simdjson::minify(e0)) auto o = dom::array(example).at(2).at_pointer(""); ASSERT_EQUAL(std::string(R"({"1":"bla"})"), simdjson::minify(o)) std::string_view s0 = dom::array(example).at(2).at_pointer("/1").at_pointer(""); diff --git a/tests/ondemand/ondemand_document_stream_tests.cpp b/tests/ondemand/ondemand_document_stream_tests.cpp index b1b91b0c6..2d582915b 100644 --- a/tests/ondemand/ondemand_document_stream_tests.cpp +++ b/tests/ondemand/ondemand_document_stream_tests.cpp @@ -1,3 +1,6 @@ +#include +using namespace std::string_literals; + #include "simdjson.h" #include "test_ondemand.h" @@ -234,7 +237,7 @@ namespace document_stream_tests { ASSERT_EQUAL(odstream.truncated_bytes(), 305); break; } else if (err) { - TEST_FAIL(std::string("ondemand: error accessing jsonpointer: ") + simdjson::error_message(err)); + TEST_FAIL("ondemand: error accessing jsonpointer: "s + simdjson::error_message(err)); } } ASSERT_EQUAL(odstream.truncated_bytes(), 305); diff --git a/tests/ondemand/ondemand_json_pointer_tests.cpp b/tests/ondemand/ondemand_json_pointer_tests.cpp index 94e5cd280..ed37665c7 100644 --- a/tests/ondemand/ondemand_json_pointer_tests.cpp +++ b/tests/ondemand/ondemand_json_pointer_tests.cpp @@ -1,6 +1,7 @@ #include "simdjson.h" #include "test_ondemand.h" #include +using namespace std::string_literals; using namespace simdjson; @@ -195,7 +196,7 @@ namespace json_pointer_tests { ASSERT_SUCCESS(parser.iterate(cars_json).get(cars)); for (int i = 0; i < 3; i++) { double x; - std::string json_pointer = std::string("/") + std::to_string(i) + std::string("/tire_pressure/1"); + std::string json_pointer = "/"s + std::to_string(i) + "/tire_pressure/1"s; ASSERT_SUCCESS(cars.at_pointer(json_pointer).get(x)); measured.push_back(x); } @@ -315,7 +316,7 @@ namespace json_pointer_tests { std::vector content; for (int i = 0; i < 3; i++) { ondemand::object obj; - std::string json_pointer = std::string("/") + std::to_string(i); + std::string json_pointer = "/"s + std::to_string(i); // Each successive at_pointer call invalidates // previously parsed values, strings, objects and array. ASSERT_SUCCESS(cars.at_pointer(json_pointer).get(obj)); @@ -360,7 +361,7 @@ namespace json_pointer_tests { ondemand::document cars = parser.iterate(cars_json); std::vector content; for (int i = 0; i < 3; i++) { - std::string json_pointer = std::string("/") + std::to_string(i); + std::string json_pointer = "/"s + std::to_string(i); // Each successive at_pointer call invalidates // previously parsed values, strings, objects and array. ondemand::object obj(cars.at_pointer(json_pointer).get_object()); diff --git a/tests/ondemand/ondemand_misc_tests.cpp b/tests/ondemand/ondemand_misc_tests.cpp index 7028bdda7..826ee5477 100644 --- a/tests/ondemand/ondemand_misc_tests.cpp +++ b/tests/ondemand/ondemand_misc_tests.cpp @@ -550,7 +550,7 @@ namespace misc_tests { simdjson_warn_unused bool test_raw_json_token(string_view json, string_view expected_token, int expected_start_index = 0) { string title("'"); title.append(json.data(), json.length()); - title += std::string("'"); + title += "'"s; padded_string json_padded = json; SUBTEST(title, test_ondemand_doc(json_padded, [&](auto doc) { string_view token; @@ -564,11 +564,11 @@ namespace misc_tests { // Test values auto json_in_hash = string(R"({"a":)"); json_in_hash.append(json.data(), json.length()); - json_in_hash += std::string("}"); + json_in_hash += "}"s; json_padded = json_in_hash; - title = std::string("'"); + title = "'"s; title.append(json_in_hash.data(), json_in_hash.length()); - title += std::string("'"); + title += "'"s; SUBTEST(title, test_ondemand_doc(json_padded, [&](auto doc) { string_view token; ASSERT_SUCCESS( doc["a"].raw_json_token().get(token) ); diff --git a/tests/ondemand/ondemand_readme_examples.cpp b/tests/ondemand/ondemand_readme_examples.cpp index 9f4f73980..a7873a905 100644 --- a/tests/ondemand/ondemand_readme_examples.cpp +++ b/tests/ondemand/ondemand_readme_examples.cpp @@ -1092,6 +1092,7 @@ bool invalid_json_path() { bool json_pointer_multiple() { TEST_START(); + using namespace std::string_literals; ondemand::parser parser; ondemand::document cars; size_t size; @@ -1099,7 +1100,7 @@ bool json_pointer_multiple() { ASSERT_SUCCESS(cars.count_elements().get(size)); double expected[] = {39.9, 31, 30}; for (size_t i = 0; i < size; i++) { - std::string json_pointer = std::string("/") + std::to_string(i) + std::string("/tire_pressure/1"); + std::string json_pointer = "/"s + std::to_string(i) + "/tire_pressure/1"s; double x; ASSERT_SUCCESS(cars.at_pointer(json_pointer).get(x)); ASSERT_EQUAL(x,expected[i]); diff --git a/tests/ondemand/ondemand_scalar_tests.cpp b/tests/ondemand/ondemand_scalar_tests.cpp index 759eac6b2..4f07ab045 100644 --- a/tests/ondemand/ondemand_scalar_tests.cpp +++ b/tests/ondemand/ondemand_scalar_tests.cpp @@ -80,7 +80,7 @@ namespace scalar_tests { } { - padded_string array_json = std::string("[") + std::string(json) + "]"; + padded_string array_json = "["s + std::string(json) + "]"; std::cout << "- JSON: " << array_json << endl; SUBTEST( "simdjson_result", test_ondemand_doc(array_json, [&](auto doc_result) { int count = 0; @@ -123,7 +123,7 @@ namespace scalar_tests { } { - padded_string whitespace_array_json = std::string("[") + std::string(json) + " ]"; + padded_string whitespace_array_json = "["s + std::string(json) + " ]"; std::cout << "- JSON: " << whitespace_array_json << endl; SUBTEST( "simdjson_result", test_ondemand_doc(whitespace_array_json, [&](auto doc_result) { @@ -256,7 +256,7 @@ namespace scalar_tests { ASSERT_EQUAL( expected, T(doc) ); return true; })); - padded_string array_json = std::string("[") + std::string(json) + "]"; + padded_string array_json = "["s + std::string(json) + "]"; std::cout << "- JSON: " << array_json << endl; SUBTEST( "value", test_ondemand_doc(array_json, [&](auto doc_result) { int count = 0;