summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests b/tests
new file mode 100755
index 0000000..9241180
--- /dev/null
+++ b/tests
@@ -0,0 +1,20 @@
+#!/bin/sh
+# Test suite for mp.
+
+run() {
+ out=$(echo "$2" | ./mp 2>&1 | tr -d '\034' | awk -v ORS='\\n' 1)
+ [ "$out" = "$3" ] && pass=$((pass + 1)) && return
+ printf "%s FAIL\nwant: \"%s\"\n got: \"%s\"\n" "$1" "$3" "$out"
+ fail=$((fail + 1))
+ return 1
+}
+
+[ "$FAILFAST" ] && set -e
+pass=0 fail=0
+trap 'echo "$pass passed, $fail failed"; exit $((fail))' EXIT
+
+run test1 'parse null' 'v[type]: null\n'
+run test2 'parse true' 'v[type]: true\n'
+run test3 'parse false' 'v[type]: false\n'
+run test4 'parse 12' 'v[string]: 12\nv[type]: number\n'
+run test5 'parse "hello"' 'v[string]: hello\nv[type]: string\n'