#!/bin/sh cd $(0%/*) # Can't detect sourcing in sh, so immediately terminate the attempt to parse source ../JSON.sh /tmp/json_ttest_expected if echo $input | tokenize | diff -u - /tmp/json_ttest_expected { echo "ok $i - $input" } else { echo "not ok $i - $input" setglobal fails = $shExpr('fails+1') } } ttest '"dah"' '"dah"' ttest '""' '""' ttest '["dah"]' '[' '"dah"' ']' ttest '" "' '" "' ttest '" \" "' '" \" "' ttest '["dah"]' '[' '"dah"' ']' ttest '123' '123' ttest '123.142' '123.142' ttest '-123' '-123' ttest '1e23' '1e23' ttest '0.1' '0.1' ttest '-110' '-110' ttest '-110.10' '-110.10' ttest '-110e10' '-110e10' ttest 'null' 'null' ttest 'true' 'true' ttest 'false' 'false' ttest '[ null , -110e10, "null" ]' \ '[' 'null' ',' '-110e10' ',' '"null"' ']' ttest '{"e": false}' '{' '"e"' ':' 'false' '}' ttest '{"e": "string"}' '{' '"e"' ':' '"string"' '}' if ! cat ../package.json | tokenize >/dev/null { setglobal fails = $shExpr('fails+1') echo "Tokenizing package.json failed!" } echo "$fails test(s) failed" exit $fails