aboutsummaryrefslogtreecommitdiff
path: root/tests/lua2json.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lua2json.lua')
-rwxr-xr-xtests/lua2json.lua34
1 files changed, 6 insertions, 28 deletions
diff --git a/tests/lua2json.lua b/tests/lua2json.lua
index ebe7380..2a9ddf9 100755
--- a/tests/lua2json.lua
+++ b/tests/lua2json.lua
@@ -9,34 +9,12 @@
9local json = require "cjson" 9local json = require "cjson"
10local misc = require "cjson-misc" 10local misc = require "cjson-misc"
11 11
12function get_lua_table(s) 12local env = {
13 local env = {} 13 json = { null = json.null },
14 local func 14 null = json.null
15}
15 16
16 env.json = {} 17local t = misc.run_script("data = " .. misc.file_load(arg[1]), env)
17 env.json.null = json.null 18print(json.encode(t.data))
18 env.null = json.null
19 s = "data = " .. s
20
21 -- Use setfenv() if it exists, otherwise assume Lua 5.2 load() exists
22 if _G.setfenv then
23 func = loadstring(s)
24 if func then
25 setfenv(func, env)
26 end
27 else
28 func = load(s, nil, nil, env)
29 end
30
31 if func == nil then
32 error("Invalid syntax. Failed to parse Lua table.")
33 end
34 func()
35
36 return env.data
37end
38
39local t = get_lua_table(misc.file_load(arg[1]))
40print(json.encode(t))
41 19
42-- vi:ai et sw=4 ts=4: 20-- vi:ai et sw=4 ts=4: