109 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| # This set of tests exercises the serialization/deserialization and code copy
 | |
| # functions in the library. It does not use UTF or JIT.
 | |
| 
 | |
| #forbid_utf
 | |
| 
 | |
| # Compile several patterns, push them onto the stack, and then write them
 | |
| # all to a file.
 | |
| 
 | |
| #pattern push
 | |
| 
 | |
| /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))
 | |
|   (?(DEFINE)
 | |
|   (?<NAME_PAT>[a-z]+)
 | |
|   (?<ADDRESS_PAT>\d+)
 | |
|   )/x
 | |
| /^(?:((.)(?1)\2|)|((.)(?3)\4|.))$/i
 | |
| 
 | |
| #save testsaved1
 | |
| 
 | |
| # Do it again for some more patterns.
 | |
| 
 | |
| /(*MARK:A)(*SKIP:B)(C|X)/mark
 | |
| /(?:(?<n>foo)|(?<n>bar))\k<n>/dupnames
 | |
| 
 | |
| #save testsaved2
 | |
| #pattern -push
 | |
| 
 | |
| # Reload the patterns, then pop them one by one and check them.
 | |
| 
 | |
| #load testsaved1
 | |
| #load testsaved2
 | |
| 
 | |
| #pop info
 | |
|     foofoo
 | |
|     barbar
 | |
| 
 | |
| #pop mark
 | |
|     C
 | |
| \= Expect no match
 | |
|     D
 | |
| 
 | |
| #pop
 | |
|     AmanaplanacanalPanama
 | |
| 
 | |
| #pop info
 | |
|     metcalfe 33
 | |
| 
 | |
| # Check for an error when different tables are used.
 | |
| 
 | |
| /abc/push,tables=1
 | |
| /xyz/push,tables=2
 | |
| #save testsaved1
 | |
| 
 | |
| #pop
 | |
|     xyz
 | |
| 
 | |
| #pop
 | |
|     abc
 | |
| 
 | |
| #pop should give an error
 | |
|     pqr
 | |
| 
 | |
| /abcd/pushcopy
 | |
|     abcd
 | |
| 
 | |
| #pop
 | |
|     abcd
 | |
| 
 | |
| #pop should give an error
 | |
| 
 | |
| /abcd/push
 | |
| #popcopy
 | |
|     abcd
 | |
| 
 | |
| #pop
 | |
|     abcd
 | |
| 
 | |
| /abcd/push
 | |
| #save testsaved1
 | |
| #pop should give an error
 | |
| 
 | |
| #load testsaved1
 | |
| #popcopy
 | |
|     abcd
 | |
| 
 | |
| #pop
 | |
|     abcd
 | |
| 
 | |
| #pop should give an error
 | |
| 
 | |
| /abcd/pushtablescopy
 | |
|     abcd
 | |
| 
 | |
| #popcopy
 | |
|     abcd
 | |
| 
 | |
| #pop
 | |
|     abcd
 | |
| 
 | |
| # Must only specify one of these
 | |
| 
 | |
| //push,pushcopy
 | |
| 
 | |
| //push,pushtablescopy
 | |
| 
 | |
| //pushcopy,pushtablescopy
 | |
| 
 | |
| # End of testinput20
 |