/t/054-gsub-dfa.t
Unknown | 123 lines | 101 code | 22 blank | 0 comment | 0 complexity | f6b038b17a68c738dce7c9d89af26737 MD5 | raw file
- # vim:set ft= ts=4 sw=4 et fdm=marker:
- use lib 'lib';
- use Test::Nginx::Socket;
- #worker_connections(1014);
- #master_on();
- #workers(2);
- #log_level('warn');
- repeat_each(2);
- plan tests => repeat_each() * (blocks() * 2);
- #no_diff();
- no_long_string();
- run_tests();
- __DATA__
- === TEST 1: matched with d
- --- config
- location /re {
- content_by_lua '
- local s, n = ngx.re.gsub("hello, 1234 5678", "[0-9]|[0-9][0-9]", "world", "d")
- if n then
- ngx.say(s, ": ", n)
- else
- ngx.say(s)
- end
- ';
- }
- --- request
- GET /re
- --- response_body
- hello, worldworld worldworld: 4
- === TEST 2: not matched with d
- --- config
- location /re {
- content_by_lua '
- local s, n = ngx.re.gsub("hello, world", "[0-9]+", "hiya", "d")
- if n then
- ngx.say(s, ": ", n)
- else
- ngx.say(s)
- end
- ';
- }
- --- request
- GET /re
- --- response_body
- hello, world: 0
- === TEST 3: matched with do
- --- config
- location /re {
- content_by_lua '
- local s, n = ngx.re.gsub("hello, 1234 5678", "[0-9]|[0-9][0-9]", "world", "do")
- if n then
- ngx.say(s, ": ", n)
- else
- ngx.say(s)
- end
- ';
- }
- --- request
- GET /re
- --- response_body
- hello, worldworld worldworld: 4
- === TEST 4: not matched with do
- --- config
- location /re {
- content_by_lua '
- local s, n = ngx.re.gsub("hello, world", "[0-9]+", "hiya", "do")
- if n then
- ngx.say(s, ": ", n)
- else
- ngx.say(s)
- end
- ';
- }
- --- request
- GET /re
- --- response_body
- hello, world: 0
- === TEST 5: bad pattern
- --- config
- location /re {
- content_by_lua '
- rc, m = pcall(ngx.re.gsub, "hello\\nworld", "(abc", "world", "j")
- ngx.say(rc, ": ", m)
- ';
- }
- --- request
- GET /re
- --- response_body
- false: bad argument #2 to '?' (failed to compile regex "(abc": pcre_compile() failed: missing ) in "(abc")
- === TEST 6: bad pattern + o
- --- config
- location /re {
- content_by_lua '
- rc, m = pcall(ngx.re.gsub, "hello\\nworld", "(abc", "world", "jo")
- ngx.say(rc, ": ", m)
- ';
- }
- --- request
- GET /re
- --- response_body
- false: bad argument #2 to '?' (failed to compile regex "(abc": pcre_compile() failed: missing ) in "(abc")