| Mozilla XSLT |
| TransforMiiX Test Cases |
| This document serves to test basic XSL expressions. |
| |
| Testing xsl:variable and xsl:copy-of |
| Test: <xsl:copy-of select="$product-name"/> |
| Desired Result:TransforMiiX |
| Result: TransforMiiX |
| |
| Testing xsl:if |
| Test: <xsl:if test="x | y | z">true</xsl:if> |
| Desired Result: true |
| Result:true |
| |
| Testing xsl:if |
| Test: <xsl:if test="true()">true</xsl:if> |
| Desired Result: true |
| Result:true |
| |
| Testing xsl:if |
| Test: <xsl:if test="'a'='b'">a equals b</xsl:if> |
| <xsl:if test="'a'!='b'">a does not equal b</xsl:if> |
| Desired Result: a does not equal to b |
| Result:a does not equal b |
| |
| Testing xsl:if |
| Test: <xsl:if test="2+1-3"> 2+1-3 is true</xsl:if> |
| <xsl:if test="not(2+1-3)"> not(2+1-3) is true</xsl:if> |
| Desired Result:not(2+1-3) is true |
| Result:not(2+1-3) is true |
| |
| Testing xsl:choose |
| Test:see source |
| Desired Result: true |
| Result:true |
| |
| Testing parent and ancestor ops |
| Test:see source |
| Desired Result: true |
| Result:true |
| Testing basic xsl:apply-templates |
| Test:<xsl:apply-templates/> |
| Desired Result:element x, element y, element z |
| Result: element x, element y, element z |
| |
| Testing basic xsl:apply-templates with mode |
| Test:<xsl:apply-templates mode="mode-test"/> |
| Desired Result:x, y, z |
| Result:x, y, z |
| |
| Testing predicates |
| Test:see source |
| Desired Result:z |
| Result:z |
| |
| Testing predicates |
| Test:see source |
| Desired Result: |
| Result: |
| |
| Named Template/Call Template |
| |
| Test:<xsl:call-template name="named-template-test"/> |
| Desired Result:named template processed with default value! |
| Result: named template processed with default value! |
| |
| Test: - passing arguments to named templates (see xsl source) |
| Desired Result:named template processed with passed value! |
| Result: named template processed with passed value! |
| |
| Attribute Value Templates and variables |
| Test: |
| |
| <xsl:variable name="color">red</xsl:variable> |
| <FONT COLOR="{$color}">Red Text</FONT> |
| Desired Result:Red Text |
| Result:Red Text |
| Axis Identifiers (these should work, I need more test cases though) |
| Test: <xsl:if test="descendant::z">true</xsl:if> |
| Desired Result: true |
| Result: true |
| Test: <xsl:if test="not(descendant-or-self::no-element)">true</xsl:if> |
| Desired Result: true |
| Result: true |
| Test: <xsl:value-of select="count(x/attribute::*)"/> |
| Desired Result: 1 |
| Result: 1 |
| Creating Elements with xsl:element and xsl:attribute |
| Test: <xsl:element name="FONT"> |
| <xsl:attribute name="COLOR">blue</xsl:attribute> |
| Passed |
| </xsl:element> |
| Desired Result: Passed |
| Result: Passed |
| Using Attribute Sets |
| Test: <FONT xsl:use-attribute-sets="style1"> |
| Passed |
| </FONT> |
| Desired Result: Passed |
| Result: Passed |
| Test: <xsl:element name="FONT" use-attribute-sets="style1 style2"> |
| Passed |
| </xsl:element> |
| Desired Result: Passed |
| Result: Passed |
| Numbering (only simple numbering currently implemented) |
| Test: <xsl:number value="4"/> |
| Desired Result: 4 |
| Result: 4 |
| Test: see source |
| Desired Result: 1. x |
| 1. y |
| 1. z |
| Result: 1. x |
| 1. y |
| 1. z |
| Additive Expressions |
| Test: <xsl:value-of select="70+4"/> |
| Desired Result: 74 |
| Result: 74 |
| Test: <xsl:value-of select="-70+4"/> |
| Desired Result: -66 |
| Result: -66 |
| Test: <xsl:value-of select="1900+70+8-4"/> |
| Desired Result: 1974 |
| Result: 1974 |
| Test: <xsl:value-of select="(4+5)-(9+9)"/> |
| Desired Result: -9 |
| Result: -9 |
| Multiplicative Expressions |
| Test: <xsl:value-of select="7*4"/> |
| Desired Result: 28 |
| Result: 28 |
| Test: <xsl:value-of select="7mod 4"/> |
| Desired Result: 3 |
| Result: 3 |
| Test: <xsl:value-of select="7div 4"/> |
| Desired Result: 1.75 |
| Result: 1.75 |
| Test: <xsl:value-of select="7div 0"/> |
| Desired Result: Infinity |
| Result: Infinity |
| Test: <xsl:value-of select="0 div 0"/> |
| Desired Result: NaN |
| Result: NaN |
| Test: <xsl:variable name="x" select="7*3"/> |
| <xsl:variable name="y" select="3"/> |
| <xsl:value-of select="$x div $y"/> |
| Desired Result: 7 |
| Result: 7 |
| Precedence tests |
| Test: <xsl:value-of select="2 mod 2 = 0"/> |
| Desired Result: true |
| Result: true |
| Test: <xsl:value-of select="5 mod 2 < 5 and 2*6 >= 12"/> |
| Desired Result: true |
| Result: true |
| Test: <xsl:value-of select="5 mod 2 < 5 and 2*6>12"/> |
| Desired Result: false |
| Result: false |
| Test: <xsl:value-of select="4+5*3"/> |
| Desired Result: 19 |
| Result: 19 |
| Test: <xsl:value-of select="4+5*3+(6-4)*7"/> |
| Desired Result: 33 |
| Result: 33 |
| Automatic Result Type Conversion |
| Test: <xsl:value-of select="'747' + 8"/> |
| Desired Result: 755 |
| Result: 755 |