mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2024-12-13 10:22:55 +01:00
Fixed bug #3139677: JSON [1 2 3] was incorrectly parsed as [1, 3]. Error is now correctly detected.
Modified runjsontests.py to allow test that expect failure in jsoncpp test suite.
This commit is contained in:
parent
565a1f3d39
commit
9c98f2277b
5
NEWS.txt
5
NEWS.txt
@ -68,6 +68,11 @@
|
||||
- Added test to ensure that the escape sequence "\/" is corrected handled
|
||||
by the parser.
|
||||
|
||||
* Bug fixes
|
||||
|
||||
- Bug #3139677: JSON [1 2 3] was incorrectly parsed as [1, 3]. Error is now correctly
|
||||
detected.
|
||||
|
||||
* License
|
||||
|
||||
- See file LICENSE for details. Basically JsonCpp is now licensed under
|
||||
|
@ -533,8 +533,8 @@ Reader::readArray( Token &tokenStart )
|
||||
{
|
||||
ok = readToken( token );
|
||||
}
|
||||
bool badTokenType = ( token.type_ == tokenArraySeparator &&
|
||||
token.type_ == tokenArrayEnd );
|
||||
bool badTokenType = ( token.type_ != tokenArraySeparator &&
|
||||
token.type_ != tokenArrayEnd );
|
||||
if ( !ok || badTokenType )
|
||||
{
|
||||
return addErrorAndRecover( "Missing ',' or ']' in array declaration",
|
||||
|
1
test/data/fail_test_array_01.json
Normal file
1
test/data/fail_test_array_01.json
Normal file
@ -0,0 +1 @@
|
||||
[ 1 2 3]
|
@ -49,7 +49,8 @@ def runAllTests( jsontest_executable_path, input_dir = None,
|
||||
failed_tests = []
|
||||
valgrind_path = use_valgrind and VALGRIND_CMD or ''
|
||||
for input_path in tests + test_jsonchecker:
|
||||
is_json_checker_test = input_path in test_jsonchecker
|
||||
expect_failure = os.path.basename( input_path ).startswith( 'fail' )
|
||||
is_json_checker_test = (input_path in test_jsonchecker) or expect_failure
|
||||
print 'TESTING:', input_path,
|
||||
options = is_json_checker_test and '--json-checker' or ''
|
||||
pipe = os.popen( "%s%s %s %s" % (
|
||||
@ -58,7 +59,6 @@ def runAllTests( jsontest_executable_path, input_dir = None,
|
||||
process_output = pipe.read()
|
||||
status = pipe.close()
|
||||
if is_json_checker_test:
|
||||
expect_failure = os.path.basename( input_path ).startswith( 'fail' )
|
||||
if expect_failure:
|
||||
if status is None:
|
||||
print 'FAILED'
|
||||
|
Loading…
Reference in New Issue
Block a user