/tests/test-nginx/cases/lua-tests/054-gsub-dfa.t
Unknown | 134 lines | 111 code | 23 blank | 0 comment | 0 complexity | 140ed76226dd85afde16f19061b53b1a MD5 | raw file
Possible License(s): BSD-3-Clause
- # 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 + 1);
- #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 '
- local s, n, err = ngx.re.gsub("hello\\nworld", "(abc", "world", "j")
- if s then
- ngx.say("gsub: ", n)
- else
- ngx.say("error: ", err)
- end
- ';
- }
- --- request
- GET /re
- --- response_body
- error: failed to compile regex "(abc": pcre_compile() failed: missing ) in "(abc"
- === TEST 6: bad pattern + o
- --- config
- location /re {
- content_by_lua '
- local s, n, err = ngx.re.gsub("hello\\nworld", "(abc", "world", "jo")
- if s then
- ngx.say("gsub: ", n)
- else
- ngx.say("error: ", err)
- end
- ';
- }
- --- request
- GET /re
- --- response_body
- error: failed to compile regex "(abc": pcre_compile() failed: missing ) in "(abc"
- --- no_error_log
- [error]