@@ -1861,7 +1861,6 @@ JSONTEST_FIXTURE(CharReaderFailIfExtraTest, commentAfterBool) {
1861
1861
JSONTEST_ASSERT_EQUAL (true , root.asBool ());
1862
1862
delete reader;
1863
1863
}
1864
-
1865
1864
struct CharReaderAllowDropNullTest : JsonTest::TestCase {};
1866
1865
1867
1866
JSONTEST_FIXTURE (CharReaderAllowDropNullTest, issue178) {
@@ -2014,6 +2013,38 @@ JSONTEST_FIXTURE(CharReaderAllowDropNullTest, issue178) {
2014
2013
delete reader;
2015
2014
}
2016
2015
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
+
2017
2048
struct IteratorTest : JsonTest::TestCase {};
2018
2049
2019
2050
JSONTEST_FIXTURE (IteratorTest, distance) {
@@ -2079,6 +2110,8 @@ int main(int argc, const char* argv[]) {
2079
2110
2080
2111
JSONTEST_REGISTER_FIXTURE (runner, CharReaderAllowDropNullTest, issue178);
2081
2112
2113
+ JSONTEST_REGISTER_FIXTURE (runner, CharReaderAllowSingleQuotesTest, issue182);
2114
+
2082
2115
JSONTEST_REGISTER_FIXTURE (runner, IteratorTest, distance);
2083
2116
2084
2117
return runner.runCommandLine (argc, argv);
0 commit comments