mirror of
https://gitlab.gnome.org/GNOME/libxslt
synced 2025-07-31 02:43:06 +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:
@ -1,3 +1,9 @@
|
|||||||
|
Sat Nov 16 23:23:41 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
|
* 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
|
||||||
|
|
||||||
Fri Nov 15 12:35:57 CET 2002 Daniel Veillard <daniel@veillard.com>
|
Fri Nov 15 12:35:57 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
* python/Makefile.am python/tests/Makefile.am: trying to fix #98518
|
* python/Makefile.am python/tests/Makefile.am: trying to fix #98518
|
||||||
|
@ -458,6 +458,10 @@ void initlibxsltmod(void) {
|
|||||||
xmlInitMemory();
|
xmlInitMemory();
|
||||||
xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
|
xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
|
||||||
xmlDefaultSAXHandler.cdataBlock = NULL;
|
xmlDefaultSAXHandler.cdataBlock = NULL;
|
||||||
|
/*
|
||||||
|
* Register the EXSLT extensions and the test module
|
||||||
|
*/
|
||||||
|
exsltRegisterAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ EXAMPLE_DIR = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)/examples
|
|||||||
|
|
||||||
TESTSPY= \
|
TESTSPY= \
|
||||||
basic.py \
|
basic.py \
|
||||||
|
exslt.py \
|
||||||
extfunc.py
|
extfunc.py
|
||||||
|
|
||||||
XMLS= \
|
XMLS= \
|
||||||
|
57
python/tests/exslt.py
Executable file
57
python/tests/exslt.py
Executable 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()
|
@ -172,7 +172,6 @@ xsltprocExternalEntityLoader(const char *URL, const char *ID,
|
|||||||
}
|
}
|
||||||
for (i = 0;i < nbpaths;i++) {
|
for (i = 0;i < nbpaths;i++) {
|
||||||
xmlChar *newURL;
|
xmlChar *newURL;
|
||||||
int len;
|
|
||||||
|
|
||||||
newURL = xmlStrdup((const xmlChar *) paths[i]);
|
newURL = xmlStrdup((const xmlChar *) paths[i]);
|
||||||
newURL = xmlStrcat(newURL, (const xmlChar *) "/");
|
newURL = xmlStrcat(newURL, (const xmlChar *) "/");
|
||||||
|
Reference in New Issue
Block a user