aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorFabien Fleutot <fleutot@gmail.com>2013-06-18 11:01:46 +0200
committerFabien Fleutot <fleutot@gmail.com>2013-06-18 11:01:46 +0200
commit480a818bf0ef6de32527ba14fc2bb27e754d0612 (patch)
tree303513720855c252cad00d03fc17a012752f0f67 /test
parent22cd5833fcc0e272f26004a79c8545e959ba406b (diff)
downloadluasocket-480a818bf0ef6de32527ba14fc2bb27e754d0612.tar.gz
luasocket-480a818bf0ef6de32527ba14fc2bb27e754d0612.tar.bz2
luasocket-480a818bf0ef6de32527ba14fc2bb27e754d0612.zip
support multiple filters in ltn12.{sink,source}.chain()
Diffstat (limited to 'test')
-rw-r--r--test/ltn12test.lua25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/ltn12test.lua b/test/ltn12test.lua
index 74a45e8..e3f85fb 100644
--- a/test/ltn12test.lua
+++ b/test/ltn12test.lua
@@ -192,6 +192,21 @@ assert(filter(nil, 1), "filter not empty")
192print("ok") 192print("ok")
193 193
194-------------------------------- 194--------------------------------
195io.write("testing source.chain (with several filters): ")
196local function double(x) -- filter turning "ABC" into "AABBCC"
197 if not x then return end
198 local b={}
199 for k in x:gmatch'.' do table.insert(b, k..k) end
200 return table.concat(b)
201end
202source = ltn12.source.string(s)
203source = ltn12.source.chain(source, double, double, double)
204sink, t = ltn12.sink.table()
205assert(ltn12.pump.all(source, sink), "returned error")
206assert(table.concat(t) == double(double(double(s))), "mismatch")
207print("ok")
208
209--------------------------------
195io.write("testing source.chain (with split) and sink.chain (with merge): ") 210io.write("testing source.chain (with split) and sink.chain (with merge): ")
196source = ltn12.source.string(s) 211source = ltn12.source.string(s)
197filter = split(5) 212filter = split(5)
@@ -206,6 +221,15 @@ assert(filter2(nil, 1), "filter2 not empty")
206print("ok") 221print("ok")
207 222
208-------------------------------- 223--------------------------------
224io.write("testing sink.chain (with several filters): ")
225source = ltn12.source.string(s)
226sink, t = ltn12.sink.table()
227sink = ltn12.sink.chain(double, double, double, sink)
228assert(ltn12.pump.all(source, sink), "returned error")
229assert(table.concat(t) == double(double(double(s))), "mismatch")
230print("ok")
231
232--------------------------------
209io.write("testing filter.chain (and sink.chain, with split, merge): ") 233io.write("testing filter.chain (and sink.chain, with split, merge): ")
210source = ltn12.source.string(s) 234source = ltn12.source.string(s)
211filter = split(5) 235filter = split(5)
@@ -272,3 +296,4 @@ assert(filter3(nil, 1), "filter3 not empty")
272assert(filter4(nil, 1), "filter4 not empty") 296assert(filter4(nil, 1), "filter4 not empty")
273assert(filter5(nil, 1), "filter5 not empty") 297assert(filter5(nil, 1), "filter5 not empty")
274print("ok") 298print("ok")
299