mirror of https://github.com/bpkg/bpkg
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.2 KiB
Bash
55 lines
1.2 KiB
Bash
11 years ago
|
#! /usr/bin/env bash
|
||
|
|
||
|
cd ${0%/*}
|
||
|
. ../JSON.sh
|
||
|
|
||
|
i=0
|
||
|
fails=0
|
||
|
ttest () {
|
||
|
i=$((i+1))
|
||
|
local input="$1"; shift
|
||
|
local expected="$(printf '%s\n' "$@")"
|
||
|
echo "$expected" > /tmp/json_ttest_expected
|
||
|
if echo "$input" | tokenize | diff -u - /tmp/json_ttest_expected
|
||
|
then
|
||
|
echo "ok $i - $input"
|
||
|
else
|
||
|
echo "not ok $i - $input"
|
||
|
fails=$((fails+1))
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
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
|
||
|
then
|
||
|
fails=$((fails+1))
|
||
|
echo "Tokenizing package.json failed!"
|
||
|
fi
|
||
|
|
||
|
echo "$fails test(s) failed"
|
||
|
exit $fails
|