From 122d824a8a6dab8025a2fe02045c8d4dd843fc75 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Wed, 23 Dec 2015 11:08:39 +0100 Subject: Added a Json parser and serializer to Lua API. --- Server/Plugins/Debuggers/Debuggers.lua | 28 ++++++++++++++++++++++++++++ Server/Plugins/Debuggers/Info.lua | 8 +++++++- 2 files changed, 35 insertions(+), 1 deletion(-) (limited to 'Server/Plugins/Debuggers') diff --git a/Server/Plugins/Debuggers/Debuggers.lua b/Server/Plugins/Debuggers/Debuggers.lua index 2b80e15c8..0559a4ef8 100644 --- a/Server/Plugins/Debuggers/Debuggers.lua +++ b/Server/Plugins/Debuggers/Debuggers.lua @@ -1921,6 +1921,34 @@ end +function HandleConsoleTestJson(a_Split, a_EntireCmd) + LOG("Testing Json parsing...") + local t1 = cJson:Parse([[{"a": 1, "b": "2", "c": [3, "4", 5] }]]) + assert(t1.a == 1) + assert(t1.b == "2") + assert(t1.c[1] == 3) + assert(t1.c[2] == "4") + assert(t1.c[3] == 5) + + local t2, msg = cJson:Parse([[{"some": invalid, json}]]) + assert(t2 == nil) + assert(type(msg) == "string") + LOG("Error message returned: " .. msg) + + LOG("Json parsing test succeeded") + + LOG("Testing Json serializing...") + local s1 = cJson:Serialize({a = 1, b = "2", c = {3, "4", 5}}, {indentation = " "}) + LOG("Serialization result: " .. (s1 or "")) + LOG("Json serializing test succeeded") + + return true +end + + + + + function HandleConsoleTestTracer(a_Split, a_EntireCmd) -- Check required params: if not(a_Split[7]) then diff --git a/Server/Plugins/Debuggers/Info.lua b/Server/Plugins/Debuggers/Info.lua index 8f5ef27df..f71ee5509 100644 --- a/Server/Plugins/Debuggers/Info.lua +++ b/Server/Plugins/Debuggers/Info.lua @@ -242,11 +242,17 @@ g_PluginInfo = HelpString = "Tests the world scheduling", }, + ["testjson"] = + { + Handler = HandleConsoleTestJson, + HelpString = "Tests the cJson parser and serializer", + }, + ["testtracer"] = { Handler = HandleConsoleTestTracer, HelpString = "Tests the cLineBlockTracer", - } + }, }, -- ConsoleCommands } -- g_PluginInfo -- cgit v1.2.3