Skip to content

Commit 2c8c1ac

Browse files
committed
all 8 failing cases from issue
1 parent c58e93b commit 2c8c1ac

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

src/test_lib_json/main.cpp

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1909,6 +1909,33 @@ JSONTEST_FIXTURE(CharReaderAllowDropNullTest, issue178) {
19091909
JSONTEST_ASSERT(errs == "");
19101910
JSONTEST_ASSERT_EQUAL(1u, root.size());
19111911
}
1912+
{
1913+
char const doc[] = "[,]";
1914+
bool ok = reader->parse(
1915+
doc, doc + std::strlen(doc),
1916+
&root, &errs);
1917+
JSONTEST_ASSERT(ok);
1918+
JSONTEST_ASSERT_STRING_EQUAL("", errs);
1919+
JSONTEST_ASSERT_EQUAL(2u, root.size());
1920+
}
1921+
{
1922+
char const doc[] = "[,,,]";
1923+
bool ok = reader->parse(
1924+
doc, doc + std::strlen(doc),
1925+
&root, &errs);
1926+
JSONTEST_ASSERT(ok);
1927+
JSONTEST_ASSERT_STRING_EQUAL("", errs);
1928+
JSONTEST_ASSERT_EQUAL(4u, root.size());
1929+
}
1930+
{
1931+
char const doc[] = "[null,]";
1932+
bool ok = reader->parse(
1933+
doc, doc + std::strlen(doc),
1934+
&root, &errs);
1935+
JSONTEST_ASSERT(ok);
1936+
JSONTEST_ASSERT_STRING_EQUAL("", errs);
1937+
JSONTEST_ASSERT_EQUAL(2u, root.size());
1938+
}
19121939
{
19131940
char const doc[] = "[,null]";
19141941
bool ok = reader->parse(
@@ -1918,6 +1945,33 @@ JSONTEST_FIXTURE(CharReaderAllowDropNullTest, issue178) {
19181945
JSONTEST_ASSERT(errs == "");
19191946
JSONTEST_ASSERT_EQUAL(2u, root.size());
19201947
}
1948+
{
1949+
char const doc[] = "[,,]";
1950+
bool ok = reader->parse(
1951+
doc, doc + std::strlen(doc),
1952+
&root, &errs);
1953+
JSONTEST_ASSERT(ok);
1954+
JSONTEST_ASSERT_STRING_EQUAL("", errs);
1955+
JSONTEST_ASSERT_EQUAL(3u, root.size());
1956+
}
1957+
{
1958+
char const doc[] = "[null,,]";
1959+
bool ok = reader->parse(
1960+
doc, doc + std::strlen(doc),
1961+
&root, &errs);
1962+
JSONTEST_ASSERT(ok);
1963+
JSONTEST_ASSERT_STRING_EQUAL("", errs);
1964+
JSONTEST_ASSERT_EQUAL(3u, root.size());
1965+
}
1966+
{
1967+
char const doc[] = "[,null,]";
1968+
bool ok = reader->parse(
1969+
doc, doc + std::strlen(doc),
1970+
&root, &errs);
1971+
JSONTEST_ASSERT(ok);
1972+
JSONTEST_ASSERT_STRING_EQUAL("", errs);
1973+
JSONTEST_ASSERT_EQUAL(3u, root.size());
1974+
}
19211975
{
19221976
char const doc[] = "[,,null]";
19231977
bool ok = reader->parse(
@@ -1927,6 +1981,26 @@ JSONTEST_FIXTURE(CharReaderAllowDropNullTest, issue178) {
19271981
JSONTEST_ASSERT(errs == "");
19281982
JSONTEST_ASSERT_EQUAL(3u, root.size());
19291983
}
1984+
{
1985+
char const doc[] = "[[],,,]";
1986+
bool ok = reader->parse(
1987+
doc, doc + std::strlen(doc),
1988+
&root, &errs);
1989+
JSONTEST_ASSERT(ok);
1990+
JSONTEST_ASSERT_STRING_EQUAL("", errs);
1991+
JSONTEST_ASSERT_EQUAL(4u, root.size());
1992+
JSONTEST_ASSERT_EQUAL(Json::arrayValue, root[0u]);
1993+
}
1994+
{
1995+
char const doc[] = "[,[],,]";
1996+
bool ok = reader->parse(
1997+
doc, doc + std::strlen(doc),
1998+
&root, &errs);
1999+
JSONTEST_ASSERT(ok);
2000+
JSONTEST_ASSERT_STRING_EQUAL("", errs);
2001+
JSONTEST_ASSERT_EQUAL(4u, root.size());
2002+
JSONTEST_ASSERT_EQUAL(Json::arrayValue, root[1u]);
2003+
}
19302004
{
19312005
char const doc[] = "[,,,[]]";
19322006
bool ok = reader->parse(

0 commit comments

Comments
 (0)