| # 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 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 |
| |
| # 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 |
| 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/no_auto_capture |
| abc |
| Matched with REG_NOSUB |
| |
| /a(?P<name>b)c/no_auto_capture |
| abc |
| 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 3 |
| |
| "(?(?C)" |
| Failed: POSIX code 3: pattern error at offset 2 |
| |
| /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 |
| |
| # End of testdata/testinput18 |