summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests33
1 files changed, 21 insertions, 12 deletions
diff --git a/tests b/tests
index e416f3f..2fcbc3b 100755
--- a/tests
+++ b/tests
@@ -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}'