Add JSON_REJECT_DUPLICATES decoding flag
[jansson.git] / test / suites / api / test_load.c
index ecb46d8..83143fb 100644 (file)
@@ -9,7 +9,7 @@
 #include <string.h>
 #include "util.h"
 
-int main()
+static void file_not_found()
 {
     json_t *json;
     json_error_t error;
@@ -21,6 +21,21 @@ int main()
         fail("json_load_file returned an invalid line number");
     if(strcmp(error.text, "unable to open /path/to/nonexistent/file.json: No such file or directory") != 0)
         fail("json_load_file returned an invalid error message");
+}
+
+static void reject_duplicates()
+{
+    json_error_t error;
+
+    if(json_loads("{\"foo\": 1, \"foo\": 2}", JSON_REJECT_DUPLICATES, &error))
+        fail("json_loads did not detect a duplicate key");
+    check_error("duplicate object key near '\"foo\"'", "<string>", 1, 16, 16);
+}
+
+int main()
+{
+    file_not_found();
+    reject_duplicates();
 
     return 0;
 }