 36af74cb25
			
		
	
	36af74cb25
	
	
	
		
			
			Some manual changes done to the library were lost with this update. They will be added in the next commit.
		
			
				
	
	
		
			172 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			172 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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/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
 | |
|      
 | |
| # End of testdata/testinput18
 |