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 
 |