1
0
mirror of https://gitlab.gnome.org/GNOME/libxslt synced 2025-07-29 15:41:13 +03:00

make sure to register EXSLT for the bindings add a specific test minor

* python/libxslt.c: make sure to register EXSLT for the bindings
* python/tests/Makefile.am python/tests/exslt.py: add a specific test
* xsltproc/xsltproc.c: minor cleanup
Daniel
This commit is contained in:
Daniel Veillard
2002-11-16 22:26:08 +00:00
parent 0eeb098cf1
commit ccc8569012
5 changed files with 68 additions and 1 deletions

57
python/tests/exslt.py Executable file
View File

@ -0,0 +1,57 @@
#!/usr/bin/python -u
import sys
import libxml2
import libxslt
# Memory debug specific
libxml2.debugMemory(1)
styledoc = libxml2.parseDoc(
"""<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:str="http://exslt.org/strings"
exclude-result-prefixes="str">
<xsl:template match="/">
<out>;
str:tokenize('2001-06-03T11:40:23', '-T:')
<xsl:copy-of select="str:tokenize('2001-06-03T11:40:23', '-T:')"/>;
str:tokenize('date math str')
<xsl:copy-of select="str:tokenize('date math str')"/>;
</out>
</xsl:template>
</xsl:stylesheet>
""")
style = libxslt.parseStylesheetDoc(styledoc)
doc = libxml2.parseDoc("<doc/>")
result = style.applyStylesheet(doc, None)
stringval = style.saveResultToString(result)
style.freeStylesheet()
doc.freeDoc()
result.freeDoc()
expect="""<?xml version="1.0"?>
<out>;
str:tokenize('2001-06-03T11:40:23', '-T:')
<token>2001</token><token>06</token><token>03</token><token>11</token><token>40</token><token>23</token>;
str:tokenize('date math str')
<token>date</token><token>math</token><token>str</token>;
</out>
"""
if stringval != expect:
print "Exslt processing failed"
sys.exit(255)
# Memory debug specific
libxslt.cleanup()
if libxml2.debugMemory(1) == 0:
print "OK"
else:
print "Memory leak %d bytes" % (libxml2.debugMemory(1))
libxml2.dumpMemory()