diff options
Diffstat (limited to 'tests')
| -rwxr-xr-x | tests | 33 |
1 files changed, 21 insertions, 12 deletions
@@ -3,9 +3,9 @@ run() { [ "$filter" ] && case $1 in ($filter) ;; (*) return; esac - out=$(echo "$2" | ./mp 2>&1) + out=$(printf %s "$2" | ./mp 2>&1) [ "$out" = "$3" ] && pass=$((pass + 1)) && return - printf "%s FAIL\nWant: \"%s\"\n Got: \"%s\"\n" "$1" "$3" "$out" + printf "%s FAIL\nWant: '%s'\n Got: '%s'\n" "$1" "$3" "$out" fail=$((fail + 1)) return 1 } @@ -14,13 +14,22 @@ run() { pass=0 fail=0 filter="$1" trap 'echo "$pass passed, $fail failed"; exit $((fail != 0))' EXIT -run basic_1 'parse_string\nformat' '' -run basic_2 'parse_string null\nformat' 'null' -run basic_3 'parse_string true\nformat' 'true' -run basic_4 'parse_string false\nformat' 'false' -run number_1 'parse_string 12\nformat' '12' -run string_1 'parse_string "hello"\nformat' '"hello"' -run array_1 'parse_string []\nformat' '[]' -run array_2 'parse_string [null]\nformat' '[null]' -run array_3 'parse_string [true,false]\nformat' '[true,false]' -run object_1 'parse_string {}\nformat' '{}' +run basic_1 '' '' +run basic_2 'null' 'null' +run basic_3 'true' 'true' +run basic_4 'false' 'false' +run number_1 '12' '12' +run string_1 '"hello"' '"hello"' +run string_2 '"hello \"world\""' '"hello \"world\""' +run string_3 '""' '""' +run array_1 '[]' '[]' +run array_2 '[null]' '[null]' +run array_3 '[true,false]' '[true,false]' +run object_1 '{}' '{}' +run object_2 '{"":false}' '{"":false}' +run object_3 '{"":false,"1": true}' '{"":false,"1":true}' +run object_4 '{ }' '{}' +run object_5 '{ +}' '{}' +run object_6 '{"id": +1}' '{"id":1}' |
