Mercurial Hosting > luan
comparison web/src/luan/modules/web/Http.luan @ 458:507c0af598ba
improve Http.init_for_test
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 06 May 2015 12:29:37 -0600 |
parents | a8d03e6882c6 |
children | 895afcd2b281 |
comparison
equal
deleted
inserted
replaced
457:0ca5d1d6250b | 458:507c0af598ba |
---|---|
1 local Luan = require "luan:Luan" | 1 local Io = require "luan:Io" |
2 local ipairs = Luan.ipairs | |
3 local to_string = Luan.to_string | |
4 local Table = require "luan:Table" | |
5 require "luan:logging/Logging" -- initialize logging | 2 require "luan:logging/Logging" -- initialize logging |
6 | 3 |
7 | 4 |
8 | 5 |
9 | 6 |
10 function init_for_test() | 7 function init_for_test() |
11 | 8 |
12 function get_page(mod_name) | 9 function get_page(mod_name) |
10 local old_out = Io.stdout | |
13 local mod = require("site:"..mod_name) | 11 local mod = require("site:"..mod_name) |
14 mod.service() | 12 mod.service() |
15 return Table.concat(result) | 13 text_writer.close() |
14 Io.stdout = old_out | |
15 return result.read_text() | |
16 end | 16 end |
17 | 17 |
18 cookies = cookies or {} | 18 cookies = cookies or {} |
19 | 19 |
20 request = { | 20 request = { |
23 request.cookies = cookies | 23 request.cookies = cookies |
24 | 24 |
25 response = { | 25 response = { |
26 | 26 |
27 text_writer = function() | 27 text_writer = function() |
28 result = {} | 28 result = Io.uri "string:" |
29 return { | 29 text_writer = result.text_writer() |
30 write = function(...) | 30 return text_writer |
31 for _, v in ipairs{...} do | |
32 result[#result+1] = to_string(v) | |
33 end | |
34 end; | |
35 } | |
36 end; | 31 end; |
37 | 32 |
38 set_cookie = function(name,value) | 33 set_cookie = function(name,value) |
39 cookies[name] = value | 34 cookies[name] = value |
40 end; | 35 end; |