Skip to content

Commit b9229b7

Browse files
committed
failing test for allowSingleQuotes
1 parent f9db82a commit b9229b7

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

src/test_lib_json/main.cpp

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1861,7 +1861,6 @@ JSONTEST_FIXTURE(CharReaderFailIfExtraTest, commentAfterBool) {
18611861
JSONTEST_ASSERT_EQUAL(true, root.asBool());
18621862
delete reader;
18631863
}
1864-
18651864
struct CharReaderAllowDropNullTest : JsonTest::TestCase {};
18661865

18671866
JSONTEST_FIXTURE(CharReaderAllowDropNullTest, issue178) {
@@ -2014,6 +2013,38 @@ JSONTEST_FIXTURE(CharReaderAllowDropNullTest, issue178) {
20142013
delete reader;
20152014
}
20162015

2016+
struct CharReaderAllowSingleQuotesTest : JsonTest::TestCase {};
2017+
2018+
JSONTEST_FIXTURE(CharReaderAllowSingleQuotesTest, issue182) {
2019+
Json::CharReaderBuilder b;
2020+
b.settings_["allowSingleQuotes"] = true;
2021+
Json::Value root;
2022+
std::string errs;
2023+
Json::CharReader* reader(b.newCharReader());
2024+
{
2025+
char const doc[] = "{'a':true,\"b\":true}";
2026+
bool ok = reader->parse(
2027+
doc, doc + std::strlen(doc),
2028+
&root, &errs);
2029+
JSONTEST_ASSERT(ok);
2030+
JSONTEST_ASSERT_STRING_EQUAL("", errs);
2031+
JSONTEST_ASSERT_EQUAL(2u, root.size());
2032+
JSONTEST_ASSERT_EQUAL(true, root.get("a", false));
2033+
JSONTEST_ASSERT_EQUAL(true, root.get("b", false));
2034+
}
2035+
{
2036+
char const doc[] = "{'a': 'x', \"b\":'y'}";
2037+
bool ok = reader->parse(
2038+
doc, doc + std::strlen(doc),
2039+
&root, &errs);
2040+
JSONTEST_ASSERT(ok);
2041+
JSONTEST_ASSERT_STRING_EQUAL("", errs);
2042+
JSONTEST_ASSERT_EQUAL(2u, root.size());
2043+
JSONTEST_ASSERT_STRING_EQUAL("x", root["a"].asString());
2044+
JSONTEST_ASSERT_STRING_EQUAL("y", root["b"].asString());
2045+
}
2046+
}
2047+
20172048
struct IteratorTest : JsonTest::TestCase {};
20182049

20192050
JSONTEST_FIXTURE(IteratorTest, distance) {
@@ -2079,6 +2110,8 @@ int main(int argc, const char* argv[]) {
20792110

20802111
JSONTEST_REGISTER_FIXTURE(runner, CharReaderAllowDropNullTest, issue178);
20812112

2113+
JSONTEST_REGISTER_FIXTURE(runner, CharReaderAllowSingleQuotesTest, issue182);
2114+
20822115
JSONTEST_REGISTER_FIXTURE(runner, IteratorTest, distance);
20832116

20842117
return runner.runCommandLine(argc, argv);

0 commit comments

Comments
 (0)