aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_util_json.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_util_json.lua')
-rw-r--r--tests/test_util_json.lua21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/test_util_json.lua b/tests/test_util_json.lua
new file mode 100644
index 00000000..2c1a9ce9
--- /dev/null
+++ b/tests/test_util_json.lua
@@ -0,0 +1,21 @@
+
+function encode(encode, json)
+ local function test(f, j, e)
+ if e then
+ assert_equal(f(j), e);
+ end
+ assert_equal(f(j), f(json.decode(f(j))));
+ end
+ test(encode, json.null, "null")
+ test(encode, {}, "{}")
+ test(encode, {a=1});
+ test(encode, {a={1,2,3}});
+ test(encode, {1}, "[1]");
+end
+
+function decode(decode)
+ local empty_array = decode("[]");
+ assert_equal(type(empty_array), "table");
+ assert_equal(#empty_array, 0);
+ assert_equal(next(empty_array), nil);
+end