summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/test_case.c40
-rw-r--r--tests/test_case.expected1
-rwxr-xr-xtests/test_case.test12
3 files changed, 53 insertions, 0 deletions
diff --git a/tests/test_case.c b/tests/test_case.c
new file mode 100644
index 0000000..936afee
--- /dev/null
+++ b/tests/test_case.c
@@ -0,0 +1,40 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <string.h>
+#include <assert.h>
+
+#include "json.h"
+#include "json_tokener.h"
+
+static void test_case_parse(void);
+
+int main(int argc, char **argv)
+{
+ MC_SET_DEBUG(1);
+
+ test_case_parse();
+}
+
+/* make sure only lowercase forms are parsed in strict mode */
+static void test_case_parse()
+{
+ struct json_tokener *tok;
+ json_object *new_obj;
+
+ tok = json_tokener_new();
+ json_tokener_set_flags(tok, JSON_TOKENER_STRICT);
+
+ new_obj = json_tokener_parse_ex(tok, "True", 4);
+ assert (new_obj == NULL);
+
+ new_obj = json_tokener_parse_ex(tok, "False", 5);
+ assert (new_obj == NULL);
+
+ new_obj = json_tokener_parse_ex(tok, "Null", 4);
+ assert (new_obj == NULL);
+
+ printf("OK\n");
+
+ json_tokener_free(tok);
+}
diff --git a/tests/test_case.expected b/tests/test_case.expected
new file mode 100644
index 0000000..d86bac9
--- /dev/null
+++ b/tests/test_case.expected
@@ -0,0 +1 @@
+OK
diff --git a/tests/test_case.test b/tests/test_case.test
new file mode 100755
index 0000000..ad0a099
--- /dev/null
+++ b/tests/test_case.test
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Common definitions
+if test -z "$srcdir"; then
+ srcdir="${0%/*}"
+ test "$srcdir" = "$0" && srcdir=.
+ test -z "$srcdir" && srcdir=.
+fi
+. "$srcdir/test-defs.sh"
+
+run_output_test test_case
+exit $?