You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
225 lines
3.6 KiB
225 lines
3.6 KiB
7 months ago
|
# This set of tests is run only with the 8-bit library. It tests the POSIX
|
||
|
# interface, which is supported only with the 8-bit library. This test should
|
||
|
# not be run with JIT (which is not available for the POSIX interface).
|
||
|
|
||
|
#forbid_utf
|
||
|
#pattern posix
|
||
|
|
||
|
# Test some invalid options
|
||
|
|
||
|
/abc/auto_callout
|
||
|
** Ignored with POSIX interface: auto_callout
|
||
|
|
||
|
/abc/
|
||
|
abc\=find_limits
|
||
|
** Ignored with POSIX interface: find_limits
|
||
|
0: abc
|
||
|
|
||
|
/abc/
|
||
|
abc\=partial_hard
|
||
|
** Ignored with POSIX interface: partial_hard
|
||
|
0: abc
|
||
|
|
||
|
/a(())bc/parens_nest_limit=1
|
||
|
** Ignored with POSIX interface: parens_nest_limit
|
||
|
|
||
|
/abc/allow_surrogate_escapes,max_pattern_length=2
|
||
|
** Ignored with POSIX interface: allow_surrogate_escapes max_pattern_length
|
||
|
|
||
|
# Real tests
|
||
|
|
||
|
/abc/
|
||
|
abc
|
||
|
0: abc
|
||
|
|
||
|
/^abc|def/
|
||
|
abcdef
|
||
|
0: abc
|
||
|
abcdef\=notbol
|
||
|
0: def
|
||
|
|
||
|
/.*((abc)$|(def))/
|
||
|
defabc
|
||
|
0: defabc
|
||
|
1: abc
|
||
|
2: abc
|
||
|
defabc\=noteol
|
||
|
0: def
|
||
|
1: def
|
||
|
2: <unset>
|
||
|
3: def
|
||
|
|
||
|
/the quick brown fox/
|
||
|
the quick brown fox
|
||
|
0: the quick brown fox
|
||
|
\= Expect no match
|
||
|
The Quick Brown Fox
|
||
|
No match: POSIX code 17: match failed
|
||
|
|
||
|
/the quick brown fox/i
|
||
|
the quick brown fox
|
||
|
0: the quick brown fox
|
||
|
The Quick Brown Fox
|
||
|
0: The Quick Brown Fox
|
||
|
|
||
|
/(*LF)abc.def/
|
||
|
\= Expect no match
|
||
|
abc\ndef
|
||
|
No match: POSIX code 17: match failed
|
||
|
|
||
|
/(*LF)abc$/
|
||
|
abc
|
||
|
0: abc
|
||
|
abc\n
|
||
|
0: abc
|
||
|
|
||
|
/(abc)\2/
|
||
|
Failed: POSIX code 15: bad back reference at offset 6
|
||
|
|
||
|
/(abc\1)/
|
||
|
\= Expect no match
|
||
|
abc
|
||
|
No match: POSIX code 17: match failed
|
||
|
|
||
|
/a*(b+)(z)(z)/
|
||
|
aaaabbbbzzzz
|
||
|
0: aaaabbbbzz
|
||
|
1: bbbb
|
||
|
2: z
|
||
|
3: z
|
||
|
aaaabbbbzzzz\=ovector=0
|
||
|
Matched without capture
|
||
|
aaaabbbbzzzz\=ovector=1
|
||
|
0: aaaabbbbzz
|
||
|
aaaabbbbzzzz\=ovector=2
|
||
|
0: aaaabbbbzz
|
||
|
1: bbbb
|
||
|
|
||
|
/(*ANY)ab.cd/
|
||
|
ab-cd
|
||
|
0: ab-cd
|
||
|
ab=cd
|
||
|
0: ab=cd
|
||
|
\= Expect no match
|
||
|
ab\ncd
|
||
|
No match: POSIX code 17: match failed
|
||
|
|
||
|
/ab.cd/s
|
||
|
ab-cd
|
||
|
0: ab-cd
|
||
|
ab=cd
|
||
|
0: ab=cd
|
||
|
ab\ncd
|
||
|
0: ab\x0acd
|
||
|
|
||
|
/a(b)c/posix_nosub
|
||
|
abc
|
||
|
Matched with REG_NOSUB
|
||
|
|
||
|
/a(?P<name>b)c/posix_nosub
|
||
|
abc
|
||
|
Matched with REG_NOSUB
|
||
|
|
||
|
/(a)\1/posix_nosub
|
||
|
zaay
|
||
|
Matched with REG_NOSUB
|
||
|
|
||
|
/a?|b?/
|
||
|
abc
|
||
|
0: a
|
||
|
\= Expect no match
|
||
|
ddd\=notempty
|
||
|
No match: POSIX code 17: match failed
|
||
|
|
||
|
/\w+A/
|
||
|
CDAAAAB
|
||
|
0: CDAAAA
|
||
|
|
||
|
/\w+A/ungreedy
|
||
|
CDAAAAB
|
||
|
0: CDA
|
||
|
|
||
|
/\Biss\B/I,aftertext
|
||
|
** Ignored with POSIX interface: info
|
||
|
Mississippi
|
||
|
0: iss
|
||
|
0+ issippi
|
||
|
|
||
|
/abc/\
|
||
|
Failed: POSIX code 9: bad escape sequence at offset 4
|
||
|
|
||
|
"(?(?C)"
|
||
|
Failed: POSIX code 11: unbalanced () at offset 6
|
||
|
|
||
|
"(?(?C))"
|
||
|
Failed: POSIX code 3: pattern error at offset 6
|
||
|
|
||
|
/abcd/substitute_extended
|
||
|
** Ignored with POSIX interface: substitute_extended
|
||
|
|
||
|
/\[A]{1000000}**/expand,regerror_buffsize=31
|
||
|
Failed: POSIX code 4: ? * + invalid at offset 100000
|
||
|
** regerror() message truncated
|
||
|
|
||
|
/\[A]{1000000}**/expand,regerror_buffsize=32
|
||
|
Failed: POSIX code 4: ? * + invalid at offset 1000001
|
||
|
|
||
|
//posix_nosub
|
||
|
\=offset=70000
|
||
|
** Ignored with POSIX interface: offset
|
||
|
Matched with REG_NOSUB
|
||
|
|
||
|
/(?=(a\K))/
|
||
|
a
|
||
|
Start of matched string is beyond its end - displaying from end to start.
|
||
|
0: a
|
||
|
1: a
|
||
|
|
||
|
/^d(e)$/posix
|
||
|
acdef\=posix_startend=2:4
|
||
|
0: de
|
||
|
1: e
|
||
|
acde\=posix_startend=2
|
||
|
0: de
|
||
|
1: e
|
||
|
\= Expect no match
|
||
|
acdef
|
||
|
No match: POSIX code 17: match failed
|
||
|
acdef\=posix_startend=2
|
||
|
No match: POSIX code 17: match failed
|
||
|
|
||
|
/^a\x{00}b$/posix
|
||
|
a\x{00}b\=posix_startend=0:3
|
||
|
0: a\x00b
|
||
|
|
||
|
/"A" 00 "B"/hex
|
||
|
A\x{00}B\=posix_startend=0:3
|
||
|
0: A\x00B
|
||
|
|
||
|
/ABC/use_length
|
||
|
ABC
|
||
|
0: ABC
|
||
|
|
||
|
/a\b(c/literal,posix
|
||
|
a\\b(c
|
||
|
0: a\b(c
|
||
|
|
||
|
/a\b(c/literal,posix,dotall
|
||
|
Failed: POSIX code 16: bad argument at offset 0
|
||
|
|
||
|
/((a)(b)?(c))/posix
|
||
|
123ace
|
||
|
0: ac
|
||
|
1: ac
|
||
|
2: a
|
||
|
3: <unset>
|
||
|
4: c
|
||
|
123ace\=posix_startend=2:6
|
||
|
0: ac
|
||
|
1: ac
|
||
|
2: a
|
||
|
3: <unset>
|
||
|
4: c
|
||
|
|
||
|
# End of testdata/testinput18
|