blob: a13cfdb9c4ed6009d9164385a45194b671ed0482 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#!/bin/sh
# Test suite for mp.
run() {
[ "$filter" ] && case $1 in ($filter) ;; (*) return; esac
out=$(echo "$2" | ./mp 2>&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 filter="$1"
trap 'echo "$pass passed, $fail failed"; exit $((fail))' EXIT
run basic1 "parse\nformat" ''
run basic2 'parse null\nformat' 'null'
run basic3 'parse true\nformat' 'true'
run basic4 'parse false\nformat' 'false'
run num1 'parse 12\nformat' '12'
run str1 'parse "hello"\nformat' '"hello"'
run arr1 'parse []\nformat' '[]'
run arr2 'parse [null]\nformat' '[null]'
run arr3 'parse [true,false]\nformat' '[true,false]'
run obj1 'parse {}\nformat' '{}'
|