Viewing file: test_apply_imports.py (4.42 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
from Ft.Xml.Xslt import Error from Xml.Xslt import test_harness from Ft.Lib import Uri import os
base = os.getcwd() if base[-1] != os.sep: base += os.sep base = Uri.OsPathToUri(base)
SHEET_1 = """\ <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
<xsl:import href="Xml/Xslt/Core/test-apply-imports-1.xslt"/>
<xsl:template match="example"> <div style="border: solid red"> <xsl:apply-imports/> </div> </xsl:template>
</xsl:stylesheet> """
SHEET_URI = base + 'sheet_string'
SOURCE_1 = "<example>This is an example</example>"
EXPECTED_1 = """\ <?xml version='1.0' encoding='UTF-8'?> <div style="border: solid red"><pre>This is an example</pre></div>"""
SHEET_2a = """\ <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
<xsl:import href="Xml/Xslt/Core/test-apply-imports-2.xslt"/>
<xsl:template match="doc"> <body> <xsl:apply-imports/> </body> </xsl:template>
<xsl:template match="*"> <unknown-element><xsl:value-of select="name()"/></unknown-element> </xsl:template>
</xsl:stylesheet> """
SOURCE_2 = "<doc><example>This is an example<inconnu/></example></doc>"
EXPECTED_2a = """\ <?xml version="1.0" encoding="UTF-8"?>\n<body><div style="border: solid red"><unknown-element>example</unknown-element></div></body>"""
SHEET_2b = """\ <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
<xsl:import href="Xml/Xslt/Core/test-apply-imports-2.xslt"/>
<xsl:template match="doc"> <body> <xsl:apply-imports> <xsl:with-param name="border-style" select="'dotted'"/> </xsl:apply-imports> </body> </xsl:template>
<xsl:template match="*"> <unknown-element><xsl:value-of select="name()"/></unknown-element> </xsl:template>
</xsl:stylesheet> """
SHEET_2c = """\ <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:f="http://xmlns.4suite.org/ext" version="1.0" extension-element-prefixes="f" >
<xsl:import href="Xml/Xslt/Core/test-apply-imports-2.xslt"/>
<xsl:template match="doc"> <body> <f:apply-imports/> </body> </xsl:template>
<xsl:template match="*"> <unknown-element><xsl:value-of select="name()"/></unknown-element> </xsl:template>
</xsl:stylesheet> """
EXPECTED_2c = EXPECTED_2a
SHEET_2d = """\ <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:f="http://xmlns.4suite.org/ext" version="1.0" extension-element-prefixes="f" >
<xsl:import href="Xml/Xslt/Core/test-apply-imports-2.xslt"/>
<xsl:template match="doc"> <body> <f:apply-imports> <xsl:with-param name="border-style" select="'dotted'"/> </f:apply-imports> </body> </xsl:template>
<xsl:template match="*"> <unknown-element><xsl:value-of select="name()"/></unknown-element> </xsl:template>
</xsl:stylesheet> """
EXPECTED_2d = """\ <?xml version="1.0" encoding="UTF-8"?>\n<body><div style="border: dotted red"><unknown-element>example</unknown-element></div></body>"""
def Test(tester): source = test_harness.FileInfo(string=SOURCE_1) sheet = test_harness.FileInfo(string=SHEET_1, baseUri=SHEET_URI) test_harness.XsltTest(tester, source, [sheet], EXPECTED_1, title='xsl:apply-imports 1')
source = test_harness.FileInfo(string=SOURCE_2) sheet = test_harness.FileInfo(string=SHEET_2a, baseUri=SHEET_URI) test_harness.XsltTest(tester, source, [sheet], EXPECTED_2a, title='xsl:apply-imports 2')
source = test_harness.FileInfo(string=SOURCE_2) sheet = test_harness.FileInfo(string=SHEET_2b, baseUri=SHEET_URI) test_harness.XsltTest(tester, source, [sheet], None, title='xsl:apply-imports 2 with params', exceptionCode=Error.ILLEGAL_ELEMENT_CHILD, ) source = test_harness.FileInfo(string=SOURCE_2) sheet = test_harness.FileInfo(string=SHEET_2c, baseUri=SHEET_URI) test_harness.XsltTest(tester, source, [sheet], EXPECTED_2c, title='f:apply-imports')
source = test_harness.FileInfo(string=SOURCE_2) sheet = test_harness.FileInfo(string=SHEET_2d, baseUri=SHEET_URI) test_harness.XsltTest(tester, source, [sheet], EXPECTED_2d, title='f:apply-imports with params') return
|