diff options
| author | Joel Klinghed <the_jk@spawned.biz> | 2025-10-19 00:50:49 +0200 |
|---|---|---|
| committer | Joel Klinghed <the_jk@spawned.biz> | 2025-10-19 00:50:49 +0200 |
| commit | 72db7f53e47e9c3840b15383da4dc3905f62e77d (patch) | |
| tree | 14f907675dea735cdebf59bacf6ee6965f5d9bc1 /test | |
| parent | 87276b730d88124f9dd990e76d92e2b0499ac808 (diff) | |
json: Fix ostream writer
Wrote boolean as 1 and 0.
Also improve test code coverage.
Diffstat (limited to 'test')
| -rw-r--r-- | test/json.cc | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/json.cc b/test/json.cc index 2fc7ad2..81cf7d6 100644 --- a/test/json.cc +++ b/test/json.cc @@ -203,6 +203,20 @@ TEST_P(Writer, quote3) { EXPECT_EQ(R"("\n")", str()); } +TEST_P(Writer, quote4) { + auto writer = make(); + writer->value("\r\n\t\b\f"); + + EXPECT_EQ(R"("\r\n\t\b\f")", str()); +} + +TEST_P(Writer, quote5) { + auto writer = make(); + writer->value("\x0f"); + + EXPECT_EQ(R"("\u000f")", str()); +} + TEST_P(Writer, float) { auto writer = make(); writer->value(3.14F); @@ -217,5 +231,35 @@ TEST_P(Writer, double) { EXPECT_EQ("3.14", str()); } +TEST_P(Writer, uint64) { + auto writer = make(); + writer->value(static_cast<uint64_t>(1000)); + + EXPECT_EQ("1000", str()); +} + +TEST_P(Writer, bool) { + auto writer = make(); + writer->value(true); + + EXPECT_EQ("true", str()); +} + +TEST_P(Writer, clear) { + auto writer = make(); + writer->value(true); + writer->clear(); + writer->value(false); + + switch (GetParam()) { + case Output::String: + EXPECT_EQ("false", str()); + break; + case Output::Stream: + EXPECT_EQ("truefalse", str()); + break; + } +} + INSTANTIATE_TEST_SUITE_P(AllOutputs, Writer, testing::Values(Output::String, Output::Stream)); |
