1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
# vim:set ft= ts=4 sw=4 et fdm=marker:
use Test::Nginx::Socket::Lua;
#worker_connections(1014);
#master_process_enabled(1);
log_level('warn');
repeat_each(2);
plan tests => repeat_each() * (blocks() * 2);
#no_diff();
#no_long_string();
run_tests();
#md5_bin_bin is hard to test, so convert it to hex mode
__DATA__
=== TEST 1: set md5_bin hello ????xxoo
--- config
location = /md5_bin {
content_by_lua 'local a = string.gsub(ngx.md5_bin("hello"), ".", function (c)
return string.format("%02x", string.byte(c))
end); ngx.say(a)';
}
--- request
GET /md5_bin
--- response_body
5d41402abc4b2a76b9719d911017c592
=== TEST 2: set md5_bin hello ????xxoo
--- config
location = /md5_bin {
content_by_lua 'ngx.say(string.len(ngx.md5_bin("hello")))';
}
--- request
GET /md5_bin
--- response_body
16
=== TEST 3: set md5_bin hello
--- config
location = /md5_bin {
content_by_lua '
local s = ngx.md5_bin("hello")
s = string.gsub(s, ".", function (c)
return string.format("%02x", string.byte(c))
end)
ngx.say(s)
';
}
--- request
GET /md5_bin
--- response_body
5d41402abc4b2a76b9719d911017c592
=== TEST 4: nil string to ngx.md5_bin
--- config
location = /md5_bin {
content_by_lua '
local s = ngx.md5_bin(nil)
s = string.gsub(s, ".", function (c)
return string.format("%02x", string.byte(c))
end)
ngx.say(s)
';
}
--- request
GET /md5_bin
--- response_body
d41d8cd98f00b204e9800998ecf8427e
=== TEST 5: null string to ngx.md5_bin
--- config
location /md5_bin {
content_by_lua '
local s = ngx.md5_bin("")
s = string.gsub(s, ".", function (c)
return string.format("%02x", string.byte(c))
end)
ngx.say(s)
';
}
--- request
GET /md5_bin
--- response_body
d41d8cd98f00b204e9800998ecf8427e
=== TEST 6: use ngx.md5_bin in set_by_lua
--- config
location = /md5_bin {
set_by_lua $a 'return string.gsub(ngx.md5_bin("hello"), ".", function (c)
return string.format("%02x", string.byte(c))
end)';
echo $a;
}
--- request
GET /md5_bin
--- response_body
5d41402abc4b2a76b9719d911017c592
=== TEST 7: use ngx.md5_bin in set_by_lua (nil)
--- config
location = /md5_bin {
set_by_lua $a '
local s = ngx.md5_bin(nil)
s = string.gsub(s, ".", function (c)
return string.format("%02x", string.byte(c))
end)
return s
';
echo $a;
}
--- request
GET /md5_bin
--- response_body
d41d8cd98f00b204e9800998ecf8427e
=== TEST 8: use ngx.md5_bin in set_by_lua (null string)
--- config
location /md5_bin {
set_by_lua $a '
local s = ngx.md5_bin("")
s = string.gsub(s, ".", function (c)
return string.format("%02x", string.byte(c))
end)
return s
';
echo $a;
}
--- request
GET /md5_bin
--- response_body
d41d8cd98f00b204e9800998ecf8427e
=== TEST 9: md5_bin(number)
--- config
location = /t {
content_by_lua '
s = ngx.md5_bin(45)
s = string.gsub(s, ".", function (c)
return string.format("%02x", string.byte(c))
end)
ngx.say(s)
';
}
--- request
GET /t
--- response_body
6c8349cc7260ae62e3b1396831a8398f
|