if(dump("[", 1, data))
return -1;
- if(n == 0)
+ if(n == 0) {
+ array->visited = 0;
return dump("]", 1, data);
+ }
if(dump_indent(flags, depth + 1, 0, dump, data))
return -1;
if(dump("{", 1, data))
return -1;
- if(!iter)
+ if(!iter) {
+ object->visited = 0;
return dump("}", 1, data);
+ }
if(dump_indent(flags, depth + 1, 0, dump, data))
return -1;
test_array \
test_equal \
test_copy \
+ test_dump \
test_load \
test_simple \
test_number \
test_array_SOURCES = test_array.c util.h
test_copy_SOURCES = test_copy.c util.h
+test_dump_SOURCES = test_dump.c util.h
test_load_SOURCES = test_load.c util.h
test_simple_SOURCES = test_simple.c util.h
test_number_SOURCES = test_number.c util.h
--- /dev/null
+/*
+ * Copyright (c) 2009, 2010 Petri Lehtinen <petri@digip.org>
+ *
+ * Jansson is free software; you can redistribute it and/or modify
+ * it under the terms of the MIT license. See LICENSE for details.
+ */
+
+#include <jansson.h>
+#include <string.h>
+#include "util.h"
+
+int main()
+{
+ json_t *json;
+ char *result;
+
+ /* Encode an empty object/array, add an item, encode again */
+
+ json = json_object();
+ result = json_dumps(json, 0);
+ if(!result || strcmp(result, "{}"))
+ fail("json_dumps failed");
+
+ json_object_set_new(json, "foo", json_integer(5));
+ result = json_dumps(json, 0);
+ if(!result || strcmp(result, "{\"foo\": 5}"))
+ fail("json_dumps failed");
+
+ json_decref(json);
+
+ json = json_array();
+ result = json_dumps(json, 0);
+ if(!result || strcmp(result, "[]"))
+ fail("json_dumps failed");
+ free(result);
+
+ json_array_append_new(json, json_integer(5));
+ result = json_dumps(json, 0);
+ if(!result || strcmp(result, "[5]"))
+ fail("json_dumps failed");
+ free(result);
+
+ json_decref(json);
+
+ return 0;
+}