2022-12-06 21:40:01 +00:00
#!/usr/bin/env python3
2002-02-23 10:10:33 +00:00
import sys
2023-08-15 12:49:27 +02:00
import setup_test
2002-02-23 10:10:33 +00:00
import libxml2
# Memory debug specific
libxml2 . debugMemory ( 1 )
uri = libxml2 . parseURI ( " http://example.org:8088/foo/bar?query=simple#fragid " )
if uri . scheme ( ) != ' http ' :
2013-03-30 21:38:20 +08:00
print ( " Error parsing URI: wrong scheme " )
2002-02-23 10:10:33 +00:00
sys . exit ( 1 )
if uri . server ( ) != ' example.org ' :
2013-03-30 21:38:20 +08:00
print ( " Error parsing URI: wrong server " )
2002-02-23 10:10:33 +00:00
sys . exit ( 1 )
if uri . port ( ) != 8088 :
2013-03-30 21:38:20 +08:00
print ( " Error parsing URI: wrong port " )
2002-02-23 10:10:33 +00:00
sys . exit ( 1 )
if uri . path ( ) != ' /foo/bar ' :
2013-03-30 21:38:20 +08:00
print ( " Error parsing URI: wrong path " )
2002-02-23 10:10:33 +00:00
sys . exit ( 1 )
if uri . query ( ) != ' query=simple ' :
2013-03-30 21:38:20 +08:00
print ( " Error parsing URI: wrong query " )
2002-02-23 10:10:33 +00:00
sys . exit ( 1 )
if uri . fragment ( ) != ' fragid ' :
2013-03-30 21:38:20 +08:00
print ( " Error parsing URI: wrong query " )
2002-02-23 10:10:33 +00:00
sys . exit ( 1 )
uri . setScheme ( " https " )
uri . setPort ( 223 )
uri . setFragment ( None )
result = uri . saveUri ( )
if result != " https://example.org:223/foo/bar?query=simple " :
2013-03-30 21:38:20 +08:00
print ( " Error modifying or saving the URI " )
2002-02-23 10:10:33 +00:00
uri = None
# Memory debug specific
libxml2 . cleanupParser ( )
if libxml2 . debugMemory ( 1 ) == 0 :
2013-03-30 21:38:20 +08:00
print ( " OK " )
2002-02-23 10:10:33 +00:00
else :
2013-03-30 21:38:20 +08:00
print ( " Memory leak %d bytes " % ( libxml2 . debugMemory ( 1 ) ) )