summaryrefslogtreecommitdiff
path: root/tests
blob: 9241180c7cc8d5b44064846ccec051c2f45f3a29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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'