| #!/usr/bin/env python3 | |
| import sys | |
| import setup_test | |
| import libxml2 | |
| # Memory debug specific | |
| libxml2.debugMemory(1) | |
| uri = libxml2.parseURI("http://example.org:8088/foo/bar?query=simple#fragid") | |
| if uri.scheme() != 'http': | |
| print("Error parsing URI: wrong scheme") | |
| sys.exit(1) | |
| if uri.server() != 'example.org': | |
| print("Error parsing URI: wrong server") | |
| sys.exit(1) | |
| if uri.port() != 8088: | |
| print("Error parsing URI: wrong port") | |
| sys.exit(1) | |
| if uri.path() != '/foo/bar': | |
| print("Error parsing URI: wrong path") | |
| sys.exit(1) | |
| if uri.query() != 'query=simple': | |
| print("Error parsing URI: wrong query") | |
| sys.exit(1) | |
| if uri.fragment() != 'fragid': | |
| print("Error parsing URI: wrong query") | |
| 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": | |
| print("Error modifying or saving the URI") | |
| uri = None | |
| # Memory debug specific | |
| libxml2.cleanupParser() | |
| if libxml2.debugMemory(1) == 0: | |
| print("OK") | |
| else: | |
| print("Memory leak %d bytes" % (libxml2.debugMemory(1))) | |