xref: /aosp_15_r20/external/libxml2/python/tests/tstURI.py (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker#!/usr/bin/env python3
2*7c568831SAndroid Build Coastguard Workerimport sys
3*7c568831SAndroid Build Coastguard Workerimport setup_test
4*7c568831SAndroid Build Coastguard Workerimport libxml2
5*7c568831SAndroid Build Coastguard Worker
6*7c568831SAndroid Build Coastguard Worker# Memory debug specific
7*7c568831SAndroid Build Coastguard Workerlibxml2.debugMemory(1)
8*7c568831SAndroid Build Coastguard Worker
9*7c568831SAndroid Build Coastguard Workeruri = libxml2.parseURI("http://example.org:8088/foo/bar?query=simple#fragid")
10*7c568831SAndroid Build Coastguard Workerif uri.scheme() != 'http':
11*7c568831SAndroid Build Coastguard Worker    print("Error parsing URI: wrong scheme")
12*7c568831SAndroid Build Coastguard Worker    sys.exit(1)
13*7c568831SAndroid Build Coastguard Workerif uri.server() != 'example.org':
14*7c568831SAndroid Build Coastguard Worker    print("Error parsing URI: wrong server")
15*7c568831SAndroid Build Coastguard Worker    sys.exit(1)
16*7c568831SAndroid Build Coastguard Workerif uri.port() != 8088:
17*7c568831SAndroid Build Coastguard Worker    print("Error parsing URI: wrong port")
18*7c568831SAndroid Build Coastguard Worker    sys.exit(1)
19*7c568831SAndroid Build Coastguard Workerif uri.path() != '/foo/bar':
20*7c568831SAndroid Build Coastguard Worker    print("Error parsing URI: wrong path")
21*7c568831SAndroid Build Coastguard Worker    sys.exit(1)
22*7c568831SAndroid Build Coastguard Workerif uri.query() != 'query=simple':
23*7c568831SAndroid Build Coastguard Worker    print("Error parsing URI: wrong query")
24*7c568831SAndroid Build Coastguard Worker    sys.exit(1)
25*7c568831SAndroid Build Coastguard Workerif uri.fragment() != 'fragid':
26*7c568831SAndroid Build Coastguard Worker    print("Error parsing URI: wrong query")
27*7c568831SAndroid Build Coastguard Worker    sys.exit(1)
28*7c568831SAndroid Build Coastguard Workeruri.setScheme("https")
29*7c568831SAndroid Build Coastguard Workeruri.setPort(223)
30*7c568831SAndroid Build Coastguard Workeruri.setFragment(None)
31*7c568831SAndroid Build Coastguard Workerresult=uri.saveUri()
32*7c568831SAndroid Build Coastguard Workerif result != "https://example.org:223/foo/bar?query=simple":
33*7c568831SAndroid Build Coastguard Worker    print("Error modifying or saving the URI")
34*7c568831SAndroid Build Coastguard Workeruri = None
35*7c568831SAndroid Build Coastguard Worker
36*7c568831SAndroid Build Coastguard Worker# Memory debug specific
37*7c568831SAndroid Build Coastguard Workerlibxml2.cleanupParser()
38*7c568831SAndroid Build Coastguard Workerif libxml2.debugMemory(1) == 0:
39*7c568831SAndroid Build Coastguard Worker    print("OK")
40*7c568831SAndroid Build Coastguard Workerelse:
41*7c568831SAndroid Build Coastguard Worker    print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
42