63 lines
		
	
	
		
			990 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			990 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # This set of tests exercises the serialization/deserialization 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
 | |
|     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
 | |
| 
 | |
| # End of testinput19 
 | 
