From c439a4e1f1b30a9c5075bb81fe910cc584fa2abe Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 4 Mar 2016 22:17:16 +0000 Subject: Add tests for util.json --- tests/test.lua | 1 + tests/test_util_json.lua | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 tests/test_util_json.lua diff --git a/tests/test.lua b/tests/test.lua index 0fcc4907..4172b363 100644 --- a/tests/test.lua +++ b/tests/test.lua @@ -18,6 +18,7 @@ function run_all_tests() dotest "core.s2smanager" dotest "core.configmanager" dotest "util.ip" + dotest "util.json" dotest "util.stanza" dotest "util.sasl.scram" dotest "util.cache" 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 -- cgit v1.2.3 From 61688d5064b462ba9bef976de760d7244cce1826 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 4 Mar 2016 22:17:38 +0000 Subject: Makefile: Reduce verbosity of 'make test' so it only shows test failures --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 4e4a407d..a5cdbb37 100644 --- a/Makefile +++ b/Makefile @@ -53,7 +53,7 @@ clean: $(MAKE) clean -C util-src test: - cd tests && $(RUNWITH) test.lua + cd tests && $(RUNWITH) test.lua 0 util/%.so: $(MAKE) install -C util-src -- cgit v1.2.3 From df618247d3fb899b69668dfcc084a154e04c34c6 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 4 Mar 2016 22:27:04 +0000 Subject: util.json: Fix encoding of json.null (bug introduced in bf1f09a5bcf7) --- util/json.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/util/json.lua b/util/json.lua index becd295d..2c598446 100644 --- a/util/json.lua +++ b/util/json.lua @@ -145,7 +145,9 @@ end function simplesave(o, buffer) local t = type(o); - if t == "number" then + if o == null then + t_insert(buffer, "null"); + elseif t == "number" then t_insert(buffer, tostring(o)); elseif t == "string" then stringsave(o, buffer); -- cgit v1.2.3