From de93a78d3002ee72bb1c7e3a629d67e19623a4ae Mon Sep 17 00:00:00 2001 From: lijunlong Date: Wed, 22 Feb 2023 11:28:15 +0800 Subject: feature: Add option to skip invalid value types. Co-authored-by: Jesper Lundgren --- tests/agentzh.t | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tests') diff --git a/tests/agentzh.t b/tests/agentzh.t index 2e7c8ce..552630a 100644 --- a/tests/agentzh.t +++ b/tests/agentzh.t @@ -306,3 +306,29 @@ print(b) {"test":"http:\/\/google.com\/google"} {"test":"http://google.com/google"} {"test":"http:\/\/google.com\/google"} + + + +=== TEST 22: disable error on invalid type +--- lua +local cjson = require "cjson" +local f = function (x) return 2*x end +local res, err = pcall(cjson.encode, f) +print(err) +local t = {f = f, valid = "valid"} +local res, err = pcall(cjson.encode, t) +print(err) +local arr = {"one", "two", f, "three"} +local res, err = pcall(cjson.encode, arr) +print(err) +cjson.encode_skip_unsupported_value_types(true) +print(cjson.encode(f)) +print(cjson.encode(t)) +print(cjson.encode(arr)) +--- out +Cannot serialise function: type not supported +Cannot serialise function: type not supported +Cannot serialise function: type not supported + +{"valid":"valid"} +["one","two","three"] -- cgit v1.2.3-55-g6feb