aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_util_json.sh
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2016-03-05 20:50:17 +0000
committerMatthew Wild <mwild1@gmail.com>2016-03-05 20:50:17 +0000
commit9b896c90a7ffbc6986b554c2f454f70cef58a680 (patch)
tree50a8c372a53ab0e814fee4015df46d5686649052 /tests/test_util_json.sh
parent3e0686f349b7aea1478bf54dc3ec1ab403ab8c2f (diff)
parent39dceba25851f3c9db32082f6217fbb2b7d6fc39 (diff)
downloadprosody-9b896c90a7ffbc6986b554c2f454f70cef58a680.tar.gz
prosody-9b896c90a7ffbc6986b554c2f454f70cef58a680.zip
Merge 0.10->trunk
Diffstat (limited to 'tests/test_util_json.sh')
-rwxr-xr-xtests/test_util_json.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/test_util_json.sh b/tests/test_util_json.sh
new file mode 100755
index 00000000..bbbd132b
--- /dev/null
+++ b/tests/test_util_json.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+export LUA_PATH="../?.lua;;"
+export LUA_CPATH="../?.so;;"
+
+#set -x
+
+if ! which "$RUNWITH"; then
+ echo "Unable to find interpreter $RUNWITH";
+ exit 1;
+fi
+
+if ! $RUNWITH -e 'assert(require"util.json")' 2>/dev/null; then
+ echo "Unable to find util.json";
+ exit 1;
+fi
+
+FAIL=0
+
+for f in json/pass*.json; do
+ if ! $RUNWITH -e 'local j=require"util.json" assert(j.decode(io.read("*a"))~=nil)' <"$f" 2>/dev/null; then
+ echo "Failed to decode valid JSON: $f";
+ FAIL=1
+ fi
+done
+
+for f in json/fail*.json; do
+ if ! $RUNWITH -e 'local j=require"util.json" assert(j.decode(io.read("*a"))==nil)' <"$f" 2>/dev/null; then
+ echo "Invalid JSON decoded without error: $f";
+ FAIL=1
+ fi
+done
+
+if [ "$FAIL" == "1" ]; then
+ echo "JSON tests failed"
+ exit 1;
+fi
+
+exit 0;