blob: 6cb453d6c9ff97bbcbd952d814d332e9ae272a7b [file] [log] [blame]
#!/usr/bin/perl -T
use lib '.';
use lib 't';
use SATest; sa_t_init("regexp_named_capture");
use Test::More;
plan tests => 14;
# ---------------------------------------------------------------------------
%patterns = (
q{ 1.0 TEST_CAPTURE_1 } => '',
q{ 1.0 TEST_CAPTURE_2 } => '',
q{ 1.0 TEST_CAPTURE_3 } => '',
q{ 1.0 TEST_CAPTURE_4 } => '',
q{ 1.0 TEST_CAPTURE_5 } => '',
q{ 1.0 TEST_CAPTURE_6 } => '',
q{ 1.0 TEST_CAPTURE_7 } => '',
qr/tag TESTCAP1 is now ready, value: Ximian\n/ => '',
qr/tag TESTCAP2 is now ready, value: Ximian\n/ => '',
qr/tag TESTCAP3 is now ready, value: gnome\.org\n/ => '',
qr/tag TESTCAP4 is now ready, value: milkplus\n/ => '',
qr/tag TESTCAP5 is now ready, value: release\n/ => '',
);
%anti_patterns = (
q{ warn: } => '',
q{ 1.0 TEST_CAPTURE_8 } => '',
);
tstlocalrules (q{
body TEST_CAPTURE_1 /release of (?<TESTCAP1>\w+)/
rawbody TEST_CAPTURE_2 /release of (?<TESTCAP2>\w+)/
uri TEST_CAPTURE_3 /ftp\.(?<TESTCAP3>[\w.]+)/
header TEST_CAPTURE_4 Message-ID =~ /@(?<TESTCAP4>\w+)/
full TEST_CAPTURE_5 /X-Spam-Status.* preview (?<TESTCAP5>\w+)/s
# Use some captured tag
body TEST_CAPTURE_6 m,www\.%{TESTCAP1}\.,i
# We can also use common tags like HEADER()
body TEST_CAPTURE_7 m{www\.%{HEADER(From:addr:domain)}/}
# Should not hit
body TEST_CAPTURE_8 m,www\.\%{TESTCAP1}\.,i
});
sarun ("-D check,config -L -t < data/nice/001 2>&1", \&patterns_run_cb);
ok_all_patterns();