jdk/test/javax/xml/jaxp/transform/8062923/XslSubstringTest.java
changeset 29738 ac0aa9ac7043
parent 29721 8fe81a803610
equal deleted inserted replaced
29737:97a7dda5a87c 29738:ac0aa9ac7043
    21  * questions.
    21  * questions.
    22  */
    22  */
    23 
    23 
    24 /**
    24 /**
    25  * @test
    25  * @test
    26  * @bug 8062923 8062924 8074297
    26  * @bug 8062923 8062924 8074297 8076290
    27  * @run testng XslSubstringTest
    27  * @run testng XslSubstringTest
    28  * @summary Test xsl substring function with negative, Inf and
    28  * @summary Test xsl substring function with negative, Inf and
    29  * NaN length and few other use cases. Also test proper
    29  * NaN length and few other use cases. Also test proper
    30  * processing of supplementary characters by substring function.
    30  * processing of supplementary characters by substring function.
    31  */
    31  */
    57         return new Object[][] {
    57         return new Object[][] {
    58             { "|<xsl:value-of select=\"substring('asdf',2, 1)\"/>|", "<t>|s|</t>"},
    58             { "|<xsl:value-of select=\"substring('asdf',2, 1)\"/>|", "<t>|s|</t>"},
    59             { "|<xsl:value-of select=\"substring('asdf',2, 1 div 0)\"/>|", "<t>|sdf|</t>"},
    59             { "|<xsl:value-of select=\"substring('asdf',2, 1 div 0)\"/>|", "<t>|sdf|</t>"},
    60             { "|<xsl:value-of select=\"substring('asdf',2, -0 div 0)\"/>|", "<t>||</t>" },
    60             { "|<xsl:value-of select=\"substring('asdf',2, -0 div 0)\"/>|", "<t>||</t>" },
    61             { "|<xsl:value-of select=\"substring('asdf',2, 1 div 0)\"/>|", "<t>|sdf|</t>" },
    61             { "|<xsl:value-of select=\"substring('asdf',2, 1 div 0)\"/>|", "<t>|sdf|</t>" },
       
    62             // 8076290 bug test case
       
    63             { "|<xsl:value-of select=\"substring('123', 0, 3)\"/>|", "<t>|12|</t>"},
    62         };
    64         };
    63     }
    65     }
    64 
    66 
    65     @DataProvider(name = "SupplementaryCharactersTestData")
    67     @DataProvider(name = "SupplementaryCharactersTestData")
    66     private Object[][] bug8074297() {
    68     private Object[][] dataSupplementaryCharacters() {
    67         return new Object[][] {
    69         return new Object[][] {
       
    70             // 8074297 bug test cases
    68             { "|<xsl:value-of select=\"substring('&#131083;ABC', 3)\"/>|",    "<t>|BC|</t>"},
    71             { "|<xsl:value-of select=\"substring('&#131083;ABC', 3)\"/>|",    "<t>|BC|</t>"},
    69             { "|<xsl:value-of select=\"substring('&#131083;ABC', 3, 1)\"/>|", "<t>|B|</t>" },
    72             { "|<xsl:value-of select=\"substring('&#131083;ABC', 3, 1)\"/>|", "<t>|B|</t>" },
    70             { "|<xsl:value-of select=\"substring('&#131083;ABC', 2, 2)\"/>|", "<t>|AB|</t>"},
    73             { "|<xsl:value-of select=\"substring('&#131083;ABC', 2, 2)\"/>|", "<t>|AB|</t>"},
    71             { "|<xsl:value-of select=\"substring('&#131083;ABC', 3, 2)\"/>|", "<t>|BC|</t>"},
    74             { "|<xsl:value-of select=\"substring('&#131083;ABC', 3, 2)\"/>|", "<t>|BC|</t>"},
    72             { "|<xsl:value-of select=\"substring('&#131083;ABC', 3, 4)\"/>|", "<t>|BC|</t>"},
    75             { "|<xsl:value-of select=\"substring('&#131083;ABC', 3, 4)\"/>|", "<t>|BC|</t>"},
    73             { "|<xsl:value-of select=\"substring('&#131083;ABC', 1, 1)\"/>|", "<t>|&#131083;|</t>"},
    76             { "|<xsl:value-of select=\"substring('&#131083;ABC', 1, 1)\"/>|", "<t>|&#131083;|</t>"},
    74             { "|<xsl:value-of select=\"substring('&#131083;ABC', 2, 1)\"/>|", "<t>|A|</t>"},
    77             { "|<xsl:value-of select=\"substring('&#131083;ABC', 2, 1)\"/>|", "<t>|A|</t>"},
    75             { "|<xsl:value-of select=\"substring('&#131083;ABC', 1, 1 div 0)\"/>|", "<t>|&#131083;ABC|</t>"},
    78             { "|<xsl:value-of select=\"substring('&#131083;ABC', 1, 1 div 0)\"/>|", "<t>|&#131083;ABC|</t>"},
    76             { "|<xsl:value-of select=\"substring('&#131083;ABC', -10, 1 div 0)\"/>|", "<t>|&#131083;ABC|</t>"},
    79             { "|<xsl:value-of select=\"substring('&#131083;ABC', -10, 1 div 0)\"/>|", "<t>|&#131083;ABC|</t>"},
       
    80             // 8076290 bug test case
       
    81             { "|<xsl:value-of select=\"substring('&#131083;ABC', 0, 2)\"/>|", "<t>|&#131083;|</t>"},
    77         };
    82         };
    78     }
    83     }
    79 
    84 
    80     private String testTransform(String xsl) throws Exception {
    85     private String testTransform(String xsl) throws Exception {
    81         //Prepare sources for transormation
    86         //Prepare sources for transormation