aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Pulford <mark@kyne.com.au>2011-05-16 19:46:05 +0930
committerMark Pulford <mark@kyne.com.au>2011-05-16 19:46:05 +0930
commit6ba7499ac5992c8cc849ffcbd6d2837d305f5b63 (patch)
treef7765d77bb51d3401f4fe0a9acc7279596928918
parent22550d0ab3328554922822ca0207996b3d1bb73e (diff)
downloadlua-cjson-6ba7499ac5992c8cc849ffcbd6d2837d305f5b63.tar.gz
lua-cjson-6ba7499ac5992c8cc849ffcbd6d2837d305f5b63.tar.bz2
lua-cjson-6ba7499ac5992c8cc849ffcbd6d2837d305f5b63.zip
Add support for stdin to encode.lua/decode.lua
-rw-r--r--tests/common.lua33
-rwxr-xr-xtests/decode.lua15
-rwxr-xr-xtests/encode.lua14
3 files changed, 42 insertions, 20 deletions
diff --git a/tests/common.lua b/tests/common.lua
index e08b6c2..0b231bd 100644
--- a/tests/common.lua
+++ b/tests/common.lua
@@ -96,12 +96,21 @@ function dump_value(value)
96end 96end
97 97
98function file_load(filename) 98function file_load(filename)
99 local file, err = io.open(filename) 99 local file
100 if file == nil then 100 if filename == nil then
101 error("Unable to read " .. filename) 101 file = io.stdin
102 else
103 local err
104 file, err = io.open(filename)
105 if file == nil then
106 error(string.format("Unable to read '%s': %s", filename, err))
107 end
102 end 108 end
103 local data = file:read("*a") 109 local data = file:read("*a")
104 file:close() 110
111 if filename ~= nil then
112 file:close()
113 end
105 114
106 if data == nil then 115 if data == nil then
107 error("Failed to read " .. filename) 116 error("Failed to read " .. filename)
@@ -111,12 +120,20 @@ function file_load(filename)
111end 120end
112 121
113function file_save(filename, data) 122function file_save(filename, data)
114 local file, err = io.open(filename, "w") 123 local file
115 if file == nil then 124 if filename == nil then
116 error("Unable to write " .. filename) 125 file = io.stdout
126 else
127 local err
128 file, err = io.open(filename, "w")
129 if file == nil then
130 error(string.format("Unable to write '%s': %s", filename, err))
131 end
117 end 132 end
118 file:write(data) 133 file:write(data)
119 file:close() 134 if filename ~= nil then
135 file:close()
136 end
120end 137end
121 138
122function compare_values(val1, val2) 139function compare_values(val1, val2)
diff --git a/tests/decode.lua b/tests/decode.lua
index c042168..cac29e6 100755
--- a/tests/decode.lua
+++ b/tests/decode.lua
@@ -1,11 +1,14 @@
1#!/usr/bin/env lua 1#!/usr/bin/env lua
2 2
3-- usage: decode.lua [json_file]
4--
5-- Eg:
6-- echo '[ "testing" ]' | ./decode.lua
7-- ./decode.lua test.json
8
3require "common" 9require "common"
4require "cjson" 10require "cjson"
5 11
6if not arg[1] then 12local json_text = file_load(arg[1])
7 print("usage: decode.lua FILE") 13local t = cjson.decode(json_text)
8 os.exit(-1) 14print(serialise_value(t))
9end
10
11print(serialise_value(cjson.decode(file_load(arg[1]))))
diff --git a/tests/encode.lua b/tests/encode.lua
index e8026cc..f13787c 100755
--- a/tests/encode.lua
+++ b/tests/encode.lua
@@ -1,5 +1,11 @@
1#!/usr/bin/env lua 1#!/usr/bin/env lua
2 2
3-- usage: encode.lua [lua_file]
4--
5-- Eg:
6-- echo '{ "testing" }' | ./encode.lua
7-- ./encode.lua lua_data.lua
8
3require "common" 9require "common"
4require "cjson" 10require "cjson"
5 11
@@ -16,11 +22,7 @@ function get_lua_table(file)
16 return env.data 22 return env.data
17end 23end
18 24
19if not arg[1] then 25local t = get_lua_table(arg[1])
20 print("usage: encode.lua FILE") 26print(cjson.encode(t))
21 os.exit(-1)
22end
23
24print(cjson.encode(get_lua_table(arg[1])))
25 27
26-- vi:ai et sw=4 ts=4: 28-- vi:ai et sw=4 ts=4: