Use table-driven tests for specific parsers

This commit is contained in:
Karen Wang and Max Brunsfeld 2014-03-20 18:15:38 -07:00 committed by Max Brunsfeld
parent 5869c1ea18
commit f248ece3aa
12 changed files with 355 additions and 167 deletions

View file

@ -0,0 +1,33 @@
==============================
recovers from top-level errors
==============================
[}
---
(ERROR)
==================================
recovers from errors inside arrays
==================================
[1,,2]
---
(value (array
(value (number))
(ERROR)
(value (number))))
==================================
recovers from errors inside objects
==================================
{ "key1": 1, 5 }
---
(value (object (string) (value (number)) (ERROR)))
==========================================
recovers from errors inside nested objects
==========================================
{ "key1": { "key2": 1, 2 }, [, "key3": 3 }
---
(value (object
(string) (value (object (string) (value (number)) (ERROR)))
(ERROR)
(string) (value (number))))

View file

@ -0,0 +1,44 @@
====================
parses empty objects
====================
{}
---
(value (object))
===================
parses empty arrays
===================
[]
---
(value (array))
===================
parses arrays
===================
[
1, 2, 3,
{ "stuff": "good" }
]
---
(value (array
(value (number))
(value (number))
(value (number))
(value (object
(string) (value (string))
))
))
===================
parses long objects
===================
{
"key1": "value1",
"key2": 1
}
---
(value (object
(string) (value (string))
(string) (value (number))
))