#!/usr/bin/perl -T
use
SATest; sa_t_init(
"mimeheader"
);
%patterns
= (
q{ 1.0 MIMEHEADER_TEST1 }
,
''
,
q{ 1.0 MIMEHEADER_TEST2 }
,
''
,
q{ 1.0 MATCH_NL_NONRAW }
,
''
,
q{ 1.0 MATCH_NL_RAW }
,
''
,
q{ 1.0 MIMEHEADER_FOUND1 }
,
''
,
q{ 1.0 MIMEHEADER_FOUND2 }
,
''
,
q{ 1.0 MIMEHEADER_CONCAT1 }
,
''
,
q{ 1.0 MIMEHEADER_RANGE1 }
,
''
,
q{ 1.0 MIMEHEADER_RANGE2 }
,
''
,
q{ 1.0 MIMEHEADER_RANGE3 }
,
''
,
q{ 1.0 MIMEHEADER_RANGE4 }
,
''
,
q{ 1.0 MIMEHEADER_MULTI1 }
,
''
,
q{ 1.0 MIMEHEADER_MULTIMETA1 }
,
''
,
q{ 1.0 MIMEHEADER_MULTI2 }
,
''
,
q{ 1.0 MIMEHEADER_MULTIMETA2 }
,
''
,
q{ 1.0 MIMEHEADER_CAPTURE1 }
,
''
,
qr/tag MIMECAP1 is now ready, value: text\/
plain\n/,
''
,
);
%anti_patterns
= (
'MIMEHEADER_NOTFOUND'
,
''
,
);
tstprefs (
q{
mimeheader MIMEHEADER_TEST1 content-type =~ /application\/msword/
mimeheader MIMEHEADER_TEST2 content-type =~ m!APPLICATION/MSWORD!i
mimeheader MATCH_NL_NONRAW Content-Type =~ /msword; name/
mimeheader MATCH_NL_RAW Content-Type:raw =~ /msword;\n\tname/
mimeheader MIMEHEADER_NOTFOUND1 xyzzy =~ /foobar/
mimeheader MIMEHEADER_FOUND1 xyzzy =~ /foobar/ [if-unset: xyzfoobarxyz]
mimeheader MIMEHEADER_FOUND2 Content-Type !~ /xyzzy/
# ALL and concat
mimeheader MIMEHEADER_CONCAT1 ALL =~ /\nContent-Type: multipart\/mixed;.*?\nContent-Type: multipart\/alternative;.*?\nContent-Type: text\/plain/s
tflags MIMEHEADER_CONCAT1 concat
# range
mimeheader MIMEHEADER_RANGE1 Content-Type =~ /^multipart\/mixed;/
tflags MIMEHEADER_RANGE1 range=1
mimeheader MIMEHEADER_RANGE2 Content-Type =~ /^multipart\/alternative.*?text\/plain; charset="iso-8859-2"$/s
tflags MIMEHEADER_RANGE2 range=2-3 concat
mimeheader MIMEHEADER_RANGE3 Content-Type =~ /Jurek/
tflags MIMEHEADER_RANGE3 range=2- concat
mimeheader MIMEHEADER_RANGE4 Content-Type =~ /Jurek/
tflags MIMEHEADER_RANGE4 range=-10
# multiple
mimeheader MIMEHEADER_MULTI1 Content-Type =~ /-[82]/ # iso-8859-2, two matches
tflags MIMEHEADER_MULTI1 multiple
meta MIMEHEADER_MULTIMETA1 MIMEHEADER_MULTI1 == 2
mimeheader MIMEHEADER_MULTI2 ALL =~ /^X-/m # Count X- starting headers
tflags MIMEHEADER_MULTI2 multiple
meta MIMEHEADER_MULTIMETA2 MIMEHEADER_MULTI2 == 4
# named regex capture
mimeheader MIMEHEADER_CAPTURE1 Content-Type =~ /(?<MIMECAP1>text\/\w+)/
}
);
sarun (
"-D check -L -t < data/nice/004 2>&1"
, \
&patterns_run_cb
);
ok_all_patterns();