Viewing file: test_command_line.py (4.59 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import os, sys, tempfile
from Ft.Lib.CommandLine import CommandLineTestUtil from Ft.Xml.Lib import TreeCompare
source_1 = """<?xml version = "1.0"?> <ADDRBOOK> <ENTRY ID="pa"> <NAME>Pieter Aaron</NAME> <ADDRESS>404 Error Way</ADDRESS> <PHONENUM DESC="Work">404-555-1234</PHONENUM> <PHONENUM DESC="Fax">404-555-4321</PHONENUM> <PHONENUM DESC="Pager">404-555-5555</PHONENUM> <EMAIL>pieter.aaron@inter.net</EMAIL> </ENTRY> <ENTRY ID="en"> <NAME>Emeka Ndubuisi</NAME> <ADDRESS>42 Spam Blvd</ADDRESS> <PHONENUM DESC="Work">767-555-7676</PHONENUM> <PHONENUM DESC="Fax">767-555-7642</PHONENUM> <PHONENUM DESC="Pager">800-SKY-PAGEx767676</PHONENUM> <EMAIL>endubuisi@spamtron.com</EMAIL> </ENTRY> <ENTRY ID="vz"> <NAME>Vasia Zhugenev</NAME> <ADDRESS>2000 Disaster Plaza</ADDRESS> <PHONENUM DESC="Work">000-987-6543</PHONENUM> <PHONENUM DESC="Cell">000-000-0000</PHONENUM> <EMAIL>vxz@magog.ru</EMAIL> </ENTRY> </ADDRBOOK>"""
sheet_1 = """<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:strip-space elements='*'/>
<xsl:param name='title' select='"Untitled"'/> <xsl:template match="/"> <HTML> <HEAD> <TITLE><xsl:value-of select='$title'/></TITLE> </HEAD> <BODY> <TABLE><xsl:apply-templates/></TABLE> </BODY> </HTML> </xsl:template>
<xsl:template match="ENTRY"> <xsl:element name='TR'> <xsl:apply-templates select='NAME'/> </xsl:element> <xsl:if test='not(position()=last())'><HR/></xsl:if> </xsl:template>
<xsl:template match="NAME"> <xsl:element name='TD'> <xsl:attribute name='ALIGN'>CENTER</xsl:attribute> <B><xsl:apply-templates/></B> </xsl:element> </xsl:template>
</xsl:stylesheet> """
expected_1 = """<HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <TITLE>Untitled</TITLE> </HEAD> <BODY> <TABLE> <TR> <TD ALIGN="CENTER"><B>Pieter Aaron</B></TD> </TR> <HR> <TR> <TD ALIGN="CENTER"><B>Emeka Ndubuisi</B></TD> </TR> <HR> <TR> <TD ALIGN="CENTER"><B>Vasia Zhugenev</B></TD> </TR> </TABLE> </BODY> </HTML>"""
expected_2 = """<HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <TITLE>Untitled</TITLE> </HEAD> <BODY> <TABLE> <TR> <TD ALIGN="CENTER"><B>Pieter Aaron</B></TD> </TR> <HR> <TR> <TD ALIGN="CENTER"><B>Emeka Ndubuisi</B></TD> </TR> <HR> <TR> <TD ALIGN="CENTER"><B>Vasia Zhugenev</B></TD> </TR> </TABLE> </BODY> </HTML>"""
expected_3 = """<HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <TITLE>Address Book</TITLE> </HEAD> <BODY> <TABLE> <TR> <TD ALIGN="CENTER"><B>Pieter Aaron</B></TD> </TR> <HR> <TR> <TD ALIGN="CENTER"><B>Emeka Ndubuisi</B></TD> </TR> <HR> <TR> <TD ALIGN="CENTER"><B>Vasia Zhugenev</B></TD> </TR> </TABLE> </BODY> </HTML>"""
def Test(tester): xml_file = tempfile.mktemp() xslt_file = tempfile.mktemp() output_file = tempfile.mktemp() f = open(xml_file, 'w') f.write(source_1) f.close() f = open(xslt_file, 'w') f.write(sheet_1) f.close()
tr1 = CommandLineTestUtil.TestRun('Simple Transform', {}, [xml_file, xslt_file], expectedOut=expected_1, compareFunc=TreeCompare.TreeCompare) tr2 = CommandLineTestUtil.TestRun('Transform to output file', {'outfile' : output_file}, [xml_file, xslt_file], outFile=output_file, expectedOut=expected_2, compareFunc=TreeCompare.TreeCompare) tr3 = CommandLineTestUtil.TestRun('Transform with parameters', {'define' : 'title=Address Book'}, [xml_file, xslt_file], expectedOut=expected_3, compareFunc=TreeCompare.TreeCompare) t = CommandLineTestUtil.Test('4xslt',[tr1,tr2,tr3]) t.test(tester)
os.unlink(xml_file) os.unlink(xslt_file) return
|