# HG changeset patch # User Sergey Kandaurov # Date 1431612282 -10800 # Node ID eea2b0158b513ce2de3c37f08a6b5eccae4e636e # Parent 2cd00179f4b2778e59b52e1b5e4166e63f8cffa9 Tests: sub filter tests for complex variable. diff --git a/sub_filter.t b/sub_filter.t --- a/sub_filter.t +++ b/sub_filter.t @@ -21,7 +21,7 @@ use Test::Nginx; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/http rewrite sub/)->plan(22) +my $t = Test::Nginx->new()->has(qw/http rewrite sub/)->plan(25) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -78,6 +78,16 @@ http { sub_filter_once off; return 200 $arg_b; } + + location /var/string { + sub_filter X$arg_a _replaced; + return 200 $arg_b; + } + + location /var/replacement { + sub_filter aab '${arg_a}_replaced'; + return 200 $arg_b; + } } } @@ -116,4 +126,16 @@ like(http_get('/single/many?b=AA'), qr/B like(http_get('/single/many?b=CAAC'), qr/CBBC/, 'single many middle'); like(http_get('/single/many?b=CA'), qr/CB/, 'single many end'); +TODO: { +local $TODO = 'not yet'; + +like(http_get('/var/string?a=foo&b=Xfoo'), qr/_replaced/, 'complex string'); +like(http_get('/var/string?a=abcdefghijklmnopq&b=Xabcdefghijklmnopq'), + qr/_replaced/, 'complex string long'); + +} + +like(http_get('/var/replacement?a=ee&b=aaab'), qr/aee_replaced/, + 'complex replacement'); + ###############################################################################