Diff

tests/test_util_json.sh @ 7237:472736b583fb

tests: Add extra tests for util.json
author Matthew Wild <mwild1@gmail.com>
date Sat, 05 Mar 2016 20:48:20 +0000
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test_util_json.sh	Sat Mar 05 20:48:20 2016 +0000
@@ -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;