Skip to content

Commit

Permalink
[fix] json emitter: ensure quoting version string scalars
Browse files Browse the repository at this point in the history
re #292
  • Loading branch information
biojppm committed Aug 30, 2022
1 parent f020b03 commit bfdda0e
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
3 changes: 2 additions & 1 deletion changelog/0.5.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
:barbar: b # was ok
:barbarbar: c # was ol
```
- Fix [#246](https://github.com/biojppm/rapidyaml/issues/246): add missing `#define` for the include guard of the amalgamated header.
- Fix [#253](https://github.com/biojppm/rapidyaml/issues/253): double-quoted emitter should encode carriage-return `\r` to preserve roundtrip equivalence:
```yaml
Tree tree;
Expand All @@ -83,6 +82,7 @@
EXPECT_EQ(tree2["s"].val(), tree["s"].val());
```
- Fix [#297](https://github.com/biojppm/rapidyaml/issues/297) ([PR#298](https://github.com/biojppm/rapidyaml/pull/298)): JSON emitter should escape control characters.
- Fix [#292](https://github.com/biojppm/rapidyaml/issues/292) ([PR#299](https://github.com/biojppm/rapidyaml/pull/299)): JSON emitter should quote version string scalars like `0.1.2`.
- Fix [#274](https://github.com/biojppm/rapidyaml/issues/274) ([PR#296](https://github.com/biojppm/rapidyaml/pull/296)): Lists with unindented items and trailing empty values parse incorrectly:
```yaml
foo:
Expand All @@ -106,4 +106,5 @@
=VAL :foo
=VAL :bar
```
- Fix [#246](https://github.com/biojppm/rapidyaml/issues/246): add missing `#define` for the include guard of the amalgamated header.
- Fix [cmake#8](https://github.com/biojppm/cmake/issues/8): `SOVERSION` missing from shared libraries.
9 changes: 9 additions & 0 deletions test/test_json.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,15 @@ broken_value: '0.30.2'
)");
}

TEST(emit_json, issue292)
{
EXPECT_FALSE(csubstr("0.1.0").is_number());
Tree t = parse_in_arena("{}");
t["james"] = "1.2.3";
auto s = emitrs_json<std::string>(t);
EXPECT_EQ(s, "{\"james\": \"1.2.3\"}");
}

TEST(emit_json, issue297)
{
char yml_buf[] = R"(
Expand Down

0 comments on commit bfdda0e

Please sign in to comment.