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('𠀋ABC', 3)\"/>|", "<t>|BC|</t>"}, |
71 { "|<xsl:value-of select=\"substring('𠀋ABC', 3)\"/>|", "<t>|BC|</t>"}, |
69 { "|<xsl:value-of select=\"substring('𠀋ABC', 3, 1)\"/>|", "<t>|B|</t>" }, |
72 { "|<xsl:value-of select=\"substring('𠀋ABC', 3, 1)\"/>|", "<t>|B|</t>" }, |
70 { "|<xsl:value-of select=\"substring('𠀋ABC', 2, 2)\"/>|", "<t>|AB|</t>"}, |
73 { "|<xsl:value-of select=\"substring('𠀋ABC', 2, 2)\"/>|", "<t>|AB|</t>"}, |
71 { "|<xsl:value-of select=\"substring('𠀋ABC', 3, 2)\"/>|", "<t>|BC|</t>"}, |
74 { "|<xsl:value-of select=\"substring('𠀋ABC', 3, 2)\"/>|", "<t>|BC|</t>"}, |
72 { "|<xsl:value-of select=\"substring('𠀋ABC', 3, 4)\"/>|", "<t>|BC|</t>"}, |
75 { "|<xsl:value-of select=\"substring('𠀋ABC', 3, 4)\"/>|", "<t>|BC|</t>"}, |
73 { "|<xsl:value-of select=\"substring('𠀋ABC', 1, 1)\"/>|", "<t>|𠀋|</t>"}, |
76 { "|<xsl:value-of select=\"substring('𠀋ABC', 1, 1)\"/>|", "<t>|𠀋|</t>"}, |
74 { "|<xsl:value-of select=\"substring('𠀋ABC', 2, 1)\"/>|", "<t>|A|</t>"}, |
77 { "|<xsl:value-of select=\"substring('𠀋ABC', 2, 1)\"/>|", "<t>|A|</t>"}, |
75 { "|<xsl:value-of select=\"substring('𠀋ABC', 1, 1 div 0)\"/>|", "<t>|𠀋ABC|</t>"}, |
78 { "|<xsl:value-of select=\"substring('𠀋ABC', 1, 1 div 0)\"/>|", "<t>|𠀋ABC|</t>"}, |
76 { "|<xsl:value-of select=\"substring('𠀋ABC', -10, 1 div 0)\"/>|", "<t>|𠀋ABC|</t>"}, |
79 { "|<xsl:value-of select=\"substring('𠀋ABC', -10, 1 div 0)\"/>|", "<t>|𠀋ABC|</t>"}, |
|
80 // 8076290 bug test case |
|
81 { "|<xsl:value-of select=\"substring('𠀋ABC', 0, 2)\"/>|", "<t>|𠀋|</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 |