Skip to content

Commit bed6b18

Browse files
committed
ljljlj
1 parent 37af7dd commit bed6b18

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

tests/test_gen.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,20 @@ TEST_SUITE("json generation test suite")
166166
char tmp1[30];
167167
auto left = nanojsoncpp::generate_value("float_value"sv, static_cast<nanojsoncpp::json_float_t>(3.14), tmp1);
168168
CHECK_FALSE(left.empty());
169+
#ifdef NANOJSONCPP_USE_CPP17_FROM_CHARS_TO_CHARS
170+
CHECK_EQ(R"("float_value":3.14,)"sv, std::string_view(tmp1, sizeof(tmp1) - left.size()));
171+
#else
169172
CHECK_EQ(R"("float_value":3.140000,)"sv, std::string_view(tmp1, sizeof(tmp1) - left.size()));
173+
#endif
170174

171175
char tmp2[30];
172176
auto left2 = nanojsoncpp::generate_value("float_value"sv, static_cast<nanojsoncpp::json_float_t>(-3.14), tmp2);
173177
CHECK_FALSE(left2.empty());
178+
#ifdef NANOJSONCPP_USE_CPP17_FROM_CHARS_TO_CHARS
179+
CHECK_EQ(R"("float_value":-3.14,)"sv, std::string_view(tmp2, sizeof(tmp2) - left2.size()));
180+
#else
174181
CHECK_EQ(R"("float_value":-3.140000,)"sv, std::string_view(tmp2, sizeof(tmp2) - left2.size()));
182+
#endif
175183

176184
char tmp3[15];
177185
auto left3 = nanojsoncpp::generate_value("float_value"sv, static_cast<nanojsoncpp::json_float_t>(3.14), tmp3);
@@ -183,12 +191,20 @@ TEST_SUITE("json generation test suite")
183191
char tmp1[20];
184192
auto left = nanojsoncpp::generate_value(""sv, static_cast<nanojsoncpp::json_float_t>(3.14), tmp1);
185193
CHECK_FALSE(left.empty());
194+
#ifdef NANOJSONCPP_USE_CPP17_FROM_CHARS_TO_CHARS
195+
CHECK_EQ("3.14,"sv, std::string_view(tmp1, sizeof(tmp1) - left.size()));
196+
#else
186197
CHECK_EQ("3.140000,"sv, std::string_view(tmp1, sizeof(tmp1) - left.size()));
198+
#endif
187199

188200
char tmp2[20];
189201
auto left2 = nanojsoncpp::generate_value(""sv, static_cast<nanojsoncpp::json_float_t>(-3.14), tmp2);
190202
CHECK_FALSE(left2.empty());
203+
#ifdef NANOJSONCPP_USE_CPP17_FROM_CHARS_TO_CHARS
204+
CHECK_EQ("-3.14,"sv, std::string_view(tmp2, sizeof(tmp2) - left2.size()));
205+
#else
191206
CHECK_EQ("-3.140000,"sv, std::string_view(tmp2, sizeof(tmp2) - left2.size()));
207+
#endif
192208

193209
char tmp3[3];
194210
auto left3 = nanojsoncpp::generate_value(""sv, static_cast<nanojsoncpp::json_float_t>(3.14), tmp3);

tests/test_utils.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ TEST_SUITE("nanojsoncpp utilities test suite")
2020
CHECK_EQ(nanojsoncpp::to_int(""), 0);
2121
CHECK_EQ(nanojsoncpp::to_int("-"), 0);
2222
CHECK_EQ(nanojsoncpp::to_int("+123"), 0);
23+
#ifdef NANOJSONCPP_USE_CPP17_FROM_CHARS_TO_CHARS
24+
CHECK_EQ(nanojsoncpp::to_int("12x3"), 12);
25+
#else
2326
CHECK_EQ(nanojsoncpp::to_int("12x3"), 0);
27+
#endif
2428

2529
// Valid values
2630
CHECK_EQ(nanojsoncpp::to_int("0"), 0);

0 commit comments

Comments
 (0)