@@ -1909,6 +1909,33 @@ JSONTEST_FIXTURE(CharReaderAllowDropNullTest, issue178) {
1909
1909
JSONTEST_ASSERT (errs == " " );
1910
1910
JSONTEST_ASSERT_EQUAL (1u , root.size ());
1911
1911
}
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
+ }
1912
1939
{
1913
1940
char const doc[] = " [,null]" ;
1914
1941
bool ok = reader->parse (
@@ -1918,6 +1945,33 @@ JSONTEST_FIXTURE(CharReaderAllowDropNullTest, issue178) {
1918
1945
JSONTEST_ASSERT (errs == " " );
1919
1946
JSONTEST_ASSERT_EQUAL (2u , root.size ());
1920
1947
}
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
+ }
1921
1975
{
1922
1976
char const doc[] = " [,,null]" ;
1923
1977
bool ok = reader->parse (
@@ -1927,6 +1981,26 @@ JSONTEST_FIXTURE(CharReaderAllowDropNullTest, issue178) {
1927
1981
JSONTEST_ASSERT (errs == " " );
1928
1982
JSONTEST_ASSERT_EQUAL (3u , root.size ());
1929
1983
}
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
+ }
1930
2004
{
1931
2005
char const doc[] = " [,,,[]]" ;
1932
2006
bool ok = reader->parse (
0 commit comments