# 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
\= 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

# End of testinput20
