[290538]: XSLT Model needs to be enhanced for XSLT 2.0
https://bugs.eclipse.org/bugs/show_bug.cgi?id=290538
diff --git a/tests/org.eclipse.wst.xsl.core.tests/projectfiles/XSLT20FunctionTest.xsl b/tests/org.eclipse.wst.xsl.core.tests/projectfiles/XSLT20FunctionTest.xsl
new file mode 100644
index 0000000..7493a0a
--- /dev/null
+++ b/tests/org.eclipse.wst.xsl.core.tests/projectfiles/XSLT20FunctionTest.xsl
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:template match="/">
+ <!-- TODO: Auto-generated template -->
+ </xsl:template>
+
+ <xsl:function name="func1">
+
+ </xsl:function>
+
+ <xsl:function name="func2">
+
+ </xsl:function>
+
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xsl.core.tests/src/org/eclipse/wst/xsl/internal/model/tests/TestStylesheet.java b/tests/org.eclipse.wst.xsl.core.tests/src/org/eclipse/wst/xsl/internal/model/tests/TestStylesheet.java
index 21690fe..5dc7120 100644
--- a/tests/org.eclipse.wst.xsl.core.tests/src/org/eclipse/wst/xsl/internal/model/tests/TestStylesheet.java
+++ b/tests/org.eclipse.wst.xsl.core.tests/src/org/eclipse/wst/xsl/internal/model/tests/TestStylesheet.java
@@ -4,6 +4,7 @@
import java.util.Map;
import org.eclipse.wst.xsl.core.internal.StylesheetBuilder;
+import org.eclipse.wst.xsl.core.model.Function;
import org.eclipse.wst.xsl.core.model.Import;
import org.eclipse.wst.xsl.core.model.Include;
import org.eclipse.wst.xsl.core.model.Stylesheet;
@@ -12,19 +13,30 @@
import org.eclipse.wst.xsl.core.model.XSLAttribute;
public class TestStylesheet extends AbstractModelTest {
+ StylesheetBuilder builder = null;
public TestStylesheet() {
// TODO Auto-generated constructor stub
}
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ builder = StylesheetBuilder.getInstance();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ builder.release();
+ }
public void testLoadModel() {
- StylesheetBuilder builder = StylesheetBuilder.getInstance();
Stylesheet model = builder.getStylesheet(getFile("style1.xsl"), false);
assertNotNull("Model failed to load, returned NULL", model);
}
public void testgetLocalTemplatesTemplates() {
- StylesheetBuilder builder = StylesheetBuilder.getInstance();
Stylesheet model = builder.getStylesheet(getFile("style1.xsl"), false);
assertNotNull("Model failed to load, returned NULL", model);
@@ -34,7 +46,6 @@
}
public void testGetIncludes() {
- StylesheetBuilder builder = StylesheetBuilder.getInstance();
Stylesheet stylesheet = builder.getStylesheet(getFile("style1.xsl"),
false);
assertNotNull("Model failed to load, returned NULL", stylesheet);
@@ -45,7 +56,6 @@
}
public void testGetImports() {
- StylesheetBuilder builder = StylesheetBuilder.getInstance();
Stylesheet stylesheet = builder.getStylesheet(getFile("style1.xsl"),
false);
assertNotNull("Model failed to load, returned NULL", stylesheet);
@@ -57,7 +67,6 @@
}
public void testGetGlobalVariables() {
- StylesheetBuilder builder = StylesheetBuilder.getInstance();
Stylesheet stylesheet = builder.getStylesheet(
getFile("globalVariablesTest.xsl"), false);
assertNotNull("Model failed to load, returned NULL", stylesheet);
@@ -68,7 +77,6 @@
}
public void testGetLineNumber() {
- StylesheetBuilder builder = StylesheetBuilder.getInstance();
Stylesheet stylesheet = builder.getStylesheet(
getFile("globalVariablesTest.xsl"), false);
assertNotNull("Model failed to load, returned NULL", stylesheet);
@@ -77,7 +85,6 @@
}
public void testGetColumnNumber() {
- StylesheetBuilder builder = StylesheetBuilder.getInstance();
Stylesheet stylesheet = builder.getStylesheet(
getFile("globalVariablesTest.xsl"), false);
assertNotNull("Model failed to load, returned NULL", stylesheet);
@@ -87,7 +94,6 @@
}
public void testGetVersion() {
- StylesheetBuilder builder = StylesheetBuilder.getInstance();
Stylesheet stylesheet = builder.getStylesheet(
getFile("globalVariablesTest.xsl"), false);
assertNotNull("Model failed to load, returned NULL", stylesheet);
@@ -98,7 +104,6 @@
}
public void testXSLT2GetVersion() {
- StylesheetBuilder builder = StylesheetBuilder.getInstance();
Stylesheet stylesheet = builder.getStylesheet(
getFile("XSLT20Test.xsl"), false);
assertNotNull("Model failed to load, returned NULL", stylesheet);
@@ -108,7 +113,6 @@
}
public void testGetAttributes() {
- StylesheetBuilder builder = StylesheetBuilder.getInstance();
Stylesheet stylesheet = builder.getStylesheet(
getFile("globalVariablesTest.xsl"), false);
assertNotNull("Model failed to load, returned NULL", stylesheet);
@@ -122,4 +126,28 @@
}
+ public void testGetFunction() {
+ Stylesheet stylesheet = builder.getStylesheet(
+ getFile("XSLT20FunctionTest.xsl"), false);
+ assertNotNull("Model failed to load, returned NULL", stylesheet);
+
+ List<Function> functionList = stylesheet.getFunctions();
+ assertEquals("Wrong number of global variables returned.", 2,
+ functionList.size());
+ }
+
+ public void testGetFunctionFunc1() {
+ Stylesheet stylesheet = builder.getStylesheet(
+ getFile("XSLT20FunctionTest.xsl"), false);
+ assertNotNull("Model failed to load, returned NULL", stylesheet);
+
+ List<Function> functionList = stylesheet.getFunctions();
+ for (Function function : functionList) {
+ if (function.getName().equals("func1")) {
+ return;
+ }
+ }
+ fail("Did not find XSL func func1");
+ }
+
}