2 * Copyright (c) 2009-2011 Petri Lehtinen <petri@digip.org>
4 * Jansson is free software; you can redistribute it and/or modify
5 * it under the terms of the MIT license. See LICENSE for details.
12 static void file_not_found()
17 json = json_load_file("/path/to/nonexistent/file.json", 0, &error);
19 fail("json_load_file returned non-NULL for a nonexistent file");
21 fail("json_load_file returned an invalid line number");
22 if(strcmp(error.text, "unable to open /path/to/nonexistent/file.json: No such file or directory") != 0)
23 fail("json_load_file returned an invalid error message");
26 static void reject_duplicates()
30 if(json_loads("{\"foo\": 1, \"foo\": 2}", JSON_REJECT_DUPLICATES, &error))
31 fail("json_loads did not detect a duplicate key");
32 check_error("duplicate object key near '\"foo\"'", "<string>", 1, 16, 16);
35 static void disable_eof_check()
40 const char *text = "{\"foo\": 1} garbage";
42 if(json_loads(text, 0, &error))
43 fail("json_loads did not detect garbage after JSON text");
44 check_error("end of file expected near 'garbage'", "<string>", 1, 18, 18);
46 json = json_loads(text, JSON_DISABLE_EOF_CHECK, &error);
48 fail("json_loads failed with JSON_DISABLE_EOF_CHECK");