mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-10-28 23:14:57 +03:00
added more informations in the libxml2-python package including docs.
* configure.in libxml.spec.in python/Makefile.am python/TODO python/generator.py python/libxml2class.txt: added more informations in the libxml2-python package including docs. Slightly changed the class hierarchy * python/tests/*: added basic regression tests infrastructure too Daniel
This commit is contained in:
26
python/tests/Makefile.am
Normal file
26
python/tests/Makefile.am
Normal file
@@ -0,0 +1,26 @@
|
||||
EXAMPLE_DIR = $(prefix)/share/doc/libxml2-python-$(LIBXML_VERSION)/examples
|
||||
|
||||
TESTS= \
|
||||
tst.py \
|
||||
tstxpath.py \
|
||||
xpathext.py \
|
||||
xpath.py
|
||||
|
||||
XMLS= \
|
||||
tst.xml
|
||||
|
||||
EXTRA_DIST = $(TESTS) $(XMLS)
|
||||
|
||||
if WITH_PYTHON
|
||||
tests: $(TESTS)
|
||||
-@(CLASSPATH=".." ; export CLASSPATH; \
|
||||
for test in $(TESTS) ; do echo "-- $$test" ; $(PYTHON) $$test ; done)
|
||||
else
|
||||
tests:
|
||||
endif
|
||||
|
||||
install-data-local:
|
||||
$(mkinstalldirs) $(DESTDIR)$(EXAMPLE_DIR)
|
||||
-(for test in $(TESTS) $(XMLS); \
|
||||
do @INSTALL@ -m 0644 $$test $(DESTDIR)$(EXAMPLE_DIR) ; done)
|
||||
|
||||
10
python/tests/tst.py
Executable file
10
python/tests/tst.py
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/python -u
|
||||
import libxml2
|
||||
|
||||
doc = libxml2.parseFile("tst.xml")
|
||||
print doc.name
|
||||
root = doc.children
|
||||
print root.name
|
||||
child = root.children
|
||||
print child.name
|
||||
doc.freeDoc()
|
||||
1
python/tests/tst.xml
Normal file
1
python/tests/tst.xml
Normal file
@@ -0,0 +1 @@
|
||||
<doc><foo>bar</foo></doc>
|
||||
29
python/tests/tstxpath.py
Executable file
29
python/tests/tstxpath.py
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/python -u
|
||||
import libxml2
|
||||
|
||||
def foo(x):
|
||||
# print "foo called %s" % (x)
|
||||
return x + 1
|
||||
|
||||
def bar(x):
|
||||
# print "foo called %s" % (x)
|
||||
return "%s" % (x + 1)
|
||||
|
||||
doc = libxml2.parseFile("tst.xml")
|
||||
ctxt = doc.xpathNewContext()
|
||||
res = ctxt.xpathEval("//*")
|
||||
print res
|
||||
|
||||
libxml2.registerXPathFunction(ctxt._o, "foo", None, foo)
|
||||
libxml2.registerXPathFunction(ctxt._o, "bar", None, bar)
|
||||
i = 10000
|
||||
while i > 0:
|
||||
res = ctxt.xpathEval("foo(1)")
|
||||
i = i - 1
|
||||
print res
|
||||
i = 10000
|
||||
while i > 0:
|
||||
res = ctxt.xpathEval("bar(1)")
|
||||
i = i - 1
|
||||
print res
|
||||
doc.freeDoc()
|
||||
21
python/tests/xpath.py
Executable file
21
python/tests/xpath.py
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/python -u
|
||||
#
|
||||
# this test exercise the XPath basic engine, parser, etc, and
|
||||
# allows to detect memory leaks
|
||||
#
|
||||
import libxml2
|
||||
|
||||
doc = libxml2.parseFile("tst.xml")
|
||||
print doc
|
||||
i = 1000
|
||||
while i > 0:
|
||||
doc = libxml2.parseFile("tst.xml")
|
||||
ctxt = doc.xpathNewContext()
|
||||
res = ctxt.xpathEval("//*")
|
||||
doc.freeDoc()
|
||||
i = i -1
|
||||
doc = libxml2.parseFile("tst.xml")
|
||||
ctxt = doc.xpathNewContext()
|
||||
res = ctxt.xpathEval("//*")
|
||||
print res
|
||||
doc.freeDoc()
|
||||
33
python/tests/xpathext.py
Executable file
33
python/tests/xpathext.py
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/python -u
|
||||
#
|
||||
# This test exercise the extension of the XPath engine with
|
||||
# functions defined in Python.
|
||||
#
|
||||
import libxml2
|
||||
|
||||
def foo(x):
|
||||
# print "foo called %s" % (x)
|
||||
return x + 1
|
||||
|
||||
def bar(x):
|
||||
# print "foo called %s" % (x)
|
||||
return "%s" % (x + 1)
|
||||
|
||||
doc = libxml2.parseFile("tst.xml")
|
||||
ctxt = doc.xpathNewContext()
|
||||
res = ctxt.xpathEval("//*")
|
||||
print res
|
||||
|
||||
libxml2.registerXPathFunction(ctxt._o, "foo", None, foo)
|
||||
libxml2.registerXPathFunction(ctxt._o, "bar", None, bar)
|
||||
i = 10000
|
||||
while i > 0:
|
||||
res = ctxt.xpathEval("foo(1)")
|
||||
i = i - 1
|
||||
print res
|
||||
i = 10000
|
||||
while i > 0:
|
||||
res = ctxt.xpathEval("bar(1)")
|
||||
i = i - 1
|
||||
print res
|
||||
doc.freeDoc()
|
||||
Reference in New Issue
Block a user