This commit was manufactured by cvs2svn to create tag 'R1_5_3'.
diff --git a/features/org.eclipse.wst.web_tests.feature/feature.xml b/features/org.eclipse.wst.web_tests.feature/feature.xml
index 8ce37b9..2b04e3a 100644
--- a/features/org.eclipse.wst.web_tests.feature/feature.xml
+++ b/features/org.eclipse.wst.web_tests.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.wst.web_tests.feature"
label="%featureName"
- version="1.5.0.qualifier"
+ version="1.5.3.qualifier"
provider-name="%providerName">
<description>
diff --git a/features/org.eclipse.wst.xml_tests.feature/feature.xml b/features/org.eclipse.wst.xml_tests.feature/feature.xml
index ba94a9a..7eee87e 100644
--- a/features/org.eclipse.wst.xml_tests.feature/feature.xml
+++ b/features/org.eclipse.wst.xml_tests.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.wst.xml_tests.feature"
label="%featureName"
- version="1.5.0.qualifier"
+ version="1.5.3.qualifier"
provider-name="%providerName">
<description>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/META-INF/MANIFEST.MF
index 67ce0e5..95be1ed 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.jst.jsp.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.jst.jsp.core.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.1.qualifier
Bundle-ClassPath: jspcoretests.jar
Bundle-Activator: org.eclipse.jst.jsp.core.tests.JSPCoreTestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
@@ -17,6 +17,7 @@
Require-Bundle: org.junit,
org.eclipse.wst.html.core,
org.eclipse.wst.xml.core,
+ org.eclipse.wst.sse.ui,
org.eclipse.wst.sse.core,
org.eclipse.core.resources,
org.eclipse.core.runtime,
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/JSPCoreTestSuite.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/JSPCoreTestSuite.java
index 98c2b0b..18e9eaf 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/JSPCoreTestSuite.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/JSPCoreTestSuite.java
@@ -16,6 +16,7 @@
import org.eclipse.jst.jsp.core.tests.cleanupformat.FormatTester;
import org.eclipse.jst.jsp.core.tests.contenttypeidentifier.contentspecific.TestContentTypeHandlers;
import org.eclipse.jst.jsp.core.tests.contenttypeidentifier.contentspecific.TestModelHandlers;
+import org.eclipse.jst.jsp.core.tests.dom.TestImportedNodes;
import org.eclipse.jst.jsp.core.tests.model.TestModelIncludes;
import org.eclipse.jst.jsp.core.tests.model.TestModelRelease;
import org.eclipse.jst.jsp.core.tests.model.TestModelWithNoFile;
@@ -33,7 +34,7 @@
}
public JSPCoreTestSuite() {
- super("SSEModelTestSuiteForJSP");
+ super("SSE JSP Core Test Suite");
addTest(TestCeanupFormat.suite());
addTest(ModelCloneSuite.suite());
@@ -50,6 +51,7 @@
addTest(new TestSuite(JSPCorePreferencesTest.class));
addTest(new TestSuite(JSPedCSSSourceParserTest.class, "Special Parsing Tests for JSP-CSS content"));
addTest(new TestSuite(JSPJavaValidatorTest.class, "JSP Java Validator Tests"));
+ addTest(new TestSuite(TestImportedNodes.class, "Imported Nodes Tests"));
}
}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/dom/TestImportedNodes.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/dom/TestImportedNodes.java
new file mode 100644
index 0000000..2cd2740
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/dom/TestImportedNodes.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *
+ *******************************************************************************/
+
+package org.eclipse.jst.jsp.core.tests.dom;
+
+import junit.framework.TestCase;
+
+import org.eclipse.wst.sse.core.StructuredModelManager;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.w3c.dom.Node;
+
+public class TestImportedNodes extends TestCase {
+
+
+ public void testImportedComments() {
+ IDOMModel orgModel = (IDOMModel) StructuredModelManager.getModelManager().
+
+ createUnManagedStructuredModelFor("org.eclipse.jst.jsp.core.jspsource");
+ IDOMModel foreignModel = (IDOMModel) StructuredModelManager.getModelManager().
+
+ createUnManagedStructuredModelFor("org.eclipse.jst.jsp.core.jspsource");
+ foreignModel.getStructuredDocument().set("<%-- abc --%>");
+ Node child = foreignModel.getDocument().getLastChild();
+ // import comment node
+ child = orgModel.getDocument().importNode(child, true);
+ orgModel.getDocument().appendChild(child);
+ // create text node and insert it after comment node
+ child = orgModel.getDocument().createTextNode("abc");
+ orgModel.getDocument().appendChild(child);
+ String text = orgModel.getStructuredDocument().get();
+ assertEquals("document text was not expected", "<%-- abc --%>abc", text);
+ }
+
+}
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java
index 9b59392..c17019a 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java
@@ -16,7 +16,10 @@
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Enumeration;
+import java.util.List;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
@@ -29,6 +32,10 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jst.jsp.core.tests.JSPCoreTestsPlugin;
public class BundleResourceUtil {
@@ -75,12 +82,10 @@
}
}
catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ e.printStackTrace(System.err);
}
catch (CoreException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ e.printStackTrace(System.err);
}
}
return file;
@@ -90,7 +95,7 @@
IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
public void run(IProgressMonitor monitor) throws CoreException {
_copyBundleEntriesIntoWorkspace(rootEntry, fullTargetPath);
- ResourcesPlugin.getWorkspace().checkpoint(ResourcesPlugin.getWorkspace().isAutoBuilding());
+ ResourcesPlugin.getWorkspace().checkpoint(true);
}
};
ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
@@ -101,7 +106,7 @@
IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
public void run(IProgressMonitor monitor) throws CoreException {
file[0] = _copyBundleEntryIntoWorkspace(entryname, fullPath);
- ResourcesPlugin.getWorkspace().checkpoint(ResourcesPlugin.getWorkspace().isAutoBuilding());
+ ResourcesPlugin.getWorkspace().checkpoint(true);
}
};
ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
@@ -139,4 +144,36 @@
}
return project;
}
+ public static final String JAVA_NATURE_ID = "org.eclipse.jdt.core.javanature";
+
+ /**
+ * Add a library entry (like a jar) to the classpath of a project.
+ * The jar must be in your poject. You can copy the jar into your workspace using
+ * copyBundleEntryIntoWorkspace(String entryname, String fullPath)
+ *
+ * @param proj assumed it has java nature
+ * @param pathToJar project relative, no leading slash
+ */
+ public static void addLibraryEntry(IProject proj, String pathToJar) {
+
+ IPath projLocation = proj.getLocation();
+ IPath absJarPath = projLocation.append(pathToJar);
+
+ IJavaProject jProj = JavaCore.create(proj);
+
+ IClasspathEntry strutsJarEntry = JavaCore.newLibraryEntry(absJarPath, null, null);
+ try {
+ IClasspathEntry[] currentEntries = jProj.getRawClasspath();
+
+ List l = new ArrayList();
+ l.addAll(Arrays.asList(currentEntries));
+ l.add(strutsJarEntry);
+
+ IClasspathEntry[] newEntries = (IClasspathEntry[])l.toArray(new IClasspathEntry[l.size()]);
+ jProj.setRawClasspath(newEntries, new NullProgressMonitor());
+ }
+ catch (JavaModelException e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java
index 42fb455..5d27063 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java
@@ -19,7 +19,12 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.internal.core.ClasspathEntry;
import org.eclipse.jst.jsp.core.taglib.IJarRecord;
import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
import org.eclipse.jst.jsp.core.taglib.IURLRecord;
@@ -219,6 +224,9 @@
assertEquals(uri, ((IJarRecord) taglibRecord2).getURI());
}
+ /**
+ * test caching from session-to-session
+ */
public void testCaching1() throws Exception {
// Create new project
IProject project = BundleResourceUtil.createSimpleProject("testcache1", null, null);
@@ -226,19 +234,141 @@
BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/testcache1", "/testcache1");
BundleResourceUtil.copyBundleEntryIntoWorkspace("/testfiles/bug_118251-sample/sample_tld.jar", "/testcache1/WebContent/WEB-INF/lib/sample_tld.jar");
- ITaglibRecord[] records = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1"));
+ ITaglibRecord[] records = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1/WebContent"));
+ assertEquals("total ITaglibRecord count doesn't match", 5, records.length);
TaglibIndex.shutdown();
TaglibIndex.startup();
- ITaglibRecord[] records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1"));
+ ITaglibRecord[] records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1/WebContent"));
assertEquals("total ITaglibRecord count doesn't match (1st restart)", records.length, records2.length);
TaglibIndex.shutdown();
TaglibIndex.startup();
- records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1"));
+ records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1/WebContent"));
assertEquals("total ITaglibRecord count doesn't match (2nd restart)", records.length, records2.length);
TaglibIndex.shutdown();
TaglibIndex.startup();
- records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1"));
+ records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1/WebContent"));
assertEquals("total ITaglibRecord count doesn't match (3rd restart)", records.length, records2.length);
}
+
+ /**
+ * test caching from session-to-session with an addition in one session
+ */
+ public void testCachingWithAddingLibrary() throws Exception {
+ // Create new project
+ IProject project = BundleResourceUtil.createSimpleProject("testcache2", null, null);
+ assertTrue(project.exists());
+ BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/testcache2", "/testcache2");
+
+ ITaglibRecord[] records = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache2/WebContent"));
+ TaglibIndex.shutdown();
+
+ TaglibIndex.startup();
+ ITaglibRecord[] records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache2/WebContent"));
+ assertEquals("total ITaglibRecord count doesn't match (1st restart)", records.length, records2.length);
+ BundleResourceUtil.copyBundleEntryIntoWorkspace("/testfiles/bug_118251-sample/sample_tld.jar", "/testcache2/WebContent/WEB-INF/lib/sample_tld.jar");
+ records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache2/WebContent"));
+ assertEquals("total ITaglibRecord count doesn't match (1st restart, added jar file)", records.length + 1, records2.length);
+ TaglibIndex.shutdown();
+
+ TaglibIndex.startup();
+ records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache2/WebContent"));
+ assertEquals("total ITaglibRecord count doesn't match (2nd restart)", records.length + 1, records2.length);
+ BundleResourceUtil.addLibraryEntry(project, "WebContent/WEB-INF/lib/sample_tld.jar");
+ TaglibIndex.shutdown();
+
+ TaglibIndex.startup();
+ assertEquals("total ITaglibRecord count doesn't match (3nd restart)", records.length + 1, records2.length);
+ TaglibIndex.shutdown();
+
+ TaglibIndex.startup();
+ records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache2/WebContent"));
+ assertEquals("total ITaglibRecord count doesn't match changed value (4th restart, add jar to build path)", records.length + 2, records2.length);
+ }
+
+ public void testAvailableFromExportedBuildpaths() throws Exception {
+ TaglibIndex.shutdown();
+
+ // Create project 1
+ IProject project = BundleResourceUtil.createSimpleProject("testavailable1", null, null);
+ assertTrue(project.exists());
+ BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/testavailable1", "/testavailable1");
+
+ // Create project 2
+ IProject project2 = BundleResourceUtil.createSimpleProject("testavailable2", null, null);
+ assertTrue(project2.exists());
+ BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/testavailable2", "/testavailable2");
+ BundleResourceUtil.copyBundleEntryIntoWorkspace("/testfiles/bug_118251-sample/sample_tld.jar", "/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar");
+
+ TaglibIndex.startup();
+
+ // make sure project 1 sees no taglibs
+ ITaglibRecord[] records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable1/WebContent"));
+ assertEquals("ITaglibRecords were found", 0, records.length);
+ // make sure project 2 sees two taglibs
+ ITaglibRecord[] records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable2/WebContent"));
+ if(records2.length != 2) {
+ for (int i = 0; i < records2.length; i++) {
+ System.err.println(records2[i]);
+ }
+ }
+ assertEquals("total ITaglibRecord count doesn't match", 2, records2.length);
+
+ TaglibIndex.shutdown();
+ TaglibIndex.startup();
+
+
+ records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable2/WebContent"));
+ assertEquals("total ITaglibRecord count doesn't match after restart", 2, records.length);
+
+ IJavaProject created = JavaCore.create(project2);
+ assertTrue("/availabletest2 not a Java project", created.exists());
+
+ // export the jar from project 2
+ IClasspathEntry[] entries = created.getRawClasspath();
+ boolean found = false;
+ for (int i = 0; i < entries.length; i++) {
+ IClasspathEntry entry = entries[i];
+ if (entry.getPath().equals(new Path("/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar"))) {
+ found = true;
+ assertFalse("was exported", ((ClasspathEntry) entry).isExported);
+ ((ClasspathEntry) entry).isExported = true;
+ }
+ }
+ assertTrue("/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar was not found in build path", found);
+ IClasspathEntry[] entries2 = new IClasspathEntry[entries.length];
+ System.arraycopy(entries, 1, entries2, 0, entries.length - 1);
+ entries2[entries.length - 1] = entries[0];
+ created.setRawClasspath(entries2, new NullProgressMonitor());
+
+ entries = created.getRawClasspath();
+ found = false;
+ for (int i = 0; i < entries.length; i++) {
+ IClasspathEntry entry = entries[i];
+ if (entry.getPath().equals(new Path("/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar"))) {
+ found = true;
+ assertTrue("/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar was not exported", ((ClasspathEntry) entry).isExported);
+ }
+ }
+ assertTrue("/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar was not found in build path", found);
+
+ // project 2 should still have just two taglibs
+ records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable2/WebContent"));
+ assertEquals("total ITaglibRecord count doesn't match (after exporting jar)", 2, records.length);
+
+ // now one taglib should be visible from project 1
+ records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable1/WebContent"));
+ assertEquals("total ITaglibRecord count doesn't match (after exporting jar)", 1, records.length);
+
+ TaglibIndex.shutdown();
+ TaglibIndex.startup();
+
+ // project 2 should still have just two taglibs
+ records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable2/WebContent"));
+ assertEquals("total ITaglibRecord count doesn't match (after exporting jar and restarting)", 2, records.length);
+
+ // and one taglib should still be visible from project 1
+ records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable1/WebContent"));
+ assertEquals("total ITaglibRecord count doesn't match (after exporting jar and restarting)", 1, records.length);
+ }
}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.classpath
new file mode 100644
index 0000000..8d5f4fb
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry combineaccessrules="false" exported="false" kind="src" path="/testavailable2"/>
+ <classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.project
new file mode 100644
index 0000000..5baaadd
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>testavailable1</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/classes/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/classes/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/classes/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/lib/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/lib/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/lib/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/web.xml b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..a3d07f0
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/web.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <display-name>
+ test1</display-name>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>default.html</welcome-file>
+ <welcome-file>default.htm</welcome-file>
+ <welcome-file>default.jsp</welcome-file>
+ </welcome-file-list>
+ <taglib>
+ <taglib-uri>/tags/sample2</taglib-uri>
+ <taglib-location>/WEB-INF/tld/sample2_for_118251-e.tld</taglib-location>
+ </taglib>
+</web-app>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/test1.jsp b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/test1.jsp
new file mode 100644
index 0000000..2be00cd
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/test1.jsp
@@ -0,0 +1,17 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%@taglib uri="http://java.sun.com/jsf/core" prefix="c"%>
+<%@taglib prefix="sample" uri="http://example.com/sample-taglib" %>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body>
+
+<sample:code> asdgjalskjga << </sample:code>
+
+<c:out value=""></c:out>
+</body>
+</html>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/src/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/src/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/src/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.classpath
new file mode 100644
index 0000000..0a9f2ba
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="lib" path="WebContent/WEB-INF/lib/sample_tld.jar"/>
+ <classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.project
new file mode 100644
index 0000000..5baaadd
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>testavailable1</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/classes/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/classes/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/classes/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/lib/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/lib/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/lib/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/web.xml b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..a3d07f0
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/web.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <display-name>
+ test1</display-name>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>default.html</welcome-file>
+ <welcome-file>default.htm</welcome-file>
+ <welcome-file>default.jsp</welcome-file>
+ </welcome-file-list>
+ <taglib>
+ <taglib-uri>/tags/sample2</taglib-uri>
+ <taglib-location>/WEB-INF/tld/sample2_for_118251-e.tld</taglib-location>
+ </taglib>
+</web-app>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/test1.jsp b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/test1.jsp
new file mode 100644
index 0000000..2be00cd
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/test1.jsp
@@ -0,0 +1,17 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%@taglib uri="http://java.sun.com/jsf/core" prefix="c"%>
+<%@taglib prefix="sample" uri="http://example.com/sample-taglib" %>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body>
+
+<sample:code> asdgjalskjga << </sample:code>
+
+<c:out value=""></c:out>
+</body>
+</html>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/src/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/src/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/src/.keepme
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.classpath
similarity index 60%
rename from tests/org.eclipse.wst.xml.catalog.tests/.classpath
rename to tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.classpath
index 751c8f2..5ec3b3b 100644
--- a/tests/org.eclipse.wst.xml.catalog.tests/.classpath
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.classpath
@@ -2,6 +2,5 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
+ <classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
</classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.project
new file mode 100644
index 0000000..274293f
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>testcache2</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/classes/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/classes/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/classes/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/lib/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/lib/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/lib/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/tld/sample2_for_118251-e.tld b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/tld/sample2_for_118251-e.tld
new file mode 100644
index 0000000..04f9bc5
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/tld/sample2_for_118251-e.tld
@@ -0,0 +1,25 @@
+<taglib>
+
+ <tlibversion>0.0.1</tlibversion>
+ <jspversion>1.2</jspversion>
+ <shortname>sample</shortname>
+ <uri>http://example.com/sample2_for_118251-e</uri>
+ <info>
+ This tag library contains just one tag. Ha ha!
+ </info>
+
+ <tag>
+ <name>code</name>
+ <tagclass>sample.taglib.CodeTag</tagclass>
+ <bodycontent>tagdependent</bodycontent>
+ <attribute>
+ <name>fontAttributes</name>
+ </attribute>
+ <attribute>
+ <name>commentColor</name>
+ </attribute>
+ <attribute>
+ <name>stringColor</name>
+ </attribute>
+ </tag>
+ </taglib>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/web.xml b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..a3d07f0
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/web.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <display-name>
+ test1</display-name>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>default.html</welcome-file>
+ <welcome-file>default.htm</welcome-file>
+ <welcome-file>default.jsp</welcome-file>
+ </welcome-file-list>
+ <taglib>
+ <taglib-uri>/tags/sample2</taglib-uri>
+ <taglib-location>/WEB-INF/tld/sample2_for_118251-e.tld</taglib-location>
+ </taglib>
+</web-app>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/test1.jsp b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/test1.jsp
new file mode 100644
index 0000000..2be00cd
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/test1.jsp
@@ -0,0 +1,17 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%@taglib uri="http://java.sun.com/jsf/core" prefix="c"%>
+<%@taglib prefix="sample" uri="http://example.com/sample-taglib" %>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body>
+
+<sample:code> asdgjalskjga << </sample:code>
+
+<c:out value=""></c:out>
+</body>
+</html>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/src/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/src/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/src/.keepme
diff --git a/tests/org.eclipse.jst.jsp.tests.encoding/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.tests.encoding/META-INF/MANIFEST.MF
index 161345c..61275fe 100644
--- a/tests/org.eclipse.jst.jsp.tests.encoding/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.jst.jsp.tests.encoding/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.jst.jsp.tests.encoding
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: jspencodingtests.jar
Bundle-Activator: org.eclipse.jst.jsp.tests.encoding.JSPEncodingTestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF
index cfb741e..2f89228 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.jst.jsp.ui.tests; singleton:=true
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: jspuitests.jar
Bundle-Activator: org.eclipse.jst.jsp.ui.tests.JSPUITestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
@@ -23,6 +23,7 @@
org.eclipse.jst.jsp.ui.tests.search,
org.eclipse.jst.jsp.ui.tests.threaded,
org.eclipse.jst.jsp.ui.tests.util,
+ org.eclipse.jst.jsp.ui.tests.validation,
org.eclipse.jst.jsp.ui.tests.viewer
Require-Bundle: org.eclipse.jface.text,
org.eclipse.ui,
@@ -42,5 +43,7 @@
org.eclipse.ui.views,
org.eclipse.core.runtime,
org.eclipse.wst.xml.ui,
- com.ibm.icu
+ com.ibm.icu,
+ org.eclipse.wst.html.ui,
+ org.eclipse.wst.validation
Eclipse-LazyStart: true
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/JSPUITestSuite.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/JSPUITestSuite.java
index 5b41a17..978ece5 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/JSPUITestSuite.java
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/JSPUITestSuite.java
@@ -25,6 +25,7 @@
import org.eclipse.jst.jsp.ui.tests.pagedirective.TestPageDirective;
import org.eclipse.jst.jsp.ui.tests.partitioning.TestStructuredPartitionerJSP;
import org.eclipse.jst.jsp.ui.tests.registry.AdapterFactoryRegistryTest;
+import org.eclipse.jst.jsp.ui.tests.validation.JSPHTMLValidatorTest;
import org.eclipse.jst.jsp.ui.tests.viewer.TestViewerConfigurationJSP;
@@ -60,6 +61,7 @@
addTest(new TestSuite(TestModelEmbeddedContentType.class, "TestModelEmbeddedContentType"));
addTest(new TestSuite(TestContentDescription.class, "Content Description Tests"));
+ addTest(new TestSuite(JSPHTMLValidatorTest.class, "JSPHTMLValidatorTest"));
// pa_TODO fix this test
//addTest(new TestSuite(JSPSearchTests.class));
}
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/TestModelClone.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/TestModelClone.java
index faaa540..48d0b31 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/TestModelClone.java
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/TestModelClone.java
@@ -12,30 +12,41 @@
import java.io.IOException;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import junit.framework.Test;
import junit.framework.TestCase;
import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter;
+import org.eclipse.jst.jsp.core.internal.modelquery.JSPModelQueryAdapterImpl;
+import org.eclipse.jst.jsp.core.internal.modelquery.JSPModelQueryImpl;
import org.eclipse.jst.jsp.core.internal.provisional.contenttype.ContentTypeIdForJSP;
import org.eclipse.wst.html.core.internal.modelhandler.EmbeddedHTML;
+import org.eclipse.wst.html.core.internal.modelquery.HTMLModelQueryImpl;
+//import org.eclipse.wst.html.core.internal.provisional.contenttype.ContentTypeFamilyForHTML;
import org.eclipse.wst.html.core.internal.provisional.contenttype.ContentTypeIdForHTML;
import org.eclipse.wst.sse.core.StructuredModelManager;
import org.eclipse.wst.sse.core.internal.ltk.modelhandler.EmbeddedTypeHandler;
import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
+import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
import org.eclipse.wst.xml.core.internal.modelhandler.EmbeddedXML;
+import org.eclipse.wst.xml.core.internal.modelquery.XMLModelQueryImpl;
import org.eclipse.wst.xml.core.internal.provisional.contenttype.ContentTypeIdForXML;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapter;
import org.w3c.dom.Document;
+import org.w3c.dom.Node;
/**
*
*/
public class TestModelClone extends TestCase {
+ private HashMap embeddedModelQueries = new HashMap();
+
/**
* Constructor for TestModelClone.
*/
@@ -114,33 +125,33 @@
assertTrue("model could not be created!", model != null);
// note, we initialy expect HTML, since there is not content
checkEmbeddedType(model, EmbeddedHTML.class);
-
+
String testContent = "<%@ page contentType=\"text/xml\" %>";
model.getStructuredDocument().setText(this, testContent);
-
+
// modified for design change, where re-init should be handled before
// set returns.
assertTrue("model should not need reinit", !model.isReinitializationNeeded());
-
+
// but if it did need re-init, here's the right calling sequence
// if (model.isReinitializationNeeded()) {
// model.aboutToChangeModel();
// model = model.reinit();
// model.changedModel();
// }
-
+
checkEmbeddedType(model, EmbeddedXML.class);
-
+
IStructuredModel clonedModel = model.newInstance();
assertTrue("cloned model could not be created!", clonedModel != null);
checkEmbeddedType(clonedModel, EmbeddedXML.class);
-
+
}
private void checkEmbeddedType(IStructuredModel model, Class expectedType) {
Document doc = ((IDOMModel) model).getDocument();
PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) doc).getExistingAdapter(PageDirectiveAdapter.class);
- assertNotNull("model did not have embedded adapter", pageDirectiveAdapter);
+ assertNotNull("model did not have pageDirective", pageDirectiveAdapter);
EmbeddedTypeHandler embeddedHandler = pageDirectiveAdapter.getEmbeddedType();
assertNotNull("model did not have embedded handler", embeddedHandler);
@@ -154,10 +165,10 @@
IModelManager modelManager = StructuredModelManager.getModelManager();
IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
assertTrue("model could not be created!", model != null);
-
+
ArrayList factories = (ArrayList) model.getFactoryRegistry().getFactories();
factories = (ArrayList) factories.clone();
-
+
IStructuredModel clonedModel = model.newInstance();
if (model.getModelHandler() == null) {
System.out.println();
@@ -165,40 +176,175 @@
}
assertTrue("cloned model could not be created!", clonedModel != null);
// make sure the critical variables are correct.
-
+
ArrayList newFactories = (ArrayList) clonedModel.getFactoryRegistry().getFactories();
newFactories = (ArrayList) newFactories.clone();
-
+
boolean passed = checkFactoriesListForIdentity(factories, newFactories);
assertTrue("newInstance of structured model is not correct", passed);
-
+
passed = checkForSameEmbeddedFactories(model, clonedModel);
assertTrue("newInstance of structured model is not correct", passed);
-
+
// Now, assigning some content shouldn't change the factories
clonedModel.getStructuredDocument().replaceText(this, 0, 0, "<sample> text");
ArrayList twoFactories = (ArrayList) clonedModel.getFactoryRegistry().getFactories();
twoFactories = (ArrayList) twoFactories.clone();
-
+
passed = checkFactoriesListForIdentity(factories, twoFactories);
assertTrue("newInstance of structured model is not correct", passed);
-
+
passed = checkForSameEmbeddedFactories(model, clonedModel);
assertTrue("newInstance of structured model is not correct", passed);
-
-
+
+
// Now, assigning use a page directive, but leaving embedded type the same as default
clonedModel.getStructuredDocument().setText(this, "<%@ page contentType=\"text/html\"");
ArrayList threeFactories = (ArrayList) clonedModel.getFactoryRegistry().getFactories();
threeFactories = (ArrayList) threeFactories.clone();
-
+
passed = checkFactoriesListForIdentity(factories, threeFactories);
assertTrue("newInstance of structured model is not correct", passed);
-
+
passed = checkForSameEmbeddedFactories(model, clonedModel);
assertTrue("newInstance of structured model is not correct", passed);
+
+
+ }
+
+ public void testCreateStructuredModelJSPXHTML() throws IOException {
+ // First make (empty) structuredDocument
+ IModelManager modelManager = StructuredModelManager.getModelManager();
+ IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
+ assertTrue("model could not be created!", model != null);
+
+
+
+
+ // Now, assigning use a page directive, but leaving embedded type the same as default
+ model.getStructuredDocument().setText(this, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n" +
+ "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\n" +
+ "\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n" +
+ "<%@page language=\"java\" contentType=\"text/xml; charset=ISO-8859-1\"\n" +
+ " pageEncoding=\"ISO-8859-1\"%>\n" +
+ "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" +
+ "<head>\n" +
+ "<meta http-equiv=\"Content-Type\" content=\"text/xml; charset=ISO-8859-1\" />\n" +
+ "<style>\n" +
+ "A { color: red; }\n" +
+ "</style>\n" +
+ "</head>\n" +
+ "</html>\n" +
+ "");
+
+ checkEmbeddedType(model, EmbeddedHTML.class);
+ checkModelQuery(model, JSPModelQueryImpl.class);
+ checkEmbeddedModelQuery(model, JSPModelQueryAdapterImpl.class, JSPModelQueryImpl.class, HTMLModelQueryImpl.class);
+
+
+
+
+ }
+
+ public void testCreateStructuredModelJSPXHTMnoDoctype() throws IOException {
+ // First make (empty) structuredDocument
+ IModelManager modelManager = StructuredModelManager.getModelManager();
+ IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
+ assertTrue("model could not be created!", model != null);
+
+
+
+
+ // Now, assigning use a page directive, but leaving embedded type the same as default
+ model.getStructuredDocument().setText(this, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n" +
+ "<%@page language=\"java\" contentType=\"text/xml; charset=ISO-8859-1\"\n" +
+ " pageEncoding=\"ISO-8859-1\"%>\n" +
+ "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" +
+ "<head>\n" +
+ "<meta http-equiv=\"Content-Type\" content=\"text/xml; charset=ISO-8859-1\" />\n" +
+ "<style>\n" +
+ "A { color: red; }\n" +
+ "</style>\n" +
+ "</head>\n" +
+ "</html>\n" +
+ "");
+
+ checkEmbeddedType(model, EmbeddedHTML.class);
+ checkModelQuery(model, JSPModelQueryImpl.class);
+ checkEmbeddedModelQuery(model, JSPModelQueryAdapterImpl.class, JSPModelQueryImpl.class, HTMLModelQueryImpl.class);
+
+
+
+
+ }
+
+ public void testCreateStructuredModelJSPXHTML2() throws IOException {
+ // First make (empty) structuredDocument
+ IModelManager modelManager = StructuredModelManager.getModelManager();
+ IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
+ assertTrue("model could not be created!", model != null);
+
+
+ // Now, assigning use a page directive, but leaving embedded type the same as default
+ model.getStructuredDocument().setText(this, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n" +
+ "<%@page language=\"java\" contentType=\"application/xml; charset=ISO-8859-1\"\n" +
+ " pageEncoding=\"ISO-8859-1\"%>\n" +
+ "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\n" +
+ "\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n" +
+ "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" +
+ "<head>\n" +
+ "<meta http-equiv=\"Content-Type\" content=\"application/xml; charset=ISO-8859-1\" />\n" +
+ "<style>\n" +
+ "A { color: red; }\n" +
+ "</style>\n" +
+ "</head>\n" +
+ "</html>\n" +
+ "");
+
+ checkEmbeddedType(model, EmbeddedHTML.class);
+ checkModelQuery(model, JSPModelQueryImpl.class);
+ checkEmbeddedModelQuery(model, JSPModelQueryAdapterImpl.class, JSPModelQueryImpl.class, HTMLModelQueryImpl.class);
+
+
+
+
+ }
+
+ private void checkModelQuery(IStructuredModel model, Class class1) {
+ Document doc = ((IDOMModel) model).getDocument();
+ ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter) ((INodeNotifier) doc).getExistingAdapter(ModelQueryAdapter.class);
+ assertNotNull("model did not have modelQueryAdapter", modelQueryAdapter);
+
+ assertTrue("modelQueryAdapter is wrong class", class1.equals(JSPModelQueryImpl.class));
+
+ }
+
+ private void checkEmbeddedModelQuery(IStructuredModel model, Class outerQueryAdapter, Class outerQueryClass, Class embeddedQueryClass) {
+
+ Document doc = ((IDOMModel) model).getDocument();
+ ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter) ((INodeNotifier) doc).getExistingAdapter(ModelQueryAdapter.class);
+ assertNotNull("model did not have modelQueryAdapter", modelQueryAdapter);
+
+ Class expected = outerQueryAdapter;
+ Class actual = modelQueryAdapter.getClass();
+ assertEquals("document's model query is not as expected", expected, actual);
+
+ ModelQuery modelQuery = modelQueryAdapter.getModelQuery();
+ expected = outerQueryClass;
+ actual = modelQuery.getClass();
+ assertEquals("model query adapter's model query is not as expected", expected, actual);
+
+ ModelQuery nodeQuery = getEmbeddedModelQuery(doc);
+ assertNotNull("node does not have a modelQueryAdapter", nodeQuery);
+
+ expected = embeddedQueryClass;
+ actual = nodeQuery.getClass();
+ assertEquals("documents model query is not as expected", expected, actual);
+
+
+
}
/**
@@ -309,5 +455,158 @@
}
+ private ModelQuery getEmbeddedModelQuery(Node node) {
+ ModelQuery embeddedModelQuery = null;
+
+ if (node instanceof INodeNotifier) {
+ Node ownerNode = node.getOwnerDocument();
+ if (ownerNode == null) {
+ // then must be the document itself
+ ownerNode = node;
+ }
+ PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) ownerNode).getAdapterFor(PageDirectiveAdapter.class);
+ if (pageDirectiveAdapter != null) {
+
+ String effectiveContentType = null;
+ ModelQuery potentialModelQueryObject = null;
+
+ String familyId = pageDirectiveAdapter.getEmbeddedType().getFamilyId();
+ //if (ContentTypeFamilyForHTML.HTML_FAMILY.equals(familyId)) {
+ if ("org.eclipse.wst.html.core.contentfamily.html".equals(familyId)) {
+ effectiveContentType = "text/html";
+ }
+ else {
+ effectiveContentType = pageDirectiveAdapter.getContentType();
+ }
+
+ potentialModelQueryObject = (ModelQuery) embeddedModelQueries.get(effectiveContentType);
+
+ if (potentialModelQueryObject == null) {
+ ModelQueryAdapter embeddedAdapter = (ModelQueryAdapter) pageDirectiveAdapter.adapt((INodeNotifier) node, ModelQueryAdapter.class);
+ if (embeddedAdapter != null) {
+ // we will cache one model query per content type
+ embeddedModelQuery = embeddedAdapter.getModelQuery();
+ embeddedModelQueries.put(effectiveContentType, embeddedModelQuery);
+ }
+ }
+ else {
+ embeddedModelQuery = potentialModelQueryObject;
+ }
+ }
+ }
+ return embeddedModelQuery;
+ }
+
+ public void testCreateStructuredModelJSPXML() throws IOException {
+ // First make (empty) structuredDocument
+ IModelManager modelManager = StructuredModelManager.getModelManager();
+ IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
+ assertTrue("model could not be created!", model != null);
+
+
+
+
+ // Now, assigning use a page directive, but leaving embedded type the same as default
+ model.getStructuredDocument().setText(this, "<%-- keep JSP page compiler from generating code that accesses the session --%>\n" +
+ "<%@ page session=\"false\" contentType=\"text/xml; charset=ISO-8859-1\" %>\n" +
+ "\n" +
+ "<!-- load WPS portlet tag library and initialize objects -->\n" +
+ "<%@ taglib uri=\"/WEB-INF/tld/portlet.tld\" prefix=\"portletAPI\" %>\n" +
+ "<portletAPI:init /> \n" +
+ "\n" +
+ "<%-- Replace the name of the layout specified by the layoutName attribute of the canvas element below with the layout name for your portlet. --%>\n" +
+ "<canvas xmlns =\"http://www.volantis.com/xmlns/marlin-cdm\" \n" +
+ " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n" +
+ " layoutName=\"/sample_layout.mlyt\" \n" +
+ " type=\"portlet\" >\n" +
+ "\n" +
+ "\n" +
+ "<%-- Specify the pane name from your layout policy as the value for the name attribute of the pane element below --%>\n" +
+ "<pane name=\"sample_pane\">\n" +
+ " <p>Hello!</p>\n" +
+ " <p>This is an XDIME <b>view mode</b> page . You have to edit this page to customize it for your own use.<br/><br/>\n" +
+ " The source file for this page is \"/Web Content/testportlet_legacy/jsp/xdime/TemplateLegacyPortletView.jsp\".\n" +
+ "</p>\n" +
+ "\n" +
+ "<br/>\n" +
+ "This is image 1 \n" +
+ "<img src=\"/paw.mimg\" alt=\"noimg\" />\n" +
+ "\n" +
+ "<br/>\n" +
+ "This is image 2 \n" +
+ "<img src=\"paw.mimg\" alt=\"noimg\" />\n" +
+ "\n" +
+ "</pane>\n" +
+ "</canvas>");
+
+ checkEmbeddedType(model, EmbeddedXML.class);
+ checkModelQuery(model, JSPModelQueryImpl.class);
+ checkEmbeddedModelQuery(model, JSPModelQueryAdapterImpl.class, JSPModelQueryImpl.class, XMLModelQueryImpl.class);
+
+
+
+
+ }
+
+ public void testCreateStructuredModelJSPWML() throws IOException {
+ // First make (empty) structuredDocument
+ IModelManager modelManager = StructuredModelManager.getModelManager();
+ IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
+ assertTrue("model could not be created!", model != null);
+
+
+
+
+ // Now, assigning use a page directive, but leaving embedded type the same as default
+ model.getStructuredDocument().setText(this, "<%@ page contentType=\"text/vnd.wap.wml\" %>\n" +
+ "\n" +
+ " <jsp:useBean id=\"beanInstanceName\" scope=\"session\" class=\"package.class\" />\n" +
+ " <jsp:getProperty name=\"beanInstanceName\" property=\"*\" />\n" +
+ "\n" +
+ " <?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
+ " <!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.3//EN\" \"http://www.wapforum.org/DTD/wml13.dtd\">\n" +
+ " <wml>\n" +
+ "\n" +
+ " <template>\n" +
+ " <!-- Template implementation here. -->\n" +
+ " <do type=\"prev\"><prev/></do>\n" +
+ " </template>\n" +
+ "\n" +
+ " <%\n" +
+ " if (session.isNew() || session.getAttribute(\"userid\")==null ) {\n" +
+ " %>\n" +
+ " <card id=\"card1\" title=\"Card #1\">\n" +
+ "\n" +
+ " <do type=\"unknown\" label=\"Next\">\n" +
+ " <go href=\"#card2\"/>\n" +
+ " </do>\n" +
+ " <p align=\"center\">\n" +
+ " <big><b>First Card</b></big>\n" +
+ " </p>\n" +
+ " </card>\n" +
+ "\n" +
+ " <%\n" +
+ " } else {\n" +
+ " %>\n" +
+ " <card id=\"card2\" title=\"Card #2\">\n" +
+ "\n" +
+ " <p align=\"center\">\n" +
+ " <big><b> <%= beanInstanceName.getUserid() %> </b></big>\n" +
+ " </p>\n" +
+ " </card>\n" +
+ " <%\n" +
+ " }\n" +
+ " %>\n" +
+ " </wml>");
+
+ checkEmbeddedType(model, EmbeddedHTML.class);
+ checkModelQuery(model, JSPModelQueryImpl.class);
+ checkEmbeddedModelQuery(model, JSPModelQueryAdapterImpl.class, JSPModelQueryImpl.class, HTMLModelQueryImpl.class);
+
+
+
+
+ }
+
}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/JSPTranslationTest.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/JSPTranslationTest.java
index 0c651db..d37a574 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/JSPTranslationTest.java
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/JSPTranslationTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
+ * Copyright (c) 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -83,7 +83,7 @@
JSPTranslation translation = adapter.getJSPTranslation();
try {
HashMap java2jsp = translation.getJava2JspMap();
- assertEquals("java2jsp map size:", 13, java2jsp.size());
+ assertEquals("java2jsp map size:", 11, java2jsp.size());
HashMap jsp2java = translation.getJsp2JavaMap();
assertEquals("jsp2java map size:", 3, jsp2java.size());
@@ -97,7 +97,7 @@
int jspTestPosition = translation.getJspText().indexOf("<%= ") + 4;
int javaOffset = translation.getJavaOffset(jspTestPosition) - classnameLength;
- assertEquals("JSPTranslation java offset:", 1009, javaOffset);
+ assertEquals("JSPTranslation java offset:", 972, javaOffset);
// (<%= | %>)
int javaTestPostition = translation.getJavaText().indexOf("out.print(\"\"+\n \n);") + 14;
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/translated_text.bin b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/translated_text.bin
index d704363..09e105d 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/translated_text.bin
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/translated_text.bin
@@ -28,8 +28,6 @@
javax.swing.JButton BEAN_includedBean = new javax.swing.JButton();
int include_include_int = 5;
javax.swing.JButton includesUseBean = new javax.swing.JButton();
-{ // <gifts:gift>
-} // </gifts:gift>
out.print(""+
);
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/util/ProjectUtil.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/util/ProjectUtil.java
index 4b2b307..338b54a 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/util/ProjectUtil.java
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/util/ProjectUtil.java
@@ -7,14 +7,18 @@
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Enumeration;
import java.util.List;
import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IWorkspaceRunnable;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.core.IClasspathEntry;
@@ -61,15 +65,26 @@
}
}
- /**
- *
- * @param entryname path relative to TEST plugin starting w/ a "/"
- * (eg. "/testfiles/bugnumber/struts-logic.tld")
- * @param fullPath path relative to junit test workpace
- * (eg. "/myruntimeproj/struts-logic.tld")
- * @return
- */
- public static IFile copyBundleEntryIntoWorkspace(String entryname, String fullPath) {
+ static void _copyBundleEntriesIntoWorkspace(final String rootEntry, final String fullTargetPath) throws CoreException {
+ Enumeration entries = JSPUITestsPlugin.getDefault().getBundle().getEntryPaths(rootEntry);
+ while (entries != null && entries.hasMoreElements()) {
+ String entryPath = entries.nextElement().toString();
+ String targetPath = new Path(fullTargetPath + "/" + entryPath.substring(rootEntry.length())).toString();
+ if (entryPath.endsWith("/")) {
+ IFolder folder = ResourcesPlugin.getWorkspace().getRoot().getFolder(new Path(targetPath));
+ if (!folder.exists()) {
+ folder.create(true, true, new NullProgressMonitor());
+ }
+ _copyBundleEntriesIntoWorkspace(entryPath, targetPath);
+ }
+ else {
+ _copyBundleEntryIntoWorkspace(entryPath, targetPath);
+ }
+ // System.out.println(entryPath + " -> " + targetPath);
+ }
+ }
+
+ static IFile _copyBundleEntryIntoWorkspace(String entryname, String fullPath) throws CoreException {
IFile file = null;
URL entry = JSPUITestsPlugin.getDefault().getBundle().getEntry(entryname);
if (entry != null) {
@@ -83,7 +98,12 @@
}
file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(fullPath));
if (file != null) {
- file.create(new ByteArrayInputStream(output.toByteArray()), true, new NullProgressMonitor());
+ if (!file.exists()) {
+ file.create(new ByteArrayInputStream(output.toByteArray()), true, new NullProgressMonitor());
+ }
+ else {
+ file.setContents(new ByteArrayInputStream(output.toByteArray()), true, false, new NullProgressMonitor());
+ }
}
}
catch (IOException e) {
@@ -95,6 +115,46 @@
}
return file;
}
+
+ public static void copyBundleEntriesIntoWorkspace(final String rootEntry, final String fullTargetPath) {
+ IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
+ public void run(IProgressMonitor monitor) throws CoreException {
+ _copyBundleEntriesIntoWorkspace(rootEntry, fullTargetPath);
+ ResourcesPlugin.getWorkspace().checkpoint(true);
+ }
+ };
+ try {
+ ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
+ }
+ catch (CoreException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ *
+ * @param entryname path relative to TEST plugin starting w/ a "/"
+ * (eg. "/testfiles/bugnumber/struts-logic.tld")
+ * @param fullPath path relative to junit test workpace
+ * (eg. "/myruntimeproj/struts-logic.tld")
+ * @return
+ */
+ public static IFile copyBundleEntryIntoWorkspace(final String entryname, final String fullPath) {
+ final IFile file[] = new IFile[1];
+ IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
+ public void run(IProgressMonitor monitor) throws CoreException {
+ file[0] = _copyBundleEntryIntoWorkspace(entryname, fullPath);
+ ResourcesPlugin.getWorkspace().checkpoint(true);
+ }
+ };
+ try {
+ ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
+ }
+ catch (CoreException e) {
+ e.printStackTrace();
+ }
+ return file[0];
+ }
public static IProject createProject(String name, IPath location, String[] natureIds) {
IProjectDescription description = ResourcesPlugin.getWorkspace().newProjectDescription(name);
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/JSPHTMLValidatorTest.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/JSPHTMLValidatorTest.java
new file mode 100644
index 0000000..01b331d
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/JSPHTMLValidatorTest.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.jsp.ui.tests.validation;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jst.jsp.ui.tests.util.ProjectUtil;
+import org.eclipse.wst.html.internal.validation.HTMLValidator;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+
+/**
+ * Tests HTML validator on jsp file
+ */
+public class JSPHTMLValidatorTest extends TestCase {
+ String wtp_autotest_noninteractive = null;
+ private static final String PROJECT_NAME = "bug_143209";
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ String noninteractive = System.getProperty("wtp.autotest.noninteractive");
+ if (noninteractive != null)
+ wtp_autotest_noninteractive = noninteractive;
+ System.setProperty("wtp.autotest.noninteractive", "true");
+
+ if (!ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME).exists()) {
+ ProjectUtil.createProject(PROJECT_NAME, null, new String[]{JavaCore.NATURE_ID});
+ ProjectUtil.copyBundleEntriesIntoWorkspace("/testfiles/" + PROJECT_NAME, "/" + PROJECT_NAME);
+ }
+ assertTrue("project could not be created", ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME).exists());
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ if (wtp_autotest_noninteractive != null)
+ System.setProperty("wtp.autotest.noninteractive", wtp_autotest_noninteractive);
+ }
+
+ /**
+ * Tests jsp expression in html attributes in jsp file
+ *
+ * @throws Exception
+ */
+ public void testJSPinAttributes() throws Exception {
+ HTMLValidator validator = new HTMLValidator();
+ IReporter reporter = new ReporterForTest();
+ ValidationContextForTest helper = new ValidationContextForTest();
+ String filePath = "/" + PROJECT_NAME + "/WebContent/usejspinattribute.jsp";
+ helper.setURI(filePath);
+ validator.validate(helper, reporter);
+
+ assertTrue("jsp in attributes are errors when they should not be (in .jsp)", reporter.getMessages().isEmpty());
+ }
+
+ /**
+ * Tests jsp expression in html attributes in html file
+ *
+ * @throws Exception
+ */
+ public void testJSPinAttributesHTML() throws Exception {
+ HTMLValidator validator = new HTMLValidator();
+ IReporter reporter = new ReporterForTest();
+ ValidationContextForTest helper = new ValidationContextForTest();
+ String filePath = "/" + PROJECT_NAME + "/WebContent/usejspinattribute.html";
+ helper.setURI(filePath);
+ validator.validate(helper, reporter);
+
+ assertTrue("jsp in attributes are not errors when they should be (in .html)", !reporter.getMessages().isEmpty());
+ }
+
+ /**
+ * Tests bad attribute names in jsp file false
+ *
+ * @throws Exception
+ */
+ public void testBadAttributeName() throws Exception {
+ HTMLValidator validator = new HTMLValidator();
+ IReporter reporter = new ReporterForTest();
+ ValidationContextForTest helper = new ValidationContextForTest();
+ String filePath = "/" + PROJECT_NAME + "/WebContent/badattributenames.jsp";
+ helper.setURI(filePath);
+ validator.validate(helper, reporter);
+
+ assertTrue("bad attribute name is not error when it should be", !reporter.getMessages().isEmpty());
+ }
+}
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ReporterForTest.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ReporterForTest.java
new file mode 100644
index 0000000..fea98ac
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ReporterForTest.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.jsp.ui.tests.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.wst.validation.internal.core.IMessageAccess;
+import org.eclipse.wst.validation.internal.provisional.core.IMessage;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+import org.eclipse.wst.validation.internal.provisional.core.IValidator;
+
+class ReporterForTest implements IReporter {
+ List list = new ArrayList();
+
+ public ReporterForTest() {
+ super();
+ }
+
+ public void addMessage(IValidator origin, IMessage message) {
+ list.add(message);
+ }
+
+ public void displaySubtask(IValidator validator, IMessage message) {
+ /* do not need to implement */
+ }
+
+ public IMessageAccess getMessageAccess() {
+ return null;
+ }
+
+ public boolean isCancelled() {
+ return false;
+ }
+
+ public void removeAllMessages(IValidator origin, Object object) { // do
+ /* do not need to implement */
+ }
+
+ public void removeAllMessages(IValidator origin) {
+ /* do not need to implement */
+ }
+
+ public void removeMessageSubset(IValidator validator, Object obj, String groupName) {// do
+ /* do not need to implement */
+ }
+
+ public List getMessages() {
+ return list;
+ }
+}
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ValidationContextForTest.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ValidationContextForTest.java
new file mode 100644
index 0000000..3f613fa
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ValidationContextForTest.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.jsp.ui.tests.validation;
+
+import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
+
+class ValidationContextForTest implements IValidationContext {
+ private String fURI = null;
+
+ public void setURI(String uri) {
+ fURI = uri;
+ }
+
+ public String[] getURIs() {
+ if (fURI != null)
+ return new String[]{fURI};
+ return new String[0];
+ }
+
+ public Object loadModel(String symbolicName) {
+ return null;
+ }
+
+ public Object loadModel(String symbolicName, Object[] parms) {
+ return null;
+ }
+
+}
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/viewer/ViewerTestJSP.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/viewer/ViewerTestJSP.java
index a445736..207e50e 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/viewer/ViewerTestJSP.java
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/viewer/ViewerTestJSP.java
@@ -41,6 +41,7 @@
import org.eclipse.wst.sse.core.StructuredModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
import org.w3c.dom.Attr;
@@ -223,6 +224,53 @@
fSourceViewer.resetVisibleRegion();
}
});
+ mgr.add(new Action() {
+ public String getText() {
+ return getToolTipText();
+ }
+
+ public String getToolTipText() {
+ return "Change Visibility in Editor";
+ }
+
+ public void run() {
+ super.run();
+ StructuredTextViewer sourceViewer = null;
+ IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+ if (part != null && part instanceof StructuredTextEditor) {
+ sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+ }
+ if (sourceViewer != null) {
+ NumberInputDialog dlg = new NumberInputDialog(sourceViewer.getControl().getShell());
+ int proceed = dlg.open();
+ if (proceed == Window.CANCEL)
+ return;
+ sourceViewer.resetVisibleRegion();
+ sourceViewer.setVisibleRegion(dlg.startValue, dlg.lengthValue);
+ }
+ }
+ });
+ mgr.add(new Action() {
+ public String getText() {
+ return getToolTipText();
+ }
+
+ public String getToolTipText() {
+ return "Show All in Editor";
+ }
+
+ public void run() {
+ super.run();
+ StructuredTextViewer sourceViewer = null;
+ IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+ if (part != null && part instanceof StructuredTextEditor) {
+ sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+ }
+ if (sourceViewer != null) {
+ sourceViewer.resetVisibleRegion();
+ }
+ }
+ });
mgr.add(new Separator());
// no longer able to set input to NULL
// mgr.add(new Action() {
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/test.xml b/tests/org.eclipse.jst.jsp.ui.tests/test.xml
index d3b7cde..0b6ad65 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/test.xml
+++ b/tests/org.eclipse.jst.jsp.ui.tests/test.xml
@@ -1,51 +1,115 @@
-<project name="testsuite" default="run" basedir=".">
- <!-- The property ${eclipse-home} should be passed into this script -->
- <!-- Set a meaningful default value for when it is not. -->
- <!--<property name="eclipse-home" value="${basedir}\..\.."/>-->
+<?xml version="1.0" encoding="UTF-8"?>
- <!-- sets the properties plugin-name, and library-file -->
- <property name="plugin-name" value="org.eclipse.jst.jsp.ui.tests" />
- <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" />
+<project
+ name="testsuite"
+ default="run"
+ basedir=".">
+
+ <!-- The following properties should be passed into this script -->
+ <!-- ${eclipse-home} -->
+ <!-- ${buildDirectory} -->
+ <!-- ${buildLabel} -->
+
+ <!-- should be little need to change what's above -->
+
+ <property
+ name="plugin-name"
+ value="org.eclipse.jst.jsp.ui.tests" />
+ <property
+ name="classname"
+ value="org.eclipse.jst.jsp.ui.tests.JSPUITestSuite" />
+ <property
+ name="testType"
+ value="ui-test" />
+
+ <!-- should be little need to change what's below -->
+
+ <echo message="basedir: ${basedir}" />
+ <echo message="eclipse-home: ${eclipse-home}" />
+ <echo message="buildDirectory: ${buildDirectory}" />
+ <echo message="plugin-name: ${plugin-name}" />
+ <echo message="classname: ${classname}" />
+ <echo message="testType ${testType}" />
- <!-- This target holds all initialization code that needs to be done for -->
- <!-- all tests that are to be run. Initialization for individual tests -->
- <!-- should be done within the body of the suite target. -->
- <target name="init">
- <delete>
- <fileset dir="${eclipse-home}" includes="org.eclipse.jst.jsp.ui.tests.*xml" />
- </delete>
- </target>
+ <property
+ name="library-file"
+ value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" />
+ <property
+ name="workspace"
+ value="${eclipse-home}/junitworkspaces/${plugin-name}" />
+
+ <!-- This target holds all initialization code that needs to be done for -->
+ <!-- all tests that are to be run. Initialization for individual tests -->
+ <!-- should be done within the body of the suite target. -->
+ <target name="init">
+ <tstamp />
+ <delete>
+ <fileset
+ dir="${eclipse-home}"
+ includes="${plugin-name}.*xml" />
+ </delete>
+ <!-- make directory, in case path doesn't exist yet -->
+ <mkdir dir="${workspace}" />
+ <!-- but delete to make sure fresh contents-->
+ <delete
+ dir="${workspace}"
+ quiet="true" />
- <!-- This target defines the tests that need to be run. -->
- <target name="suite">
- <delete dir="${workspace}" quiet="true" />
- <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
- <property name="data-dir" value="${workspace}" />
- <property name="plugin-name" value="${plugin-name}" />
- <property name="classname" value="org.eclipse.jst.jsp.ui.tests.JSPUITestSuite" />
- <property
- name="workspace"
- value="${eclipse-home}/junitworkspace-${plugin-name}" />
+ </target>
- </ant>
- </target>
+ <!-- This target defines the tests that need to be run. -->
+ <target name="suite">
- <!-- This target holds code to cleanup the testing environment after -->
- <!-- after all of the tests have been run. You can use this target to -->
- <!-- delete temporary files that have been created. -->
- <target name="cleanup">
- <!--<delete dir="${workspace}" quiet="true"/>-->
- </target>
+ <ant
+ target="${testType}"
+ antfile="${library-file}"
+ dir="${eclipse-home}">
+ <property
+ name="data-dir"
+ value="${workspace}" />
+ <property
+ name="plugin-name"
+ value="${plugin-name}" />
+ <property
+ name="classname"
+ value="${classname}" />
+ <property
+ name="plugin-path"
+ value="${eclipse-home}/plugins/${plugin-name}" />
+ </ant>
- <!-- This target runs the test suite. Any actions that need to happen -->
- <!-- after all the tests have been run should go here. -->
- <target name="run" depends="init,suite,cleanup">
- <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
- <property name="includes" value="org.eclipse.jst.jsp.ui.tests.*xml" />
- <property name="output-file" value="${plugin-name}.xml" />
- </ant>
- <!-- <emailResults resultsFile="${build-results-home}/${plugin-name}.xml" addresslist="david_williams@us.ibm.com" /> -->
- </target>
+ <copy
+ failonerror="false"
+ file="${workspace}/.metadata/.log"
+ tofile="${buildDirectory}/${buildLabel}/testResults/consolelogs/${plugin-name}.consolelog.txt" />
+
+ </target>
+
+ <!-- This target holds code to cleanup the testing environment after -->
+ <!-- after all of the tests have been run. You can use this target to -->
+ <!-- delete temporary files that have been created. -->
+ <target name="cleanup">
+ <!-- usually no need to delete workspace until next run, and leaving it allows inspection -->
+ <!-- <delete dir="${workspace}" quiet="true" /> -->
+ </target>
+
+ <!-- This target runs the test suite. Any actions that need to happen -->
+ <!-- after all the tests have been run should go here. -->
+ <target
+ name="run"
+ depends="init,suite,cleanup">
+ <ant
+ target="collect"
+ antfile="${library-file}"
+ dir="${eclipse-home}">
+ <property
+ name="includes"
+ value="${plugin-name}.*xml" />
+ <property
+ name="output-file"
+ value="${plugin-name}.xml" />
+ </ant>
+ </target>
</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/classes/.keepme b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/classes/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/classes/.keepme
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/lib/.keepme b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/lib/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/lib/.keepme
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/web.xml b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..2e1d7c0
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/web.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <display-name>bug_143209</display-name>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>default.html</welcome-file>
+ <welcome-file>default.htm</welcome-file>
+ <welcome-file>default.jsp</welcome-file>
+ </welcome-file-list>
+</web-app>
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/badattributenames.jsp b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/badattributenames.jsp
new file mode 100644
index 0000000..c515970
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/badattributenames.jsp
@@ -0,0 +1,9 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body fakename="">
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.html b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.html
new file mode 100644
index 0000000..95bd566
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<!-- jsp expression in attribute value -->
+<body bgcolor="<%="red" %>">
+<!-- jsp expression in attribute name -->
+<p <%="align" %>="left" />
+<!-- jsp expression as attribute name & value -->
+<a <%="href='http://www.eclipse.org'" %>>Eclipse link</a>
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.jsp b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.jsp
new file mode 100644
index 0000000..95bd566
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.jsp
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<!-- jsp expression in attribute value -->
+<body bgcolor="<%="red" %>">
+<!-- jsp expression in attribute name -->
+<p <%="align" %>="left" />
+<!-- jsp expression as attribute name & value -->
+<a <%="href='http://www.eclipse.org'" %>>Eclipse link</a>
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/build/classes/.keepme b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/build/classes/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/build/classes/.keepme
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/src/.keepme b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/src/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/src/.keepme
diff --git a/tests/org.eclipse.wst.css.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.css.core.tests/META-INF/MANIFEST.MF
index feb06a4..9dabb8d 100644
--- a/tests/org.eclipse.wst.css.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.css.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.css.core.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: csscoretests.jar
Bundle-Activator: org.eclipse.wst.css.core.tests.CSSCoreTestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.css.tests.encoding/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.css.tests.encoding/META-INF/MANIFEST.MF
index f61c419..311836e 100644
--- a/tests/org.eclipse.wst.css.tests.encoding/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.css.tests.encoding/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.css.tests.encoding
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: cssencodingtests.jar
Bundle-Activator: org.eclipse.wst.css.tests.encoding.CSSEncodingTestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.css.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.css.ui.tests/META-INF/MANIFEST.MF
index dfd32b5..7ed46c7 100644
--- a/tests/org.eclipse.wst.css.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.css.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.css.ui.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-Activator: org.eclipse.wst.css.ui.tests.CSSUITestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
Bundle-Localization: plugin
diff --git a/tests/org.eclipse.wst.dtd.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.dtd.ui.tests/META-INF/MANIFEST.MF
index 2f740e4..1e933be 100644
--- a/tests/org.eclipse.wst.dtd.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.dtd.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.dtd.ui.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: dtduitests.jar
Bundle-Activator: org.eclipse.wst.dtd.ui.tests.internal.DTDUITestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.dtd.ui.tests/src/org/eclipse/wst/dtd/ui/tests/viewer/ViewerTestDTD.java b/tests/org.eclipse.wst.dtd.ui.tests/src/org/eclipse/wst/dtd/ui/tests/viewer/ViewerTestDTD.java
index 77c6722..ed9c3ce 100644
--- a/tests/org.eclipse.wst.dtd.ui.tests/src/org/eclipse/wst/dtd/ui/tests/viewer/ViewerTestDTD.java
+++ b/tests/org.eclipse.wst.dtd.ui.tests/src/org/eclipse/wst/dtd/ui/tests/viewer/ViewerTestDTD.java
@@ -41,6 +41,7 @@
import org.eclipse.wst.sse.core.StructuredModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
import org.w3c.dom.Attr;
@@ -226,6 +227,53 @@
fSourceViewer.resetVisibleRegion();
}
});
+ mgr.add(new Action() {
+ public String getText() {
+ return getToolTipText();
+ }
+
+ public String getToolTipText() {
+ return "Change Visibility in Editor";
+ }
+
+ public void run() {
+ super.run();
+ StructuredTextViewer sourceViewer = null;
+ IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+ if (part != null && part instanceof StructuredTextEditor) {
+ sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+ }
+ if (sourceViewer != null) {
+ NumberInputDialog dlg = new NumberInputDialog(sourceViewer.getControl().getShell());
+ int proceed = dlg.open();
+ if (proceed == Window.CANCEL)
+ return;
+ sourceViewer.resetVisibleRegion();
+ sourceViewer.setVisibleRegion(dlg.startValue, dlg.lengthValue);
+ }
+ }
+ });
+ mgr.add(new Action() {
+ public String getText() {
+ return getToolTipText();
+ }
+
+ public String getToolTipText() {
+ return "Show All in Editor";
+ }
+
+ public void run() {
+ super.run();
+ StructuredTextViewer sourceViewer = null;
+ IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+ if (part != null && part instanceof StructuredTextEditor) {
+ sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+ }
+ if (sourceViewer != null) {
+ sourceViewer.resetVisibleRegion();
+ }
+ }
+ });
mgr.add(new Separator());
// no longer able to set fInput to NULL
// mgr.add(new Action() {
diff --git a/tests/org.eclipse.wst.html.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.html.core.tests/META-INF/MANIFEST.MF
index 3604de8..86d9a6b 100644
--- a/tests/org.eclipse.wst.html.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.html.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.html.core.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: htmlcoretests.jar
Bundle-Activator: org.eclipse.wst.html.core.tests.HTMLCoreTestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.html.tests.encoding/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.html.tests.encoding/META-INF/MANIFEST.MF
index 28fecf1..b2d7522 100644
--- a/tests/org.eclipse.wst.html.tests.encoding/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.html.tests.encoding/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.html.tests.encoding
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: htmlencodingtests.jar
Bundle-Activator: org.eclipse.wst.html.tests.encoding.HTMLEncodingTestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.html.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.html.ui.tests/META-INF/MANIFEST.MF
index 3ae04f9..04516c2 100644
--- a/tests/org.eclipse.wst.html.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.html.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.html.ui.tests; singleton:=true
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: htmluitests.jar
Bundle-Activator: org.eclipse.wst.html.ui.tests.HTMLUITestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.html.ui.tests/src/org/eclipse/wst/html/ui/tests/viewer/ViewerTestHTML.java b/tests/org.eclipse.wst.html.ui.tests/src/org/eclipse/wst/html/ui/tests/viewer/ViewerTestHTML.java
index 1e201cf..54b9892 100644
--- a/tests/org.eclipse.wst.html.ui.tests/src/org/eclipse/wst/html/ui/tests/viewer/ViewerTestHTML.java
+++ b/tests/org.eclipse.wst.html.ui.tests/src/org/eclipse/wst/html/ui/tests/viewer/ViewerTestHTML.java
@@ -41,6 +41,7 @@
import org.eclipse.wst.sse.core.StructuredModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
import org.w3c.dom.Attr;
@@ -224,6 +225,54 @@
}
});
mgr.add(new Separator());
+ mgr.add(new Action() {
+ public String getText() {
+ return getToolTipText();
+ }
+
+ public String getToolTipText() {
+ return "Change Visibility in Editor";
+ }
+
+ public void run() {
+ super.run();
+ StructuredTextViewer sourceViewer = null;
+ IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+ if (part != null && part instanceof StructuredTextEditor) {
+ sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+ }
+ if (sourceViewer != null) {
+ NumberInputDialog dlg = new NumberInputDialog(sourceViewer.getControl().getShell());
+ int proceed = dlg.open();
+ if (proceed == Window.CANCEL)
+ return;
+ sourceViewer.resetVisibleRegion();
+ sourceViewer.setVisibleRegion(dlg.startValue, dlg.lengthValue);
+ }
+ }
+ });
+ mgr.add(new Action() {
+ public String getText() {
+ return getToolTipText();
+ }
+
+ public String getToolTipText() {
+ return "Show All in Editor";
+ }
+
+ public void run() {
+ super.run();
+ StructuredTextViewer sourceViewer = null;
+ IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+ if (part != null && part instanceof StructuredTextEditor) {
+ sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+ }
+ if (sourceViewer != null) {
+ sourceViewer.resetVisibleRegion();
+ }
+ }
+ });
+ mgr.add(new Separator());
// no longer able to set input to NULL
// mgr.add(new Action() {
// public String getText() {
diff --git a/tests/org.eclipse.wst.sse.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.sse.core.tests/META-INF/MANIFEST.MF
index 3ebefad..6c7381e 100644
--- a/tests/org.eclipse.wst.sse.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.sse.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.sse.core.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: ssemodeltests.jar
Bundle-Activator: org.eclipse.wst.sse.core.tests.SSEModelTestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.sse.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.sse.ui.tests/META-INF/MANIFEST.MF
index 797125a..3aadc77 100644
--- a/tests/org.eclipse.wst.sse.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.sse.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.sse.ui.tests; singleton:=true
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: sseeditortests.jar
Bundle-Activator: org.eclipse.wst.sse.ui.tests.SSETestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/.cvsignore b/tests/org.eclipse.wst.xml.catalog.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/.project b/tests/org.eclipse.wst.xml.catalog.tests/.project
deleted file mode 100644
index c417514..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.wst.xml.core</name>
- <comment></comment>
- <projects></projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.wst.xml.catalog.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 6c7d10e..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Mar 25 17:34:01 EST 2005
-eclipse.preferences.version=1
-encoding//data/PublicationCatalogue/Catalogue.xsd=UTF8
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xml.catalog.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 55f6cc3..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Test Plug-in
-Bundle-SymbolicName: org.eclipse.wst.xml.catalog.tests; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.wst.xml.catalog.tests.internal.TestPlugin
-Bundle-Vendor: IBM
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.xml.catalog.tests.internal,
- org.eclipse.wst.xml.resolver.tools.tests.internal,
- org.eclipse.wst.xml.uriresolver.validation.tests.internal
-Require-Bundle: org.eclipse.core.runtime,
- org.junit,
- org.eclipse.wst.xml.core,
- org.apache.xerces,
- org.eclipse.xsd
-Eclipse-AutoStart: true
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/about.html b/tests/org.eclipse.wst.xml.catalog.tests/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the RedistributorÂ’s license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/build.properties b/tests/org.eclipse.wst.xml.catalog.tests/build.properties
deleted file mode 100644
index 46ff36b..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-source.catalogtests.jar = src/
-output.catalogtests.jar = bin/
-bin.includes = actual_results/,\
- data/,\
- jars/,\
- plugin.xml,\
- test.xml,\
- META-INF/,\
- catalogtests.jar,\
- about.html
-
-src.includes = actual_results/
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.dtd b/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.dtd
deleted file mode 100644
index 0737ba6..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.dtd
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!ELEMENT Invoice (Header,Item+)>
-<!ELEMENT Header (Date,BillTo)>
-<!ATTLIST Header
- invoiceNumber CDATA #REQUIRED
->
-<!ELEMENT Item (description*)>
-<!ATTLIST Item
- price CDATA #REQUIRED
- discount (promotion | regular) "regular"
->
-<!ELEMENT Date ((Month,Day,Year)|(Day,Month,Year))>
-<!ELEMENT BillTo (Address)>
-<!ATTLIST BillTo
- custNumber ID #REQUIRED
- name CDATA #IMPLIED
- phone CDATA #IMPLIED
->
-<!ELEMENT description (#PCDATA)>
-<!ELEMENT Address (street1,street2?,city,(state|province),zip,country?)>
-<!ELEMENT street1 (#PCDATA)>
-<!ELEMENT street2 (#PCDATA)>
-<!ELEMENT city (#PCDATA)>
-<!ELEMENT state (#PCDATA)>
-<!ELEMENT province (#PCDATA)>
-<!ELEMENT zip (#PCDATA)>
-<!ELEMENT country (#PCDATA)>
-<!ELEMENT Month (#PCDATA)>
-<!ELEMENT Day (#PCDATA)>
-<!ELEMENT Year (#PCDATA)>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.xml
deleted file mode 100644
index 6afe397..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Invoice PUBLIC "InvoiceId_test" "Invoice.dtd" >
-<Invoice>
- <Header invoiceNumber="12345">
- <Date>
- <Month>July</Month>
- <Day>15</Day>
- <Year>2001</Year>
- </Date>
- <BillTo custNumber="X5739" name="Milton McGoo" phone="416-448-4414">
- <Address>
- <street1>IBM</street1>
- <street2>1150 Eglinton Ave East</street2>
- <city>Toronto</city>
- <state>Ontario</state>
- <zip>M3C 1H7</zip>
- <country>Canada</country>
- </Address>
- </BillTo>
- </Header>
- <Item discount="promotion" price="57">
- <description>high speed 3D graphics card</description>
- </Item>
-</Invoice>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal-schema.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal-schema.xml
deleted file mode 100644
index c2f725b..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal-schema.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<personnel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation='personal.xsd'>
-
- <person id="Big.Boss" >
- <name><family>Boss</family> <given>Big</given></name>
- <email>chief@foo.com</email>
- <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
- </person>
-
- <person id="one.worker">
- <name><family>Worker</family> <given>One</given></name>
- <email>one@foo.com</email>
- <link manager="Big.Boss"/>
- </person>
-
- <person id="two.worker">
- <name><family>Worker</family> <given>Two</given></name>
- <email>two@foo.com</email>
- <link manager="Big.Boss"/>
- </person>
-
- <person id="three.worker">
- <name><family>Worker</family> <given>Three</given></name>
- <email>three@foo.com</email>
- <link manager="Big.Boss"/>
- </person>
-
- <person id="four.worker">
- <name><family>Worker</family> <given>Four</given></name>
- <email>four@foo.com</email>
- <link manager="Big.Boss"/>
- </person>
-
- <person id="five.worker">
- <name><family>Worker</family> <given>Five</given></name>
- <email>five@foo.com</email>
- <link manager="Big.Boss"/>
- </person>
-
-</personnel>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.dtd b/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.dtd
deleted file mode 100644
index c64e48a..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.dtd
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml encoding="UTF-8"?>
-<!ELEMENT personnel (person)+>
-
-<!ELEMENT person (name,email*,url*,link?)>
-<!ATTLIST person id ID #REQUIRED>
-<!ATTLIST person note CDATA #IMPLIED>
-<!ATTLIST person contr (true|false) 'false'>
-<!ATTLIST person salary CDATA #IMPLIED>
-
-<!ELEMENT name ((family,given)|(given,family))>
-
-<!ELEMENT family (#PCDATA)>
-
-<!ELEMENT given (#PCDATA)>
-
-<!ELEMENT email (#PCDATA)>
-
-<!ELEMENT url EMPTY>
-<!ATTLIST url href CDATA 'http://'>
-
-<!ELEMENT link EMPTY>
-<!ATTLIST link manager IDREF #IMPLIED>
-<!ATTLIST link subordinates IDREFS #IMPLIED>
-
-<!NOTATION gif PUBLIC '-//APP/Photoshop/4.0' 'photoshop.exe'>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xml
deleted file mode 100644
index 9c3e438..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE personnel SYSTEM "http://personal/personal.dtd">
-<personnel>
-
- <person id="Big.Boss">
- <name><family>Boss</family> <given>Big</given></name>
- <email>chief@foo.com</email>
- <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
- </person>
-
- <person id="one.worker">
- <name><family>Worker</family> <given>One</given></name>
- <email>one@foo.com</email>
- <link manager="Big.Boss"/>
- </person>
-
- <person id="two.worker">
- <name><family>Worker</family> <given>Two</given></name>
- <email>two@foo.com</email>
- <link manager="Big.Boss"/>
- </person>
-
- <person id="three.worker">
- <name><family>Worker</family> <given>Three</given></name>
- <email>three@foo.com</email>
- <link manager="Big.Boss"/>
- </person>
-
- <person id="four.worker">
- <name><family>Worker</family> <given>Four</given></name>
- <email>four@foo.com</email>
- <link manager="Big.Boss"/>
- </person>
-
- <person id="five.worker">
- <name><family>Worker</family> <given>Five</given></name>
- <email>five@foo.com</email>
- <link manager="Big.Boss"/>
- </person>
-
-</personnel>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xsd
deleted file mode 100644
index 05e3183..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xsd
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
-
- <xs:element name="personnel">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="person" minOccurs='1' maxOccurs='unbounded'/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:unique name="unique1">
- <xs:selector xpath="person"/>
- <xs:field xpath="name/given"/>
- <xs:field xpath="name/family"/>
- </xs:unique>
- <xs:key name='empid'>
- <xs:selector xpath="person"/>
- <xs:field xpath="@id"/>
- </xs:key>
- <xs:keyref name="keyref1" refer='empid'>
- <xs:selector xpath="person"/>
- <xs:field xpath="link/@manager"/>
- </xs:keyref>
-
- </xs:element>
-
- <xs:element name="person">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:element ref="email" minOccurs='0' maxOccurs='unbounded'/>
- <xs:element ref="url" minOccurs='0' maxOccurs='unbounded'/>
- <xs:element ref="link" minOccurs='1' maxOccurs='1'/>
- </xs:sequence>
- <xs:attribute name="id" type="xs:ID" use='required'/>
- <xs:attribute name="note" type="xs:string"/>
- <xs:attribute name="contr" default="false">
- <xs:simpleType>
- <xs:restriction base = "xs:string">
- <xs:enumeration value="true"/>
- <xs:enumeration value="false"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="salary" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="name">
- <xs:complexType>
- <xs:all>
- <xs:element ref="family"/>
- <xs:element ref="given"/>
- </xs:all>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="family" type='xs:string'/>
-
- <xs:element name="given" type='xs:string'/>
-
- <xs:element name="email" type='xs:string'/>
-
- <xs:element name="url">
- <xs:complexType>
- <xs:attribute name="href" type="xs:string" default="http://"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="link">
- <xs:complexType>
- <xs:attribute name="manager" type="xs:IDREF"/>
- <xs:attribute name="subordinates" type="xs:IDREFS"/>
- </xs:complexType>
- </xs:element>
-
- <xs:notation name='gif' public='-//APP/Photoshop/4.0' system='photoshop.exe'/>
-
-</xs:schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xml
deleted file mode 100644
index e66621d..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<c:Catalogue xmlns:c="http://www.eclipse.org/webtools/Catalogue/test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eclipse.org/webtools/Catalogue/test Catalogue.xsd ">
- <c:Book>
- <title>Professional XML Schema</title>
- <date>2001</date>
- <isbn>1-861005-47-4</isbn>
- <publisher>Wrox Press</publisher>
- </c:Book>
- <c:Magazine>
- <title>WebSphere Developer's Journal</title>
- <date>2001</date>
- </c:Magazine>
- <c:Book>
- <title>Java and XSLT</title>
- <date>2001</date>
- <isbn>0-596-00143-6</isbn>
- <publisher>O'Reilly</publisher>
- </c:Book>
-</c:Catalogue>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xsd
deleted file mode 100644
index 1668642..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xsd
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema targetNamespace="http://www.eclipse.org/webtools/Catalogue/test"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:c="http://www.eclipse.org/webtools/Catalogue/test"
- xsi:schemaLocation="http://www.eclipse.org/webtools/Catalogue/test Catalogue.xsd ">
- <group name="test">
- <sequence>
- <element name="test1"></element>
- </sequence>
- </group>
- <complexType name="PublicationType">
- <sequence>
- <element name="title" type="string"></element>
- <element name="author" type="string" minOccurs="0"
- maxOccurs="unbounded">
- </element>
- <element name="date" type="gYear"></element>
- </sequence>
- </complexType>
-
- <complexType name="BookType">
- <complexContent>
- <extension base="c:PublicationType">
- <sequence>
- <element name="isbn" type="string" />
- <element name="publisher" type="string" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="MagazineType">
- <complexContent>
- <restriction base="c:PublicationType">
- <sequence>
- <element name="title" type="string" />
- <element name="author" type="string" minOccurs="0"
- maxOccurs="0" />
- <element name="date" type="gYear"></element>
- </sequence>
- </restriction>
- </complexContent>
- </complexType>
-
- <element name="Publication" type="c:PublicationType"
- abstract="true">
- </element>
-
- <element name="Book" type="c:BookType"
- substitutionGroup="c:Publication">
- </element>
-
- <element name="Magazine" type="c:MagazineType"
- substitutionGroup="c:Publication">
- </element>
-
- <element name="Catalogue">
- <complexType>
- <sequence>
- <element ref="c:Publication" maxOccurs="unbounded"></element>
- </sequence>
- </complexType>
- </element>
-
-</schema>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xml
deleted file mode 100644
index 12bd7e6..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<po:purchaseOrder orderDate="2001-01-01" xmlns:po="http://www.ibm.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com PurchaseOrder.xsd">
- <shipTo country="US">
- <name>Alice Smith</name>
- <street>125 Maple Street</street>
- <city>Mill Valley</city>
- <state>CA</state>
- <zip>90952</zip>
- </shipTo>
- <billTo country="US">
- <name>Robert Smith</name>
- <street>8 Oak Avenue</street>
- <city>Old Town</city>
- <state>PA</state>
- <zip>95819</zip>
- </billTo>
- <po:comment>Hurry, my lawn is going wild!</po:comment>
- <items>
- <item partNum="872-AA">
- <productName>Lawnmower</productName>
- <quantity>1</quantity>
- <USPrice>148.95</USPrice>
- <po:comment>Confirm this is electric</po:comment>
- </item>
- <item partNum="926-AA">
- <productName>Baby Monitor</productName>
- <quantity>1</quantity>
- <USPrice>39.98</USPrice>
- <shipDate>2001-07-21</shipDate>
- </item>
- </items>
-</po:purchaseOrder>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xsd
deleted file mode 100644
index d0fb094..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xsd
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.ibm.com"
- xmlns:po="http://www.ibm.com">
- <annotation>
- <documentation xml:lang="en">
- Purchase order schema example from XML Schema Part 0: Primer
-
- Copyright 2001, IBM Corp. All rights reserved
- Copyright 2001, World Wide Web Consortium,
- (Massachusetts Institute of Technology, Institut National de Recherche en Informatiqueet en Automatique, Keio University).
- All Rights Reserved.
- </documentation>
- </annotation>
-
- <element name="purchaseOrder" type="po:PurchaseOrderType"/>
-
- <element name="comment" type="string"/>
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="po:USAddress"/>
- <element name="billTo" type="po:USAddress"/>
- <element ref="po:comment" minOccurs="0"/>
- <element name="items" type="po:Items"/>
- </sequence>
- <attribute name="orderDate" type="date"/>
- </complexType>
-
- <complexType name="USAddress">
- <sequence>
- <element name="name" type="string"/>
- <element name="street" type="string"/>
- <element name="city" type="string"/>
- <element name="state" type="po:USState"/>
- <element name="zip" type="decimal"/>
- </sequence>
- <attribute name="country" type="NMTOKEN" fixed="US"/>
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string"/>
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100"/>
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal"/>
- <element ref="po:comment" minOccurs="0"/>
- <element name="shipDate" type="date" minOccurs="0"/>
- </sequence>
- <attribute name="partNum" type="po:SKU" use="required"/>
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}"/>
- </restriction>
- </simpleType>
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="CA"></enumeration>
- <enumeration value="PA"></enumeration>
- <enumeration value="AR"></enumeration>
- </restriction>
- </simpleType>
-</schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/address.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/address.xsd
deleted file mode 100644
index 26ea442..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/address.xsd
+++ /dev/null
@@ -1,68 +0,0 @@
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- Addresses for International Purchase order schema
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string"/>
- <element name="street" type="string"/>
- <element name="city" type="string"/>
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState"/>
- <element name="zip" type="positiveInteger"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode"/>
- </sequence>
- <attribute name="exportCode" type="positiveInteger" fixed="1"/>
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK"/>
- <enumeration value="AL"/>
- <enumeration value="AR"/>
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <!-- simple type definition for Postcode -->
- <simpleType name="Postcode">
- <restriction base="string">
- </restriction>
- </simpleType>
-
- <!-- simple type definition for UKPostcode -->
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}"/>
- </restriction>
- </simpleType>
-
-
-</schema>
-
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xml
deleted file mode 100644
index d483ade..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-<ipo:purchaseOrder
- orderDate="2001-01-01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ipo="http://www.example.com/IPO" xsi:schemaLocation="http://www.example.com/IPO ipo.xsd ">
-
- <shipTo exportCode="1" xsi:type="ipo:UKAddress">
- <name>Helen Zoe</name>
- <street>47 Eden Street</street>
- <city>Cambridge</city>
- <postcode>CB1 1JR</postcode>
- </shipTo>
-
- <billTo xsi:type="ipo:USAddress">
- <name>Robert Smith</name>
- <street>8 Oak Avenue</street>
- <city>Old Town</city>
- <state>AR</state>
- <zip>95819</zip>
- </billTo>
-
- <items>
- <item partNum="833-AA">
- <productName>Lapis necklace</productName>
- <quantity>1</quantity>
- <USPrice>99.95</USPrice>
- <ipo:comment>Want this for the holidays!</ipo:comment>
- <shipDate>1999-12-05</shipDate>
- </item>
- </items>
-</ipo:purchaseOrder>
-
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xsd
deleted file mode 100644
index 7a63d01..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xsd
+++ /dev/null
@@ -1,59 +0,0 @@
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
- <!-- include address constructs -->
- <include
- schemaLocation="address.xsd"/>
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType"/>
-
- <element name="comment" type="string"/>
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address"/>
- <element name="billTo" type="ipo:Address"/>
- <element ref="ipo:comment" minOccurs="0"/>
- <element name="items" type="ipo:Items"/>
- </sequence>
- <attribute name="orderDate" type="date"/>
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string"/>
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100"/>
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal"/>
- <element ref="ipo:comment" minOccurs="0"/>
- <element name="shipDate" type="date" minOccurs="0"/>
- </sequence>
- <attribute name="partNum" type="ipo:SKU" use="required"/>
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}"/>
- </restriction>
- </simpleType>
-
-</schema>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo_.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo_.xsd
deleted file mode 100644
index 436d49d..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo_.xsd
+++ /dev/null
@@ -1,59 +0,0 @@
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
- <!-- include address constructs -->
- <include
- schemaLocation="address_.xsd"/>
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType"/>
-
- <element name="comment" type="string"/>
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address"/>
- <element name="billTo" type="ipo:Address"/>
- <element ref="ipo:comment" minOccurs="0"/>
- <element name="items" type="ipo:Items"/>
- </sequence>
- <attribute name="orderDate" type="date"/>
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string"/>
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100"/>
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal"/>
- <element ref="ipo:comment" minOccurs="0"/>
- <element name="shipDate" type="date" minOccurs="0"/>
- </sequence>
- <attribute name="partNum" type="ipo:SKU" use="required"/>
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}"/>
- </restriction>
- </simpleType>
-
-</schema>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xml
deleted file mode 100644
index 98ed6f1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ex:purchaseReport
- xmlns:ex="http://www.example.com/Report"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.example.com/Report report.xsd">
- <ex:regions>
- <ex:zip code="39487">
- <ex:part number="293-AX" quantity="3"/>
- <ex:part number="293-LD" quantity="3"/>
- </ex:zip>
- <ex:zip code="29387">
- <ex:part number="897-JD" quantity="30"/>
- </ex:zip>
- <ex:zip code="19285">
- <ex:part number="123-CK" quantity="19"/>
- <ex:part number="175-FQ" quantity="8"/>
- </ex:zip>
- </ex:regions>
-
- <ex:parts>
- <ex:part number="293-AX"/>
- <ex:part number="897-JD"/>
- <ex:part number="123-CK"/>
- <ex:part number="293-LD"/>
- <ex:part number="175-FQ"/>
- </ex:parts>
-</ex:purchaseReport>
-
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xsd
deleted file mode 100644
index 0ee7ca4..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xsd
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.example.com/Report"
- xmlns:r="http://www.example.com/Report"
- xmlns:xipo="http://www.example.com/IPO"
- elementFormDefault="qualified">
- <annotation>
- <documentation>
- The Report Schema from XML Schema Part 0: Primer
-
- Copyright 2001, IBM Corp. All Rights Reserved.
- Copyright 2001, World Wide Web Consortium
- (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University).
- All Rights Reserved.
- </documentation>
- </annotation>
-
- <import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd"/>
-
- <element name="purchaseReport">
- <complexType>
- <sequence>
- <element name="regions" type="r:RegionsType"/>
-
- <element name="parts" type="r:PartsType"/>
- </sequence>
- <attribute name="period" type="duration"/>
- <attribute name="periodEnding" type="date"/>
- </complexType>
-
- <unique name="dummy1">
- <selector xpath="r:regions/r:zip"/>
- <field xpath="@code"/>
- </unique>
-
- <key name="pNumKey">
- <selector xpath="r:parts/r:part"/>
- <field xpath="@number"/>
- </key>
- <keyref name="dummy2" refer="r:pNumKey">
- <selector xpath="r:regions/r:zip/r:part"/>
- <field xpath="@number"/>
- </keyref>
- </element>
-
- <complexType name="RegionsType">
- <sequence>
- <element name="zip" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="part" maxOccurs="unbounded">
- <complexType>
- <complexContent>
- <restriction base="anyType">
- <attribute name="number" type="xipo:SKU"/>
- <attribute name="quantity" type="positiveInteger"/>
- </restriction>
- </complexContent>
- </complexType>
- </element>
- </sequence>
- <attribute name="code" type="positiveInteger"/>
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <complexType name="PartsType">
- <sequence>
- <element name="part" maxOccurs="unbounded">
- <complexType>
- <simpleContent>
- <extension base="string">
- <attribute name="number" type="xipo:SKU"/>
- </extension>
- </simpleContent>
- </complexType>
- </element>
- </sequence>
- </complexType>
-</schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xml
deleted file mode 100644
index 7d34ce1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ex:purchaseReport
- xmlns:ex="http://www.example.com/Report"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.example.com/Report">
- <ex:regions>
- <ex:zip code="39487">
- <ex:part number="293-AX" quantity="3"/>
- <ex:part number="293-LD" quantity="3"/>
- </ex:zip>
- <ex:zip code="29387">
- <ex:part number="897-JD" quantity="30"/>
- </ex:zip>
- <ex:zip code="19285">
- <ex:part number="123-CK" quantity="19"/>
- <ex:part number="175-FQ" quantity="8"/>
- </ex:zip>
- </ex:regions>
-
- <ex:parts>
- <ex:part number="293-AX"/>
- <ex:part number="897-JD"/>
- <ex:part number="123-CK"/>
- <ex:part number="293-LD"/>
- <ex:part number="175-FQ"/>
- </ex:parts>
-</ex:purchaseReport>
-
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xsd
deleted file mode 100644
index cb284be..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xsd
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.example.com/Report"
- xmlns:r="http://www.example.com/Report"
- xmlns:xipo="http://www.example.com/IPO"
- elementFormDefault="qualified">
- <annotation>
- <documentation>
- The Report Schema from XML Schema Part 0: Primer
-
- Copyright 2001, IBM Corp. All Rights Reserved.
- Copyright 2001, World Wide Web Consortium
- (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University).
- All Rights Reserved.
- </documentation>
- </annotation>
-
- <import namespace="http://www.example.com/IPO" schemaLocation="ipo__.xsd"/>
-
- <element name="purchaseReport">
- <complexType>
- <sequence>
- <element name="regions" type="r:RegionsType"/>
-
- <element name="parts" type="r:PartsType"/>
- </sequence>
- <attribute name="period" type="duration"/>
- <attribute name="periodEnding" type="date"/>
- </complexType>
-
- <unique name="dummy1">
- <selector xpath="r:regions/r:zip"/>
- <field xpath="@code"/>
- </unique>
-
- <key name="pNumKey">
- <selector xpath="r:parts/r:part"/>
- <field xpath="@number"/>
- </key>
- <keyref name="dummy2" refer="r:pNumKey">
- <selector xpath="r:regions/r:zip/r:part"/>
- <field xpath="@number"/>
- </keyref>
- </element>
-
- <complexType name="RegionsType">
- <sequence>
- <element name="zip" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="part" maxOccurs="unbounded">
- <complexType>
- <complexContent>
- <restriction base="anyType">
- <attribute name="number" type="xipo:SKU"/>
- <attribute name="quantity" type="positiveInteger"/>
- </restriction>
- </complexContent>
- </complexType>
- </element>
- </sequence>
- <attribute name="code" type="positiveInteger"/>
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <complexType name="PartsType">
- <sequence>
- <element name="part" maxOccurs="unbounded">
- <complexType>
- <simpleContent>
- <extension base="string">
- <attribute name="number" type="xipo:SKU"/>
- </extension>
- </simpleContent>
- </complexType>
- </element>
- </sequence>
- </complexType>
-</schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/catalog.xsd
deleted file mode 100644
index b00c82c..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog.xsd
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:er="http://oasis.names.tc.entity.xmlns.xml.catalog"
- targetNamespace="http://oasis.names.tc.entity.xmlns.xml.catalog"
- elementFormDefault="qualified">
-
- <!-- $Id: catalog.xsd,v 1.1 2005/06/24 04:17:50 csalter Exp $ -->
-
- <xs:simpleType name="pubIdChars">
- <!-- A string of the characters defined as pubIdChar in production 13
- of the Second Edition of the XML 1.0 Recommendation. Does not include
- the whitespace characters because they're normalized by XML parsing. -->
- <xs:restriction base="xs:string">
- <xs:pattern value="[a\-zA\-Z0\-9\-'()+,./:=?;!*#@$_%]*"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name='publicIdentifier'>
- <xs:restriction base="er:pubIdChars"/>
- </xs:simpleType>
-
- <xs:simpleType name='partialPublicIdentifier'>
- <xs:restriction base='er:pubIdChars'/>
- </xs:simpleType>
-
- <xs:simpleType name='systemOrPublic'>
- <xs:restriction base='xs:string'>
- <xs:enumeration value='system'/>
- <xs:enumeration value='public'/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- The global attribute xml:base is not explicitly declared; -->
- <!-- it is allowed by the anyAttribute declarations. -->
-
- <xs:complexType name='catalog'>
- <xs:choice minOccurs='1' maxOccurs='unbounded'>
- <xs:element ref='er:public'/>
- <xs:element ref='er:system'/>
- <xs:element ref='er:uri'/>
- <xs:element ref='er:rewriteSystem'/>
- <xs:element ref='er:rewriteURI'/>
- <xs:element ref='er:delegatePublic'/>
- <xs:element ref='er:delegateSystem'/>
- <xs:element ref='er:delegateURI'/>
- <xs:element ref='er:nextCatalog'/>
- <xs:element ref='er:group'/>
- <xs:any namespace='##other' processContents='skip'/>
- </xs:choice>
- <xs:attribute name='id' type='xs:ID'/>
- <xs:attribute name='prefer' type='er:systemOrPublic'/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
-
- <xs:complexType name='public'>
- <xs:complexContent>
- <xs:restriction base="xs:anyType">
- <xs:attribute name="publicId" type="er:publicIdentifier"
- use="required"/>
- <xs:attribute name="uri" type="xs:anyURI" use="required"/>
- <xs:attribute name='id' type='xs:ID'/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name='system'>
- <xs:complexContent>
- <xs:restriction base="xs:anyType">
- <xs:attribute name="systemId" type="xs:string"
- use="required"/>
- <xs:attribute name="uri" type="xs:anyURI" use="required"/>
- <xs:attribute name='id' type='xs:ID'/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name='uri'>
- <xs:complexContent>
- <xs:restriction base="xs:anyType">
- <xs:attribute name="name" type="xs:anyURI"
- use="required"/>
- <xs:attribute name="uri" type="xs:anyURI" use="required"/>
- <xs:attribute name='id' type='xs:ID'/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name='rewriteSystem'>
- <xs:complexContent>
- <xs:restriction base="xs:anyType">
- <xs:attribute name="systemIdStartString"
- type="xs:string"
- use="required"/>
- <xs:attribute name="rewritePrefix" type="xs:string" use="required"/>
- <xs:attribute name='id' type='xs:ID'/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name='rewriteURI'>
- <xs:complexContent>
- <xs:restriction base="xs:anyType">
- <xs:attribute name="uriIdStartString"
- type="xs:string"
- use="required"/>
- <xs:attribute name="rewritePrefix" type="xs:string" use="required"/>
- <xs:attribute name='id' type='xs:ID'/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name='delegatePublic'>
- <xs:complexContent>
- <xs:restriction base="xs:anyType">
- <xs:attribute name="publicIdStartString"
- type="er:partialPublicIdentifier"
- use="required"/>
- <xs:attribute name="catalog" type="xs:anyURI" use="required"/>
- <xs:attribute name='id' type='xs:ID'/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name='delegateSystem'>
- <xs:complexContent>
- <xs:restriction base="xs:anyType">
- <xs:attribute name="systemIdStartString"
- type="xs:string"
- use="required"/>
- <xs:attribute name="catalog" type="xs:anyURI" use="required"/>
- <xs:attribute name='id' type='xs:ID'/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name='delegateURI'>
- <xs:complexContent>
- <xs:restriction base="xs:anyType">
- <xs:attribute name="uriStartString"
- type="xs:string"
- use="required"/>
- <xs:attribute name="catalog" type="xs:anyURI" use="required"/>
- <xs:attribute name='id' type='xs:ID'/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name='nextCatalog'>
- <xs:complexContent>
- <xs:restriction base="xs:anyType">
- <xs:attribute name="catalog" type="xs:anyURI" use="required"/>
- <xs:attribute name='id' type='xs:ID'/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name='group'>
- <xs:choice minOccurs='1' maxOccurs='unbounded'>
- <xs:element ref='er:public'/>
- <xs:element ref='er:system'/>
- <xs:element ref='er:uri'/>
- <xs:element ref='er:rewriteSystem'/>
- <xs:element ref='er:rewriteURI'/>
- <xs:element ref='er:delegatePublic'/>
- <xs:element ref='er:delegateSystem'/>
- <xs:element ref='er:delegateURI'/>
- <xs:element ref='er:nextCatalog'/>
- <xs:any namespace='##other' processContents='skip'/>
- </xs:choice>
- <xs:attribute name='prefer' type='er:systemOrPublic'/>
- <xs:attribute name='id' type='xs:ID'/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
-
- <xs:element name="catalog" type="er:catalog"/>
- <xs:element name="public" type="er:public"/>
- <xs:element name="system" type="er:system"/>
- <xs:element name="uri" type="er:uri"/>
- <xs:element name="rewriteSystem" type="er:rewriteSystem"/>
- <xs:element name="rewriteURI" type="er:rewriteURI"/>
- <xs:element name="delegatePublic" type="er:delegatePublic"/>
- <xs:element name="delegateSystem" type="er:delegateSystem"/>
- <xs:element name="delegateURI" type="er:delegateURI"/>
- <xs:element name="nextCatalog" type="er:nextCatalog"/>
- <xs:element name="group" type="er:group"/>
-
-</xs:schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog1.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/catalog1.xml
deleted file mode 100644
index 124bc14..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog1.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
- <public publicId="InvoiceId_test" uri="./Invoice/Invoice.dtd" webURL="http://webURL"/>
- <system systemId="Invoice.dtd" uri="./Invoice/Invoice.dtd" chached="yes" property="value1"/>
- <uri name="http://www.test.com/Invoice.dtd" uri="./Invoice/Invoice.dtd" chached="no" property="value2"/>
- <nextCatalog catalog="catalog2.xml" id="nextCatalog1"/>
-</catalog>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2.xml
deleted file mode 100644
index 4eca03c..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
- <public publicId="http://www.eclipse.org/webtools/Catalogue_001" uri="./PublicationCatalog/Catalogue.xsd" />
- <system systemId="Catalogue.xsd" uri="./PublicationCatalog/Catalogue.xsd" />
- <uri name="http://www.eclipse.org/webtools/Catalogue.xsd" uri="http://www.eclipse.org/webtools/Catalogue/Catalogue.xsd" />
- <group id="group1" prefer="system">
- <public publicId="http://www.eclipse.org/webtools/Catalogue_002" uri="./PublicationCatalog/Catalogue.xsd" />
- </group>
- </catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2bak.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2bak.xml
deleted file mode 100644
index b0a5b23..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2bak.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
- <public publicId="http://www.eclipse.org/webtools/Catalogue" uri="./PublicationCatalog/Catalogue.xsd"/>
- <system systemId="Catalogue.xsd" uri="./PublicationCatalog/Catalogue.xsd"/>
- <group id="group1" prefer="system">
- <uri name="http://Catalogue.xsd" uri="http://www.eclipse.org/webtools/Catalogue/Catalogue.xsd"/>
- </group>
-</catalog>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/compatabilityTest.xmlcatalog b/tests/org.eclipse.wst.xml.catalog.tests/data/compatabilityTest.xmlcatalog
deleted file mode 100644
index a884551..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/compatabilityTest.xmlcatalog
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<XMLCatalogSettings>
- <UserEntries>
- <UserEntry TYPE="PUBLIC" ID="InvoiceId"
-URI="platform:/resource/XMLExamples/Invoice2/Invoice.dtd"/>
- </UserEntries>
-</XMLCatalogSettings>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/delegateAndRewrite/catalog.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/delegateAndRewrite/catalog.xml
deleted file mode 100644
index 7c794c5..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/delegateAndRewrite/catalog.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook XML" catalog="file:///usr/share/sgml/docbook/xmlcatalog"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML" catalog="file:///usr/share/sgml/docbook/xmlcatalog"/>
- <delegatePublic publicIdStartString="ISO 8879:1986" catalog="file:///usr/share/sgml/docbook/xmlcatalog"/>
- <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/" catalog="file:///usr/share/sgml/docbook/xmlcatalog"/>
- <delegateURI uriStartString="http://www.oasis-open.org/docbook/" catalog="file:///usr/share/sgml/docbook/xmlcatalog"/>
- <rewriteSystem systemIdStartString="http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd" rewritePrefix="/usr/share/xml/scrollkeeper/dtds/scrollkeeper-omf.dtd"/>
- <rewriteURI uriStartString="http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd" rewritePrefix="/usr/share/xml/scrollkeeper/dtds/scrollkeeper-omf.dtd"/>
-</catalog>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/docbook/xmlcatalog.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/docbook/xmlcatalog.xml
deleted file mode 100644
index d283dee..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/docbook/xmlcatalog.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
- <public publicId="ISO 8879:1986//ENTITIES Publishing//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-pub.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-grk1.ent"/>
- <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/dbpoolx.mod"/>
- <public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-box.ent"/>
- <public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/docbookx.dtd"/>
- <public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-grk3.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amsn.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-num.ent"/>
- <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/dbcentx.mod"/>
- <public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-grk4.ent"/>
- <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/dbnotnx.mod"/>
- <public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-dia.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-grk2.ent"/>
- <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/dbgenent.mod"/>
- <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/dbhierx.mod"/>
- <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amsa.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amso.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-cyrl.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES General Technical//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-tech.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amsc.ent"/>
- <public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN" uri="xml-dtd-4.2-1.0-17.2/soextblx.dtd"/>
- <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/calstblx.dtd"/>
- <public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-lat1.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amsb.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-lat2.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amsr.ent"/>
- <public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-cyr2.ent"/>
- <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.1.2" rewritePrefix="xml-dtd-4.1.2-1.0-17.2"/>
- <rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.1.2" rewritePrefix="xml-dtd-4.1.2-1.0-17.2"/>
- <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/dbpoolx.mod"/>
- <public publicId="-//OASIS//DTD DocBook XML V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/docbookx.dtd"/>
- <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/dbcentx.mod"/>
- <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/dbnotnx.mod"/>
- <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/dbgenent.mod"/>
- <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/dbhierx.mod"/>
- <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/calstblx.dtd"/>
- <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.2" rewritePrefix="xml-dtd-4.2-1.0-17.2"/>
- <rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.2" rewritePrefix="xml-dtd-4.2-1.0-17.2"/>
-</catalog>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog.xml
deleted file mode 100644
index a67cd07..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE catalog
- PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
- "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
- prefer="public">
- <uri name="http://apache.org/xml/xcatalog/example" uri="./example/example.xsd"/>
- <system systemId="myexample.xsd" uri="./example/example-nonamespace.xsd"/>
-
- <delegatePublic publicIdStartString="-//A//"
- catalog="example-catalog2.xml"/>
-
-
-</catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog2.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog2.xml
deleted file mode 100644
index 18bb1ef..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE catalog
- PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
- "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
- prefer="public">
- <public publicId="-//A//XML CATALOG IDENTIFIER//EN"
- uri="./example/example.ent"/>
-</catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-dtd.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-dtd.xml
deleted file mode 100644
index 94aaae9..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-dtd.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE root [
- <!ENTITY text PUBLIC "-//A//XML CATALOG IDENTIFIER//EN"
- "urn:publicid:-:A:XML+CATALOG+IDENTIFIER:EN">
-]>
-<root>&text;</root>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-nonamespace.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-nonamespace.xsd
deleted file mode 100644
index ef2998d..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-nonamespace.xsd
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="root" type="xs:anyURI"/>
-</xs:schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema-nonamespace.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema-nonamespace.xml
deleted file mode 100644
index 39175f1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema-nonamespace.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="myexample.xsd">
-http://apache.org/xml/anyURI</root>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema.xml
deleted file mode 100644
index f97cb3b..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0"?>
-<root xmlns="http://apache.org/xml/xcatalog/example">
-http://apache.org/xml/anyURI</root>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.ent b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.ent
deleted file mode 100644
index cd08755..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.ent
+++ /dev/null
@@ -1 +0,0 @@
-Hello world!
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.xsd
deleted file mode 100644
index 41a29fe..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.xsd
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns="http://apache.org/xml/xcatalog/example"
- targetNamespace="http://apache.org/xml/xcatalog/example">
- <xs:element name="root" type="xs:anyURI"/>
-</xs:schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_mappedincluded.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_mappedincluded.xml
deleted file mode 100644
index bf127b1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_mappedincluded.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE catalog
- PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
- "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
- prefer="public">
-
- <uri name="http://www.example.com/Report"
- uri="./PurchaseOrder/international/report_.xsd" />
- <!-- we can not map PublicId or URI of the included/redefined schemas -->
- <uri name="http://www.example.com/IPO"
- uri="./PurchaseOrder/international/ipo_.xsd" />
- <system systemId="address_.xsd"
- uri="./PurchaseOrder/international/address.xsd" />
-
-</catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_public.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_public.xml
deleted file mode 100644
index 734ecba..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_public.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE catalog
- PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
- "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
- prefer="public">
-
- <uri name="http://www.example.com/Report"
- uri="./PurchaseOrder/international/report_.xsd" />
- <!-- we can not map PublicId or URI of the included/redefined schemas -->
- <uri name="http://www.example.com/IPO"
- uri="./PurchaseOrder/international/ipo.xsd" />
-
-
-
-</catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_system.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_system.xml
deleted file mode 100644
index c66a1b9..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_system.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE catalog
- PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
- "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
-
- <uri name="http://www.example.com/Report"
- uri="./PurchaseOrder/international/report_.xsd" />
- <system systemId="ipo__.xsd"
- uri="./PurchaseOrder/international/ipo_.xsd" />
- <system systemId="address_.xsd"
- uri="./PurchaseOrder/international/address.xsd" />
-
-</catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/schemas.jar b/tests/org.eclipse.wst.xml.catalog.tests/data/schemas.jar
deleted file mode 100644
index 9d1e4da..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/schemas.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/catalog.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/catalog.xml
deleted file mode 100644
index 98b04a1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/catalog.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" xml:base=".">
- <public publicId="myquote" uri="quote2.xml"/>
-</catalog>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote1.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote1.xml
deleted file mode 100644
index 1fcba52..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote1.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
- <!-- I belong to:
- org.apache.tools.ant.types.XMLCatalogBuildFileTest.java
- -->
-
-<para>
- A stitch in time saves nine
-</para>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote2.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote2.xml
deleted file mode 100644
index 10cd14e..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote2.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<para>
- No news is good news
-</para>
-
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog.xsl b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog.xsl
deleted file mode 100644
index e692b0e..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog.xsl
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- version="1.0">
-
- <xsl:output method="text"/>
-
- <!-- name of the output parameter to write -->
- <xsl:param name="outprop">value</xsl:param>
-
- <xsl:strip-space elements="*"/>
-
- <xsl:template match="/">
- <xsl:value-of select="$outprop"/>: <xsl:apply-templates select="/fragment/para"/>
- </xsl:template>
-
- <!-- This will only be matched in doc2.xml -->
- <xsl:template match="Ref">
- <xsl:apply-templates select="document(@file)/fragment/para"/>
- </xsl:template>
-
- <!-- This will only be matched in doc1.xml -->
- <xsl:template match="text()">
- <xsl:value-of select="normalize-space(.)"/>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog1.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog1.xml
deleted file mode 100644
index 11c730d..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog1.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE fragment [
- <!ENTITY quote PUBLIC "myquote" "quote1.xml">
-]>
-
-<fragment>
- <para>
- "e;
- </para>
-</fragment>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml
deleted file mode 100644
index dd41d0b..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<fragment>
- <para>
- <Ref file="xmlcatalog1.xml"/>
- </para>
-</fragment>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out
deleted file mode 100644
index e9d7fc5..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out
+++ /dev/null
@@ -1 +0,0 @@
-testvalue: A stitch in time saves nine
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out-diff b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out-diff
deleted file mode 100644
index 987a5db..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out-diff
+++ /dev/null
@@ -1,2 +0,0 @@
-<<<< testvalue: A stitch in time saves nine
-<<<< testvalue: No news is good news
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-result b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-result
deleted file mode 100644
index 1de28a7..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-result
+++ /dev/null
@@ -1 +0,0 @@
-testvalue: No news is good news
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/xsd/XSLSchema.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/xsd/XSLSchema.xsd
deleted file mode 100644
index e99645a..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/xsd/XSLSchema.xsd
+++ /dev/null
@@ -1,390 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/XSL/Transform">
- <!-- xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd" /-->
-
- <xsd:element name="stylesheet" type="wrapper" />
- <xsd:element name="transform" type="wrapper" />
-
- <xsd:complexType name="wrapper">
- <xsd:group ref="topLevelElements" minOccurs="0" maxOccurs="unbounded" />
- <xsd:attribute name="extension-element-prefixes" type="xsd:string" use="optional" />
- <xsd:attribute name="exclude-result-prefixes" type="xsd:string" use="optional" />
- <xsd:attribute name="id" type="xsd:ID" use="optional" />
- <xsd:attribute name="version" type="xsd:NMTOKEN" use="optional" />
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
-
- <xsd:element name="import">
- <xsd:complexType>
- <xsd:attribute name="href" type="xsd:anyURI" use="required" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="include">
- <xsd:complexType>
- <xsd:attribute name="href" type="xsd:anyURI" use="required" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="strip-space">
- <xsd:complexType>
- <xsd:attribute name="elements" type="xsd:string" use="required" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="preserve-space">
- <xsd:complexType>
- <xsd:attribute name="elements" type="xsd:string" use="required" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="output">
- <xsd:complexType>
- <xsd:attribute name="method" use="optional">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="xml" />
- <xsd:enumeration value="html" />
- <xsd:enumeration value="text" />
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="version" type="xsd:NMTOKEN" use="optional" />
- <xsd:attribute name="encoding" type="xsd:NMTOKEN" use="optional" />
- <xsd:attribute name="omit-xml-declaration" use="optional" type="YesNoType" />
- <xsd:attribute name="standalone" use="optional" type="YesNoType" />
- <xsd:attribute name="doctype-public" type="xsd:string" use="optional" />
- <xsd:attribute name="doctype-system" type="xsd:string" use="optional" />
- <xsd:attribute name="cdata-section-elements" type="xsd:NMTOKENS" use="optional" />
- <xsd:attribute name="indent" use="optional" type="YesNoType" />
- <xsd:attribute name="media-type" type="xsd:string" use="optional" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="key">
- <xsd:complexType>
- <xsd:attribute name="name" type="xsd:NMTOKEN" use="required" />
- <xsd:attribute name="match" type="pattern" use="required" />
- <xsd:attribute name="use" type="expression" use="required" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="decimal-format">
- <xsd:complexType>
- <xsd:attribute name="name" type="xsd:NMTOKEN" use="optional" />
- <xsd:attribute default="." name="decimal-separator" type="xsd:string" />
- <xsd:attribute default="," name="grouping-separator" type="xsd:string" />
- <xsd:attribute default="Infinity" name="infinity" type="xsd:string" />
- <xsd:attribute default="-" name="minus-sign" type="xsd:string" />
- <xsd:attribute default="NaN" name="NaN" type="xsd:string" />
- <xsd:attribute default="%" name="percent" type="xsd:string" />
- <xsd:attribute default="‰" name="per-mille" type="xsd:string" />
- <xsd:attribute default="0" name="zero-digit" type="xsd:string" />
- <xsd:attribute default="#" name="digit" type="xsd:string" />
- <xsd:attribute default=";" name="pattern-separator" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="namespace-alias">
- <xsd:complexType>
- <xsd:attribute name="stylesheet-prefix" type="xsd:string" use="required" />
- <xsd:attribute name="result-prefix" type="xsd:string" use="required" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="template">
- <xsd:complexType mixed="true">
- <xsd:sequence>
- <xsd:element ref="param" minOccurs="0" maxOccurs="unbounded" />
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:group ref="char-instructions"></xsd:group>
- <xsd:any namespace="##other" processContents="skip" />
- </xsd:choice>
- </xsd:sequence>
- <xsd:attribute name="match" type="pattern" use="optional" />
- <xsd:attribute name="name" type="xsd:NMTOKEN" use="optional" />
- <xsd:attribute name="priority" type="xsd:NMTOKEN" use="optional" />
- <xsd:attribute name="mode" type="xsd:NMTOKEN" use="optional" />
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="value-of">
- <xsd:complexType>
- <xsd:attributeGroup ref="select-required" />
- <xsd:attributeGroup ref="disable-output-escaping" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="copy-of">
- <xsd:complexType>
- <xsd:attributeGroup ref="select-required" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="number">
- <xsd:complexType>
- <xsd:attribute default="single" name="level">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="single" />
- <xsd:enumeration value="multiple" />
- <xsd:enumeration value="any" />
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="count" type="pattern" use="optional"/>
- <xsd:attribute name="from" type="pattern" use="optional"/>
- <xsd:attribute name="value" type="expression" use="optional"/>
- <xsd:attribute default="1" name="format" type="xsd:string" />
- <xsd:attribute name="lang" type="xsd:string" use="optional" />
- <xsd:attribute name="letter-value" type="xsd:string" use="optional" />
- <xsd:attribute name="grouping-separator" type="xsd:string" use="optional" />
- <xsd:attribute name="grouping-size" type="xsd:string" use="optional" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="apply-templates">
- <xsd:complexType>
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element ref="sort" />
- <xsd:element ref="with-param" />
- </xsd:choice>
- <xsd:attribute default="node()" name="select" type="expression" />
- <xsd:attribute name="mode" type="xsd:NMTOKEN" use="optional" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="apply-imports">
- <xsd:complexType />
- </xsd:element>
-
- <xsd:element name="for-each">
- <xsd:complexType mixed="true">
- <xsd:sequence>
- <xsd:element ref="sort" minOccurs="0" maxOccurs="unbounded" />
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:group ref="char-instructions"></xsd:group>
- <xsd:any namespace="##other" processContents="skip" />
- </xsd:choice>
- </xsd:sequence>
- <xsd:attributeGroup ref="select-required" />
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="sort">
- <xsd:complexType>
- <xsd:attribute default="." name="select" type="expression" />
- <xsd:attribute name="lang" type="xsd:string" use="optional" />
- <xsd:attribute default="text" name="data-type" type="xsd:string" />
- <xsd:attribute default="ascending" name="order" type="xsd:string" />
- <xsd:attribute name="case-order" type="xsd:string" use="optional" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="if">
- <xsd:complexType mixed="true">
- <xsd:group ref="instructions" minOccurs="0" maxOccurs="unbounded"></xsd:group>
- <xsd:attribute name="test" type="expression" use="required" />
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="choose">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="when" minOccurs="1" maxOccurs="unbounded" />
- <xsd:element ref="otherwise" minOccurs="0" />
- </xsd:sequence>
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="when">
- <xsd:complexType mixed="true">
- <xsd:group ref="instructions" minOccurs="0" maxOccurs="unbounded" />
- <xsd:attribute name="test" type="expression" use="required" />
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="otherwise">
- <xsd:complexType mixed="true">
- <xsd:group ref="instructions" minOccurs="0" maxOccurs="unbounded" />
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="attribute-set">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="attribute" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:NMTOKEN" use="required" />
- <xsd:attribute name="use-attribute-sets" type="xsd:NMTOKENS" use="optional" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="call-template">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="with-param" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:NMTOKEN" use="required" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="with-param" type="NamedAndSelectable" />
-
- <xsd:element name="variable" type="NamedAndSelectable" />
-
- <xsd:element name="param" type="NamedAndSelectable" />
-
- <xsd:element name="text">
- <xsd:complexType>
- <xsd:simpleContent>
- <xsd:extension base="xsd:string">
- <xsd:attributeGroup ref="disable-output-escaping" />
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="processing-instruction">
- <xsd:complexType mixed="true">
- <xsd:group ref="char-instructions"></xsd:group>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="element">
- <xsd:complexType mixed="true">
- <xsd:group ref="instructions"></xsd:group>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- <xsd:attribute name="namespace" type="xsd:string" use="optional" />
- <xsd:attributeGroup ref="use-attribute-sets" />
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="attribute">
- <xsd:complexType mixed="true">
- <xsd:group ref="char-instructions"/>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- <xsd:attribute name="namespace" type="xsd:string" use="optional" />
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="comment">
- <xsd:complexType mixed="true">
- <xsd:group ref="char-instructions"/>
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="copy">
- <xsd:complexType mixed="true">
- <xsd:group ref="instructions"/>
- <!-- xsd:attribute ref="xml:space" /-->
- <xsd:attributeGroup ref="use-attribute-sets" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="message">
- <xsd:complexType mixed="true">
- <xsd:group ref="char-instructions"/>
- <xsd:attribute default="no" name="terminate" type="YesNoType" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="fallback">
- <xsd:complexType mixed="true">
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:group ref="instructions"></xsd:group>
- </xsd:choice>
- <!-- xsd:attribute ref="xml:space" /-->
- </xsd:complexType>
- </xsd:element>
-
- <xsd:group name="instructions">
- <xsd:choice>
- <xsd:group ref="char-instructions"></xsd:group>
- <xsd:element ref="processing-instruction" />
- <xsd:element ref="comment" />
- <xsd:element ref="element" />
- <xsd:element ref="attribute" />
- </xsd:choice>
- </xsd:group>
-
- <xsd:group name="char-instructions">
- <xsd:choice>
- <xsd:element ref="apply-templates" />
- <xsd:element ref="call-template" />
- <xsd:element ref="apply-imports" />
- <xsd:element ref="for-each" />
- <xsd:element ref="value-of" />
- <xsd:element ref="copy-of" />
- <xsd:element ref="number" />
- <xsd:element ref="choose" />
- <xsd:element ref="if" />
- <xsd:element ref="text" />
- <xsd:element ref="copy" />
- <xsd:element ref="variable" />
- <xsd:element ref="message" />
- <xsd:element ref="fallback" />
- </xsd:choice>
- </xsd:group>
-
- <xsd:group name="topLevelElements">
- <xsd:choice>
- <xsd:element ref="import" />
- <xsd:element ref="include" />
- <xsd:element ref="strip-space" />
- <xsd:element ref="preserve-space" />
- <xsd:element ref="key" />
- <xsd:element ref="decimal-format" />
- <xsd:element ref="attribute-set" />
- <xsd:element ref="namespace-alias" />
- <xsd:element ref="param" />
- <xsd:element ref="variable" />
- <xsd:element ref="output" />
- <xsd:element ref="template" />
- </xsd:choice>
- </xsd:group>
-
- <xsd:simpleType name="YesNoType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="yes" />
- <xsd:enumeration value="no" />
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:complexType name="NamedAndSelectable" mixed="true">
- <xsd:group ref="instructions" minOccurs="0" maxOccurs="unbounded" />
- <xsd:attribute name="name" type="xsd:NMTOKEN" use="required" />
- <xsd:attributeGroup ref="select-optional" />
- </xsd:complexType>
-
-
- <xsd:simpleType name="expression">
- <xsd:restriction base="xsd:string"></xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="pattern">
- <xsd:restriction base="xsd:string"></xsd:restriction>
- </xsd:simpleType>
-
- <xsd:attributeGroup name="select-optional">
- <xsd:attribute name="select" type="expression" />
- </xsd:attributeGroup>
- <xsd:attributeGroup name="select-required">
- <xsd:attribute name="select" type="expression" use="required" />
- </xsd:attributeGroup>
- <xsd:attributeGroup name="disable-output-escaping">
- <xsd:attribute name="disable-output-escaping" type="YesNoType" default="no" />
- </xsd:attributeGroup>
- <xsd:attributeGroup name="use-attribute-sets">
- <xsd:attribute name="use-attribute-sets" type="xsd:NMTOKENS" use="optional"/>
- </xsd:attributeGroup>
-
-</xsd:schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/plugin.xml b/tests/org.eclipse.wst.xml.catalog.tests/plugin.xml
deleted file mode 100644
index ca8ffe8..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/plugin.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension point="org.eclipse.wst.xml.core.catalogContributions">
- <catalogContribution>
- <system id="testSystemId"
- systemId="http://personal/personal.dtd"
- uri="data/Personal/personal.dtd">
- </system>
- <public id="testPublicId1"
- publicId="InvoiceId_test"
- uri="data/Invoice/Invoice.dtd"
- webURL="http://org.eclipse.wst.xml.example/Invoice.dtd">
- </public>
- <uri id="testUriId1"
- name="http://apache.org/xml/xcatalog/example"
- uri="data/example/example.xsd"/>
- <uri id="testURIId2"
- name="http://www.w3.org/2001/XMLSchema"
- uri="platform:/plugin/org.eclipse.xsd/cache/www.w3.org/2001/XMLSchema.xsd">
- </uri>
- <uri id="testURIId3"
- name="http://oasis.names.tc.entity.xmlns.xml.catalog"
- uri="jar:platform:/plugin/org.eclipse.wst.xml.catalog.tests/data/schemas.jar!/data/catalog.xsd">
- </uri>
- <nextCatalog id="testNestedCatalog"
- catalog="data/catalog1.xml"/>
- </catalogContribution>
- </extension>
-
-
-</plugin>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AbstractCatalogTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AbstractCatalogTest.java
deleted file mode 100644
index b045822..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AbstractCatalogTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.core.internal.catalog.CatalogContributorRegistryReader;
-import org.eclipse.wst.xml.core.internal.catalog.CatalogSet;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
-import org.osgi.framework.Bundle;
-
-public abstract class AbstractCatalogTest extends TestCase
-{
- private CatalogSet catalogSet = new CatalogSet();
-
- protected ICatalog systemCatalog;
-
- protected ICatalog userCatalog;
-
- protected ICatalog defaultCatalog;
-
-
- public AbstractCatalogTest(String name)
- {
- super(name);
-
- }
-
- protected static List getCatalogEntries(ICatalog catalog, int entryType)
- {
- List result = new ArrayList();
- ICatalogEntry[] entries = catalog.getCatalogEntries();
- for (int i = 0; i < entries.length; i++)
- {
- ICatalogEntry entry = entries[i];
- if (entry.getEntryType() == entryType)
- {
- result.add(entry);
- }
- }
- return result;
- }
-
- protected ICatalog getCatalog(String id, String uriString) throws Exception
- {
- return catalogSet.lookupOrCreateCatalog(id, uriString);
- }
-
-
- public void initCatalogs()
- {
- defaultCatalog = XMLCorePlugin.getDefault().getDefaultXMLCatalog();
- INextCatalog[] nextCatalogs = defaultCatalog.getNextCatalogs();
- for (int i = 0; i < nextCatalogs.length; i++)
- {
- INextCatalog catalog = nextCatalogs[i];
- ICatalog referencedCatalog = catalog.getReferencedCatalog();
- if (referencedCatalog != null)
- {
- if (XMLCorePlugin.SYSTEM_CATALOG_ID
- .equals(referencedCatalog.getId()))
- {
- systemCatalog = referencedCatalog;
- } else if (XMLCorePlugin.USER_CATALOG_ID
- .equals(referencedCatalog.getId()))
- {
- userCatalog = referencedCatalog;
- }
- }
- }
- }
-
- protected void setUp() throws Exception
- {
- super.setUp();
- initCatalogs();
- }
-
- protected static String makeAbsolute(String baseLocation, String location)
- {
- URL local = null;
- location = location.replace('\\', '/');
- try
- {
- URL baseURL = new URL(baseLocation);
- local = new URL(baseURL, location);
- } catch (MalformedURLException e)
- {
- }
-
- if (local != null)
- {
- return local.toString();
- } else
- {
- return location;
- }
- }
-
- protected static URL resolvePluginLocation(String pluginId){
- Bundle bundle = Platform.getBundle(pluginId);
- if (bundle != null)
- {
- URL bundleEntry = bundle.getEntry("/");
- try
- {
- return Platform.resolve(bundleEntry);
- } catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- return null;
- }
-
- // see CatalogContributorRegistryReader.resolvePath(String path)
- protected String resolvePath(String pluginId, String path)
- {
-
- return CatalogContributorRegistryReader.resolvePath(
- CatalogContributorRegistryReader.getPlatformURL(pluginId), path);
- }
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AllTests.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AllTests.java
deleted file mode 100644
index 8c4bd78..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AllTests.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(
- "Test for org.eclipse.wst.xml.catalog.tests");
- //$JUnit-BEGIN$
- suite.addTestSuite(CatalogReaderTest.class);
- suite.addTestSuite(CatalogResolverTest.class);
- suite.addTestSuite(CatalogWriterTest.class);
- suite.addTestSuite(CatalogContributorRegistryReaderTest.class);
- suite.addTestSuite(CatalogTest.class);
- //$JUnit-END$
- return suite;
- }
-
-
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogContributorRegistryReaderTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogContributorRegistryReaderTest.java
deleted file mode 100644
index e5c80f7..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogContributorRegistryReaderTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
-
-
-
-public class CatalogContributorRegistryReaderTest extends AbstractCatalogTest
-{
- protected void setUp() throws Exception
- {
- super.setUp();
- }
-
- protected void tearDown() throws Exception
- {
- super.tearDown();
- }
-
- public CatalogContributorRegistryReaderTest(String name)
- {
- super(name);
- }
-
- public final void testReadRegistry() throws Exception
- {
- assertNotNull(defaultCatalog);
- assertEquals(XMLCorePlugin.DEFAULT_CATALOG_ID, defaultCatalog.getId());
- assertEquals(2, defaultCatalog.getNextCatalogs().length);
-
- String pluginId = TestPlugin.getDefault().getBundle().getSymbolicName();
-
- // test system entries
- assertNotNull(systemCatalog);
- List entries = CatalogTest.getCatalogEntries(systemCatalog, ICatalogEntry.ENTRY_TYPE_SYSTEM);
- for (int i = 0; i < entries.size(); i++)
- {
- ICatalogEntry entry = (ICatalogEntry)entries.get(i);
- if("testSystemId".equals(entry.getId()))
- {
- String resolvedURI = resolvePath(pluginId, "data/Personal/personal.dtd");
- assertEquals(resolvedURI, entry.getURI());
- assertEquals("http://personal/personal.dtd", entry.getKey());
- }
- }
-
- // test public entries
- entries = CatalogTest.getCatalogEntries(systemCatalog, ICatalogEntry.ENTRY_TYPE_PUBLIC);
- for (int i = 0; i < entries.size(); i++)
- {
- ICatalogEntry entry = (ICatalogEntry)entries.get(i);
- if("testPublicId1".equals(entry.getId()))
- {
- String resolvedURI = resolvePath(pluginId, "data/Invoice/Invoice.dtd");
- assertEquals(resolvedURI, entry.getURI());
- assertEquals("InvoiceId_test", entry.getKey());
- // test user defined attributes
- assertEquals("http://org.eclipse.wst.xml.example/Invoice.dtd", entry.getAttributeValue("webURL"));
-
- }
-
- else if("testMappingInfo".equals(entry.getId()))
- {
- String resolvedURI = resolvePath(pluginId, "platform:/plugin/org.eclipse.xsd/cache/www.w3.org/2001/XMLSchema.xsd");
- assertEquals(resolvedURI, entry.getURI());
- assertEquals("http://www.w3.org/2001/XMLSchema1", entry.getKey());
- }
-
- }
-
- // test uri entries
- entries = CatalogTest.getCatalogEntries(systemCatalog, ICatalogEntry.ENTRY_TYPE_URI);
- for (int i = 0; i < entries.size(); i++)
- {
- ICatalogEntry entry = (ICatalogEntry)entries.get(i);
- if("testURIId1".equals(entry.getId()))
- {
- String resolvedURI = resolvePath(pluginId, "data/example/example.xsd");
- assertEquals(resolvedURI, entry.getURI());
- assertEquals("http://apache.org/xml/xcatalog/example", entry.getKey());
- }
- else if("testURIId2".equals(entry.getId()))
- {
- String resolvedURI = resolvePath(pluginId, "platform:/plugin/org.eclipse.xsd/cache/www.w3.org/2001/XMLSchema.xsd");
- assertEquals(resolvedURI, entry.getURI());
- assertEquals("http://www.w3.org/2001/XMLSchema", entry.getKey());
- }
- else if("testURIId3".equals(entry.getId()))
- {
- String resolvedURI = resolvePath(pluginId, "jar:platform:/plugin/org.eclipse.wst.xml.catalog.tests/data/schemas.jar!/data/catalog.xsd");
- assertEquals(resolvedURI, entry.getURI());
- assertEquals("http://oasis.names.tc.entity.xmlns.xml.catalog", entry.getKey());
- }
- }
-
- // test tested catalog
- INextCatalog[] nextCatalogEntries = systemCatalog.getNextCatalogs();
- for (int i = 0; i < nextCatalogEntries.length; i++)
- {
- INextCatalog nextCatalogEntry = (INextCatalog) nextCatalogEntries[i];
- if("testNestedCatalog".equals(nextCatalogEntry.getId()))
- {
- String resolvedURI = resolvePath(pluginId, "data/catalog1.xml");
- assertEquals(resolvedURI, nextCatalogEntry.getCatalogLocation());
- ICatalog nextCatalog = nextCatalogEntry.getReferencedCatalog();
- assertNotNull(nextCatalog);
- assertEquals(3, nextCatalog.getCatalogEntries().length);
- // test public entries
- entries = CatalogTest.getCatalogEntries(nextCatalog,
- ICatalogEntry.ENTRY_TYPE_PUBLIC);
- assertEquals(1, entries.size());
- ICatalogEntry entry = (ICatalogEntry) entries.get(0);
- //URI uri = URIHelper.getURIForFilePath(resolvedURI);
- //resolvedURI = URIHelper.makeAbsolute(uri.toURL(), "./Invoice/Invoice.dtd");
- assertEquals("./Invoice/Invoice.dtd", entry.getURI());
- assertEquals("InvoiceId_test", entry.getKey());
- // test system entries
- entries = CatalogTest.getCatalogEntries(nextCatalog,
- ICatalogEntry.ENTRY_TYPE_SYSTEM);
- assertEquals(1, entries.size());
- entry = (ICatalogEntry) entries.get(0);
- assertEquals("./Invoice/Invoice.dtd", entry.getURI());
- assertEquals("Invoice.dtd", entry.getKey());
- // test uri entries
- entries = CatalogTest.getCatalogEntries(nextCatalog,
- ICatalogEntry.ENTRY_TYPE_URI);
- assertEquals(1, entries.size());
- entry = (ICatalogEntry) entries.get(0);
- assertEquals("./Invoice/Invoice.dtd", entry.getURI());
- assertEquals("http://www.test.com/Invoice.dtd", entry.getKey());
- }
- }
- }
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogReaderTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogReaderTest.java
deleted file mode 100644
index 079355e..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogReaderTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xml.core.internal.catalog.Catalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
-
-
-public class CatalogReaderTest extends AbstractCatalogTest {
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public CatalogReaderTest(String name) {
- super(name);
- }
-
-
- /*
- * Class under test for void read(ICatalog, String)
- */
- public void testReadCatalog()throws Exception {
-
- //read catalog
- String catalogFile = "/data/catalog1.xml";
- URL catalogUrl = TestPlugin.getDefault().getBundle().getEntry(catalogFile);
- assertNotNull(catalogUrl);
- URL base = Platform.resolve(catalogUrl);
-
- Catalog catalog = (Catalog)getCatalog("catalog1", base.toString());
- //CatalogReader.read(catalog, catalogFilePath);
- assertNotNull(catalog);
-
- // test main catalog - catalog1.xml
- //assertEquals("cat1", catalog.getId());
- assertEquals(3, catalog.getCatalogEntries().length);
-
- // test public entries
- List entries = CatalogTest.getCatalogEntries(catalog, ICatalogEntry.ENTRY_TYPE_PUBLIC);
- assertEquals(1, entries.size());
- ICatalogEntry entry = (ICatalogEntry)entries.get(0);
- //String resolvedURI = URIHelper.makeAbsolute(base, "./Invoice/Invoice.dtd");
-
- assertEquals("./Invoice/Invoice.dtd", entry.getURI());
- assertEquals("InvoiceId_test", entry.getKey());
- assertEquals("http://webURL", entry.getAttributeValue("webURL"));
-
-
- // test system entries
- entries = CatalogTest.getCatalogEntries(catalog, ICatalogEntry.ENTRY_TYPE_SYSTEM);
- assertEquals(1, entries.size());
- entry = (ICatalogEntry)entries.get(0);
- assertEquals("./Invoice/Invoice.dtd", entry.getURI());
- assertEquals("Invoice.dtd", entry.getKey());
- assertEquals("yes", entry.getAttributeValue("chached"));
- assertEquals("value1", entry.getAttributeValue("property"));
-
-
- // test uri entries
- entries = CatalogTest.getCatalogEntries(catalog, ICatalogEntry.ENTRY_TYPE_URI);
- assertEquals(1, entries.size());
- entry = (ICatalogEntry)entries.get(0);
- assertEquals("./Invoice/Invoice.dtd", entry.getURI());
- assertEquals("http://www.test.com/Invoice.dtd", entry.getKey());
- assertEquals("no", entry.getAttributeValue("chached"));
- assertEquals("value2", entry.getAttributeValue("property"));
-
- // test next catalog - catalog2.xml
- INextCatalog[] nextCatalogEntries = catalog.getNextCatalogs();
- assertEquals(1, nextCatalogEntries.length);
-
- INextCatalog nextCatalogEntry = (INextCatalog)nextCatalogEntries[0];
- assertNotNull(nextCatalogEntry);
-
-// String catalogRefId = nextCatalogEntry.getCatalogRefId();
-// assertEquals("nextCatalog1", catalogRefId);
- //resolvedURI = URIHelper.makeAbsolute(base, "catalog2.xml");
- assertEquals("catalog2.xml", nextCatalogEntry.getCatalogLocation());
-
- ICatalog nextCatalog = nextCatalogEntry.getReferencedCatalog();
-
- assertNotNull(nextCatalog);
- assertEquals(4, nextCatalog.getCatalogEntries().length);
-
- // test public entries
- entries = CatalogTest.getCatalogEntries(nextCatalog, ICatalogEntry.ENTRY_TYPE_PUBLIC);
- assertEquals(2, entries.size());
- entry = (ICatalogEntry)entries.get(0);
- //resolvedURI = URIHelper.makeAbsolute(nextCatalog.getBase(), "./PublicationCatalog/Catalogue.xsd");
- assertEquals("./PublicationCatalog/Catalogue.xsd", entry.getURI());
- assertEquals("http://www.eclipse.org/webtools/Catalogue_001", entry.getKey());
-
- // test public entry from a group
- entry = (ICatalogEntry)entries.get(1);
- //resolvedURI = URIHelper.makeAbsolute(nextCatalog.getBase(), "./PublicationCatalog/Catalogue.xsd");
- assertEquals("./PublicationCatalog/Catalogue.xsd", entry.getURI());
- assertEquals("http://www.eclipse.org/webtools/Catalogue_002", entry.getKey());
-
- // test system entries
- entries = CatalogTest.getCatalogEntries(nextCatalog, ICatalogEntry.ENTRY_TYPE_SYSTEM);
- assertEquals(1, entries.size());
- entry = (ICatalogEntry)entries.get(0);
- assertEquals("./PublicationCatalog/Catalogue.xsd", entry.getURI());
- assertEquals("Catalogue.xsd", entry.getKey());
- // test uri entries
- entries = CatalogTest.getCatalogEntries(nextCatalog, ICatalogEntry.ENTRY_TYPE_URI);
- assertEquals(1, entries.size());
- entry = (ICatalogEntry)entries.get(0);
- assertEquals("http://www.eclipse.org/webtools/Catalogue/Catalogue.xsd", entry.getURI());
- assertEquals("http://www.eclipse.org/webtools/Catalogue.xsd", entry.getKey());
-
-
- }
-
- public void testCompatabilityReader() throws Exception {
- // read catalog
- String catalogFile = "/data/compatabilityTest.xmlcatalog";
- URL catalogUrl = TestPlugin.getDefault().getBundle().getEntry(catalogFile);
- assertNotNull(catalogUrl);
- URL base = Platform.resolve(catalogUrl);
-
- Catalog catalog = (Catalog)getCatalog("compatabilityCatalog", base.toString());
- //CatalogReader.read(catalog, catalogFilePath);
- assertNotNull(catalog);
- List entries = CatalogTest.getCatalogEntries(catalog, ICatalogEntry.ENTRY_TYPE_PUBLIC);
- assertEquals(1, entries.size());
- ICatalogEntry entry = (ICatalogEntry)entries.get(0);
- assertEquals("platform:/resource/XMLExamples/Invoice2/Invoice.dtd", entry.getURI());
- assertEquals("InvoiceId", entry.getKey());
- }
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogResolverTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogResolverTest.java
deleted file mode 100644
index 222cbb7..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogResolverTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-
-public class CatalogResolverTest extends AbstractCatalogTest {
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public CatalogResolverTest(String name) {
- super(name);
- }
-
- public final void testResolveResolver() throws Exception {
-
-
- // from plugin.xml file
- String pluginBase = resolvePluginLocation(TestPlugin.getDefault().getBundle().getSymbolicName()).toString();
-
- String resolvedActual = defaultCatalog.resolvePublic("InvoiceId_test", null);
- String resolvedURI = makeAbsolute(pluginBase, "data/Invoice/Invoice.dtd");
- assertEquals(resolvedURI, resolvedActual);
- resolvedActual = defaultCatalog.resolveSystem("http://personal/personal.dtd");
- resolvedURI = makeAbsolute(pluginBase, "data/Personal/personal.dtd");
- assertEquals(resolvedURI, resolvedActual);
- resolvedActual = defaultCatalog.resolveURI("http://apache.org/xml/xcatalog/example");
- resolvedURI = makeAbsolute(pluginBase, "data/example/example.xsd");
- assertEquals(resolvedURI, resolvedActual);
- resolvedActual = defaultCatalog.resolveURI("http://www.w3.org/2001/XMLSchema");
- resolvedURI = resolvePath("", "platform:/plugin/org.eclipse.xsd/cache/www.w3.org/2001/XMLSchema.xsd");
- resolvedURI = makeAbsolute(pluginBase, resolvedURI);
- assertEquals(resolvedURI, resolvedActual);
-
- // from catalog1.xml
- resolvedActual = defaultCatalog.resolvePublic("InvoiceId_test", null);
- resolvedURI = makeAbsolute(pluginBase, "data/Invoice/Invoice.dtd");
- assertEquals(resolvedURI, resolvedActual);
-
- resolvedActual = defaultCatalog.resolveSystem("Invoice.dtd");
- resolvedURI = makeAbsolute(pluginBase, "data/Invoice/Invoice.dtd");
- assertEquals(resolvedURI, resolvedActual);
-
- resolvedActual = defaultCatalog.resolveURI("http://www.test.com/Invoice.dtd");
- resolvedURI = makeAbsolute(pluginBase, "data/Invoice/Invoice.dtd");
- assertEquals(resolvedURI, resolvedActual);
-
-
- // from catalog2.xml
- resolvedActual = defaultCatalog.resolvePublic("http://www.eclipse.org/webtools/Catalogue_001", null);
- resolvedURI = makeAbsolute(pluginBase, "data/PublicationCatalog/Catalogue.xsd");
- assertEquals(resolvedURI, resolvedActual);
-
- resolvedActual = defaultCatalog.resolvePublic("http://www.eclipse.org/webtools/Catalogue_002", null);
- resolvedURI = makeAbsolute(pluginBase, "data/PublicationCatalog/Catalogue.xsd");
- assertEquals(resolvedURI, resolvedActual);
-
- resolvedActual = defaultCatalog.resolveSystem("Catalogue.xsd");
- resolvedURI = makeAbsolute(pluginBase, "data/PublicationCatalog/Catalogue.xsd");
- assertEquals(resolvedURI, resolvedActual);
-
- resolvedActual = defaultCatalog.resolveURI("http://Catalogue.xsd");
- resolvedURI = "http://www.eclipse.org/webtools/Catalogue.xsd";
- assertEquals(resolvedURI, resolvedURI);
-
-
- }
-
-
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogTest.java
deleted file mode 100644
index 57ec343..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.core.internal.catalog.Catalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-
-
-
-public class CatalogTest extends AbstractCatalogTest {
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public CatalogTest(String name) {
- super(name);
- }
-
- public void testCatalog() throws Exception
- {
- Catalog workingUserCatalog = new Catalog(null, "working", null);
- assertNotNull(userCatalog);
- workingUserCatalog.addEntriesFromCatalog(userCatalog);
-
- ICatalogEntry catalogEntry = (ICatalogEntry)userCatalog.createCatalogElement(ICatalogEntry.ENTRY_TYPE_PUBLIC);
- catalogEntry.setKey("testKey");
- catalogEntry.setURI("http://testuri");
- workingUserCatalog.addCatalogElement(catalogEntry);
-
- userCatalog.addEntriesFromCatalog(workingUserCatalog);
- String userCatalogLocation = userCatalog.getLocation();
-
- userCatalog.save();
- userCatalog.clear();
-
- userCatalog = getCatalog(XMLCorePlugin.USER_CATALOG_ID, userCatalogLocation);
-
- List entries = getCatalogEntries(userCatalog, ICatalogEntry.ENTRY_TYPE_PUBLIC);
- assertEquals(1, entries.size());
- ICatalogEntry entry = (ICatalogEntry)entries.get(0);
-
- assertEquals("http://testuri", entry.getURI());
- assertEquals("testKey", entry.getKey());
-
-
- }
-
-
-
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogWriterTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogWriterTest.java
deleted file mode 100644
index cfdab44..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogWriterTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xml.core.internal.catalog.Catalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
-
-public class CatalogWriterTest extends AbstractCatalogTest {
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public CatalogWriterTest(String name) {
- super(name);
- }
-
- public final void testWrite() throws Exception {
-
- // read catalog
- String catalogFile = "/data/catalog1.xml";
- URL catalogUrl = TestPlugin.getDefault().getBundle().getEntry(
- catalogFile);
- assertNotNull(catalogUrl);
- URL resolvedURL = Platform.resolve(catalogUrl);
-
- Catalog testCatalog = (Catalog) getCatalog("catalog1", resolvedURL
- .toString());
- assertNotNull(testCatalog);
- testCatalog.setBase(resolvedURL.toString());
- // CatalogReader.read(testCatalog, resolvedURL.getFile());
- assertNotNull(testCatalog);
-
- // write catalog
- URL resultsFolder = TestPlugin.getDefault().getBundle().getEntry(
- "/");
- IPath path = new Path(Platform.resolve(resultsFolder).getFile());
- String resultCatalogFile = path.append("actual_results/catalog1.xml").toFile().toURI().toString();
- testCatalog.setLocation(resultCatalogFile);
- // write catalog
- testCatalog.save();
-
- // read catalog file from the saved location and test its content
- Catalog catalog = (Catalog) getCatalog("catalog2", testCatalog.getLocation());
- assertNotNull(catalog);
-
- // test saved catalog - catalog1.xml
- assertEquals(3, catalog.getCatalogEntries().length);
-
- // test public entries
- List entries = CatalogTest.getCatalogEntries(catalog,
- ICatalogEntry.ENTRY_TYPE_PUBLIC);
- assertEquals(1, entries.size());
- ICatalogEntry entry = (ICatalogEntry) entries.get(0);
-
- assertEquals("./Invoice/Invoice.dtd", entry.getURI());
- assertEquals("InvoiceId_test", entry.getKey());
- assertEquals("http://webURL", entry.getAttributeValue("webURL"));
-
- // test system entries
- entries = CatalogTest.getCatalogEntries(catalog,
- ICatalogEntry.ENTRY_TYPE_SYSTEM);
- assertEquals(1, entries.size());
- entry = (ICatalogEntry) entries.get(0);
- assertEquals("./Invoice/Invoice.dtd", entry.getURI());
- assertEquals("Invoice.dtd", entry.getKey());
- assertEquals("yes", entry.getAttributeValue("chached"));
- assertEquals("value1", entry.getAttributeValue("property"));
-
- // test uri entries
- entries = CatalogTest.getCatalogEntries(catalog,
- ICatalogEntry.ENTRY_TYPE_URI);
- assertEquals(1, entries.size());
- entry = (ICatalogEntry) entries.get(0);
- assertEquals("./Invoice/Invoice.dtd", entry.getURI());
- assertEquals("http://www.test.com/Invoice.dtd", entry.getKey());
- assertEquals("no", entry.getAttributeValue("chached"));
- assertEquals("value2", entry.getAttributeValue("property"));
-
- // test next catalog - catalog2.xml
- INextCatalog[] nextCatalogEntries = catalog.getNextCatalogs();
- assertEquals(1, nextCatalogEntries.length);
-
- INextCatalog nextCatalogEntry = (INextCatalog) nextCatalogEntries[0];
- assertNotNull(nextCatalogEntry);
-
- assertEquals("catalog2.xml", nextCatalogEntry.getCatalogLocation());
- }
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/TestPlugin.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/TestPlugin.java
deleted file mode 100644
index 4e42219..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/TestPlugin.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class TestPlugin extends Plugin {
- //The shared instance.
- private static TestPlugin plugin;
- //Resource bundle.
- private ResourceBundle resourceBundle;
-
- /**
- * The constructor.
- */
- public TestPlugin() {
- super();
- plugin = this;
- }
-
- /**
- * This method is called upon plug-in activation
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- }
-
- /**
- * This method is called when the plug-in is stopped
- */
- public void stop(BundleContext context) throws Exception {
- super.stop(context);
- plugin = null;
- resourceBundle = null;
- }
-
- /**
- * Returns the shared instance.
- */
- public static TestPlugin getDefault() {
- return plugin;
- }
-
- /**
- * Returns the string from the plugin's resource bundle,
- * or 'key' if not found.
- */
- public static String getResourceString(String key) {
- ResourceBundle bundle = TestPlugin.getDefault().getResourceBundle();
- try {
- return (bundle != null) ? bundle.getString(key) : key;
- } catch (MissingResourceException e) {
- return key;
- }
- }
-
- /**
- * Returns the plugin's resource bundle,
- */
- public ResourceBundle getResourceBundle() {
- try {
- if (resourceBundle == null)
- resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.wst.xml.catalog.test.TestPluginResources");
- } catch (MissingResourceException x) {
- resourceBundle = null;
- }
- return resourceBundle;
- }
-
-
- public static String resolvePluginLocation(String path) throws IOException {
- URL url = getDefault().getBundle().getEntry(path);
- url = Platform.resolve(url);
- return url.getFile();
- }
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/XSDSchemaTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/XSDSchemaTest.java
deleted file mode 100644
index 4bb55b8..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/XSDSchemaTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import org.eclipse.xsd.impl.XSDSchemaImpl;
-
-import junit.framework.TestCase;
-
-public class XSDSchemaTest extends TestCase {
-
- public static void main(String[] args) {
- }
-
- public void testSchemaForSchema(){
-
- XSDSchemaImpl.getSchemaForSchema("http://www.w3.org/2001/XMLSchema");
- }
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/ZipTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/ZipTest.java
deleted file mode 100644
index dca8739..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/ZipTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.io.InputStream;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-public class ZipTest extends TestCase {
-
- public void testZip() throws Exception{
-
- URL url = new URL("jar:file:/D:/tcs/catalogJarTest/schemas.jar!/data/catalog.xsd");
- InputStream is = url.openStream();
- }
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/FileUtil.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/FileUtil.java
deleted file mode 100644
index e5ef8d0..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/FileUtil.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.InputStream;
-import java.io.PrintWriter;
-
-public class FileUtil {
-
- public FileUtil() {
- super();
- }
-
- public static void copyFile(String src, String dest) {
- InputStream is = null;
- FileOutputStream fos = null;
- try {
- is = new FileInputStream(src);
- fos = new FileOutputStream(dest);
- int c = 0;
- byte[] array = new byte[1024];
- while ((c = is.read(array)) >= 0) {
- fos.write(array, 0, c);
- }
- } catch (Exception e) {
- } finally {
- try {
- fos.close();
- is.close();
- } catch (Exception e) {
- }
- }
- }
-
- public static File createFileAndParentDirectories(String fileName)
- throws Exception {
- File file = new File(fileName);
- File parent = file.getParentFile();
- if (!parent.exists()) {
- parent.mkdirs();
- }
- file.createNewFile();
- return file;
- }
-
- public static void deleteDirectories(File dir)
- throws Exception {
-
- File[] children = dir.listFiles();
- for(int i=0; i< children.length; i++){
- if(children[i].list() != null && children[i].list().length > 0){
- deleteDirectories(children[i]);
- }
- else{
- children[i].delete();
- }
- }
- dir.delete();
-
- }
-
- public static boolean textualCompare(final File first, final File second, File diff) throws java.io.IOException {
- BufferedReader r1 = new BufferedReader(new FileReader(first));
- BufferedReader r2 = new BufferedReader(new FileReader(second));
- PrintWriter printWriter = new PrintWriter(new FileOutputStream(diff));
-
- boolean diffFound = false;
- while (r1.ready()) {
- String s1 = r1.readLine();
- String s2 = r2.readLine();
- if (s1 == null) {
- if (s2 == null)
- return diffFound; // files equal
- else
- diffFound = true; // files differ in length
- }
- if (!s1.equals(s2)) {
- printWriter.println("<<<< " + s1);
- printWriter.println("<<<< " + s2);
- diffFound = true; // files differ
- }
- }
-
- printWriter.flush();
-
- return diffFound;
-
- }
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ResolvingXMLParser.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ResolvingXMLParser.java
deleted file mode 100644
index 389d001..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ResolvingXMLParser.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.Vector;
-
-import org.apache.xml.resolver.CatalogManager;
-import org.apache.xml.resolver.apps.XParseError;
-import org.apache.xml.resolver.tools.ResolvingXMLReader;
-
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-
-public class ResolvingXMLParser {
-
- public boolean validationError = false;
-
- protected static int maxErrs = 10;
-
- protected static boolean nsAware = true;
-
- protected static boolean validating = true;
-
- protected static boolean showErrors = true;
-
- protected static boolean showWarnings = true;
-
- protected static Vector catalogFiles = new Vector();
-
- protected void parseAndValidate(String xmlFile, String[] catalogs)
- throws MalformedURLException, FileNotFoundException, IOException {
-
- CatalogManager myManager = new CatalogManager();
- StringBuffer catalogFile = new StringBuffer();
- for(int i=0; i<catalogs.length; i++){
- catalogFile = catalogFile.append(catalogs[i] + ";");
- }
- myManager.setCatalogFiles(catalogFile.toString());
- myManager.setIgnoreMissingProperties(true);
- myManager.setVerbosity(2);
- ResolvingXMLReader reader = new ResolvingXMLReader(myManager);
- try {
- reader.setFeature("http://xml.org/sax/features/namespaces",
- nsAware);
- reader.setFeature("http://xml.org/sax/features/validation",
- validating);
- reader.setFeature(
- "http://apache.org/xml/features/validation/schema", true);
- } catch (SAXNotRecognizedException e1) {
- e1.printStackTrace();
- } catch (SAXNotSupportedException e1) {
- e1.printStackTrace();
- }
-
- XParseError xpe = new XParseError(showErrors, showWarnings);
- xpe.setMaxMessages(maxErrs);
- reader.setErrorHandler(xpe);
-
- String parseType = validating ? "validating" : "well-formed";
- String nsType = nsAware ? "namespace-aware" : "namespace-ignorant";
- if (maxErrs > 0) {
- System.out.println("Attempting " + parseType + ", " + nsType
- + " parse");
- }
-
- try {
- reader.parse(xmlFile);
- } catch (Exception e) {
- validationError = true;
- e.printStackTrace();
- }
-
- if (maxErrs > 0) {
- System.out.print("Parse ");
- if (xpe.getFatalCount() > 0) {
- validationError = true;
- System.out.print("failed ");
- } else {
- System.out.print("succeeded ");
- System.out.print("(");
- }
- System.out.print("with ");
-
- int errCount = xpe.getErrorCount();
- int warnCount = xpe.getWarningCount();
-
- if (errCount > 0) {
- validationError = true;
- System.out.print(errCount + " error");
- System.out.print(errCount > 1 ? "s" : "");
- System.out.print(" and ");
- } else {
- System.out.print("no errors and ");
- }
-
- if (warnCount > 0) {
- validationError = true;
- System.out.print(warnCount + " warning");
- System.out.print(warnCount > 1 ? "s" : "");
- System.out.print(".");
- } else {
- System.out.print("no warnings.");
- }
-
- System.out.println("");
- }
- }
-
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/TraXLiaison.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/TraXLiaison.java
deleted file mode 100644
index 46861c2..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/TraXLiaison.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2001-2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Ant", and "Apache Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-import org.xml.sax.InputSource;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.XMLReader;
-
-import javax.xml.parsers.SAXParserFactory;
-
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.Templates;
-
-import javax.xml.transform.ErrorListener;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.Source;
-import javax.xml.transform.URIResolver;
-
-import javax.xml.transform.sax.SAXSource;
-
-/**
- * Concrete liaison for XSLT processor implementing TraX. (ie JAXP 1.1)
- *
- * @author <a href="mailto:rubys@us.ibm.com">Sam Ruby</a>
- * @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
- * @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
- * @since Ant 1.3
- */
-public class TraXLiaison implements XSLTLiaison, ErrorListener {
-
- /** The trax TransformerFactory */
- private TransformerFactory tfactory = null;
-
- /** stylesheet stream, close it asap */
- private FileInputStream xslStream = null;
-
- /** Stylesheet template */
- private Templates templates = null;
-
- /** transformer */
- private Transformer transformer = null;
-
- /** possible resolver for publicIds */
- private EntityResolver entityResolver;
-
- /** possible resolver for URIs */
- private URIResolver uriResolver;
-
- public TraXLiaison() throws Exception {
- tfactory = TransformerFactory.newInstance();
- tfactory.setErrorListener(this);
- }
-
- /**
- * Set the output property for the current transformer.
- * Note that the stylesheet must be set prior to calling
- * this method.
- * @param name the output property name.
- * @param value the output property value.
- */
- public void setOutputProperty(String name, String value) {
- if (transformer == null) {
- throw new IllegalStateException("stylesheet must be set prior to setting the output properties");
- }
- transformer.setOutputProperty(name, value);
- }
-
- //------------------- IMPORTANT
- // 1) Don't use the StreamSource(File) ctor. It won't work with
- // xalan prior to 2.2 because of systemid bugs.
-
- // 2) Use a stream so that you can close it yourself quickly
- // and avoid keeping the handle until the object is garbaged.
- // (always keep control), otherwise you won't be able to delete
- // the file quickly on windows.
-
- // 3) Always set the systemid to the source for imports, includes...
- // in xsl and xml...
-
- public void setStylesheet(File stylesheet) throws Exception {
- xslStream = new FileInputStream(stylesheet);
- StreamSource src = new StreamSource(xslStream);
- src.setSystemId(getSystemId(stylesheet));
- templates = tfactory.newTemplates(src);
- transformer = templates.newTransformer();
- transformer.setErrorListener(this);
- }
-
- public void transform(File infile, File outfile) throws Exception {
- FileInputStream fis = null;
- FileOutputStream fos = null;
- try {
- fis = new FileInputStream(infile);
- fos = new FileOutputStream(outfile);
- // FIXME: need to use a SAXSource as the source for the transform
- // so we can plug in our own entity resolver
- Source src = null;
- if (entityResolver != null) {
- if (tfactory.getFeature(SAXSource.FEATURE)) {
- SAXParserFactory spFactory = SAXParserFactory.newInstance();
- spFactory.setNamespaceAware(true);
- XMLReader reader = spFactory.newSAXParser().getXMLReader();
- reader.setEntityResolver(entityResolver);
- src = new SAXSource(reader, new InputSource(fis));
- } else {
- throw new IllegalStateException(
- "xcatalog specified, but "
- + "parser doesn't support SAX");
- }
- } else {
- src = new StreamSource(fis);
- }
- src.setSystemId(getSystemId(infile));
- StreamResult res = new StreamResult(fos);
- // not sure what could be the need of this...
- res.setSystemId(getSystemId(outfile));
-
- if (uriResolver != null)
- transformer.setURIResolver(uriResolver);
-
- transformer.transform(src, res);
- } finally {
- // make sure to close all handles, otherwise the garbage
- // collector will close them...whenever possible and
- // Windows may complain about not being able to delete files.
- try {
- if (xslStream != null) {
- xslStream.close();
- }
- } catch (IOException ignored) {
- }
- try {
- if (fis != null) {
- fis.close();
- }
- } catch (IOException ignored) {
- }
- try {
- if (fos != null) {
- fos.close();
- }
- } catch (IOException ignored) {
- }
- }
- }
-
- // make sure that the systemid is made of '/' and not '\' otherwise
- // crimson will complain that it cannot resolve relative entities
- // because it grabs the base uri via lastIndexOf('/') without
- // making sure it is really a /'ed path
- protected String getSystemId(File file) {
- String path = file.getAbsolutePath();
- path = path.replace('\\', '/');
-
- // on Windows, use 'file:///'
- if (File.separatorChar == '\\') {
- return FILE_PROTOCOL_PREFIX + "/" + path;
- }
- // Unix, use 'file://'
- return FILE_PROTOCOL_PREFIX + path;
- }
-
- public void addParam(String name, String value) {
- transformer.setParameter(name, value);
- }
-
- public void error(TransformerException e) {
- logError(e, "Error");
- }
-
- public void fatalError(TransformerException e) {
- logError(e, "Fatal Error");
- }
-
- public void warning(TransformerException e) {
- logError(e, "Warning");
- }
-
- private void logError(TransformerException e, String type) {
-
- StringBuffer msg = new StringBuffer();
- if (e.getLocator() != null) {
- if (e.getLocator().getSystemId() != null) {
- String url = e.getLocator().getSystemId();
- if (url.startsWith("file:///")) {
- url = url.substring(8);
- }
- msg.append(url);
- } else {
- msg.append("Unknown file");
- }
- if (e.getLocator().getLineNumber() != -1) {
- msg.append(":" + e.getLocator().getLineNumber());
- if (e.getLocator().getColumnNumber() != -1) {
- msg.append(":" + e.getLocator().getColumnNumber());
- }
- }
- }
- msg.append(": " + type + "! ");
- msg.append(e.getMessage());
- if (e.getCause() != null) {
- msg.append(" Cause: " + e.getCause());
- }
-
- System.out.println(msg.toString());
- }
-
- /** Set the class to resolve entities during the transformation
- */
- public void setEntityResolver(EntityResolver aResolver) {
- entityResolver = aResolver;
- }
-
- /** Set the class to resolve URIs during the transformation
- */
- public void setURIResolver(URIResolver aResolver) {
- uriResolver = aResolver;
- tfactory.setURIResolver(aResolver);
- }
-
-} //-- TraXLiaison
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ValidatorTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ValidatorTest.java
deleted file mode 100644
index 45e7ac9..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ValidatorTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import org.eclipse.wst.xml.catalog.tests.internal.TestPlugin;
-
-
-/**
- * To run this test need to add resolver.jar to the classpath.
- * Run as JUnit Plugin test:
- * - put resolver.jar on the boot class path
- * - add VM argument:
- *
- * -Xbootclasspath/p:<install location>\jre\lib\ext\resolver.jar
- *
- *
- */
-public class ValidatorTest extends TestCase {
-
-
-
- protected void setUp() throws Exception {
- super.setUp();
-
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public ValidatorTest(String name) {
- super(name);
- }
-
-
- public void testValidatingParser() throws IOException {
- String xmlFile = "/data/Personal/personal-schema.xml";
- xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-
- String catalogFile = "/data/catalog2.xml";
- catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-
- System.out.println("---------" + this.getName() + "---------");
- ResolvingXMLParser parser = new ResolvingXMLParser();
- parser.parseAndValidate(xmlFile, new String[]{catalogFile});
- assertFalse(parser.validationError);
- }
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTLiaison.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTLiaison.java
deleted file mode 100644
index 7bf36a8..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTLiaison.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2000-2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Ant", and "Apache Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.File;
-
-/**
- * Proxy interface for XSLT processors.
- *
- * @author <a href="mailto:rubys@us.ibm.com">Sam Ruby</a>
- * @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
- * @see XSLTProcess
- * @since Ant 1.1
- */
-public interface XSLTLiaison {
-
- /**
- * the file protocol prefix for systemid.
- * This file protocol must be appended to an absolute path.
- * Typically: <tt>FILE_PROTOCOL_PREFIX + file.getAbsolutePath()</tt>
- * Note that on Windows, an extra '/' must be appended to the
- * protocol prefix so that there is always 3 consecutive slashes.
- * @since Ant 1.4
- */
- String FILE_PROTOCOL_PREFIX = "file://";
-
- /**
- * set the stylesheet to use for the transformation.
- * @param stylesheet the stylesheet to be used for transformation.
- * @since Ant 1.4
- */
- void setStylesheet(File stylesheet) throws Exception;
-
- /**
- * Add a parameter to be set during the XSL transformation.
- * @param name the parameter name.
- * @param expression the parameter value as an expression string.
- * @throws Exception thrown if any problems happens.
- * @since Ant 1.3
- */
- void addParam(String name, String expression) throws Exception;
-
- /**
- * Perform the transformation of a file into another.
- * @param infile the input file, probably an XML one. :-)
- * @param outfile the output file resulting from the transformation
- * @throws Exception thrown if any problems happens.
- * @see #setStylesheet(File)
- * @since Ant 1.4
- */
- void transform(File infile, File outfile) throws Exception;
-
-} //-- XSLTLiaison
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTWithCatalogResolverTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTWithCatalogResolverTest.java
deleted file mode 100644
index 4cfb3ad..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTWithCatalogResolverTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.File;
-
-import junit.framework.TestCase;
-
-import org.apache.xml.resolver.tools.CatalogResolver;
-import org.eclipse.wst.xml.catalog.tests.internal.TestPlugin;
-
-
-/**
- * Test from http://issues.apache.org/bugzilla/show_bug.cgi?id=16336
- *
- * To run this test need to add resolver.jar to the classpath.
- * Run as JUnit Plugin test:
- * - put resolver.jar on the boot class path
- * - add VM argument:
- *
- * -Xbootclasspath/p:<install location>\jre\lib\ext\resolver.jar
- *
- *
- */
-public class XSLTWithCatalogResolverTest extends TestCase {
-
- CatalogResolver catalogResolver = null;
- TraXLiaison xsltLiason = null;
- static String SEP = File.separator;
-
- public XSLTWithCatalogResolverTest(String name) {
- super(name);
- }
-
- public static void main(String[] args) {
- junit.textui.TestRunner.run(XSLTWithCatalogResolverTest.class);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- catalogResolver = new CatalogResolver();
- xsltLiason = new TraXLiaison();
- xsltLiason.setEntityResolver(catalogResolver);
- xsltLiason.setURIResolver(catalogResolver);
-
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public void testXSLTwithCatalogResolver() throws Exception {
-
- String testDirName = "data/testXSLTwithCatalogResolver";
- testDirName = TestPlugin.resolvePluginLocation(testDirName);
-
- String catalogFileName = testDirName + SEP + "catalog.xml";
- String xslFileName = testDirName + SEP + "xmlcatalog.xsl";
- String xmlFileName = testDirName + SEP + "xmlcatalog2.xml";
- String resultFileName = xmlFileName + "-out";
- String idealResultFileName = xmlFileName + "-result";
-
- //setup catalog
-
- File catalogFile = new File(catalogFileName);
-
- assertTrue("Catalog file " + catalogFileName + " should exist for the test", catalogFile.exists());
-
- catalogResolver.getCatalog().parseCatalog(catalogFileName);
-
- File xslFile = new File(xslFileName);
-
- assertTrue("XSL file " + xslFileName + " should exist for the test", xslFile.exists());
-
- File inFile = new File(xmlFileName);
-
- assertTrue("XML file " + xslFileName + " should exist for the test", xslFile.exists());
-
- File outFile = FileUtil.createFileAndParentDirectories(resultFileName);
-
- xsltLiason.setStylesheet(xslFile);
- xsltLiason.addParam("outprop", "testvalue");
-
- xsltLiason.transform(inFile, outFile);
-
- boolean diffFound =
- FileUtil.textualCompare(
- outFile,
- new File(idealResultFileName),
- new File(resultFileName + "-diff"));
-
- assertTrue("Output file should match the expected results", !diffFound);
-
-
-
- }
-
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/MyXMLCatalogResolver.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/MyXMLCatalogResolver.java
deleted file mode 100644
index d0f123e..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/MyXMLCatalogResolver.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.wst.xml.uriresolver.validation.tests.internal;
-
-import java.io.IOException;
-
-import org.apache.xerces.util.XMLCatalogResolver;
-import org.apache.xerces.xni.XMLResourceIdentifier;
-import org.apache.xerces.xni.XNIException;
-
-public class MyXMLCatalogResolver extends XMLCatalogResolver {
-
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
-
- }
-
- public String resolveIdentifier(XMLResourceIdentifier resourceIdentifier) throws IOException, XNIException {
- String resolvedId = null;
-
- // The namespace is useful for resolving namespace aware
- // grammars such as XML schema. Let it take precedence over
- // the external identifier if one exists.
- String namespace = resourceIdentifier.getNamespace();
- if (namespace != null) {
- resolvedId = resolveURI(namespace);
- }
-
- // Resolve against an external identifier if one exists. This
- // is useful for resolving DTD external subsets and other
- // external entities. For XML schemas if there was no namespace
- // mapping we might be able to resolve a system identifier
- // specified as a location hint.
- if (resolvedId == null) {
- String publicId = resourceIdentifier.getPublicId();
- String systemId = getUseLiteralSystemId()
- ? resourceIdentifier.getLiteralSystemId()
- : resourceIdentifier.getExpandedSystemId();
- if (publicId != null && systemId != null) {
- resolvedId = resolvePublic(publicId, systemId);
- }
- else if (systemId != null) {
- resolvedId = resolveSystem(systemId);
- }
- }
- return resolvedId;
- }
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/Validator.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/Validator.java
deleted file mode 100644
index b465393..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/Validator.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package org.eclipse.wst.xml.uriresolver.validation.tests.internal;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.xerces.parsers.DOMParser;
-import org.apache.xerces.parsers.SAXParser;
-import org.apache.xerces.util.XMLCatalogResolver;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class Validator {
-
- public boolean validationError = false;
-
- public void validateWithSchema_JAXP(String xmlFile, String[] catalogs) {
- try {
- System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
- "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- factory.setValidating(true);
- factory.setAttribute(
- "http://java.sun.com/xml/jaxp/properties/schemaLanguage",
- "http://www.w3.org/2001/XMLSchema");
-
- // Create catalog resolver and set a catalog list.
- XMLCatalogResolver resolver = new XMLCatalogResolver();
- resolver.setPreferPublic(true);
- resolver.setCatalogList(catalogs);
- factory.setAttribute(
- "http://apache.org/xml/properties/internal/entity-resolver",
- resolver);
-
- DocumentBuilder builder = factory.newDocumentBuilder();
- ErrorHandler handler = new ErrorHandler(this);
- builder.setErrorHandler(handler);
- builder.setEntityResolver(resolver);
- builder.parse(xmlFile);
-
- if (validationError == true)
- System.out.println("XML Document has Error: "
- + handler.saxParseException.getMessage());
- else
- System.out.println("XML Document is valid");
- } catch (java.io.IOException ioe) {
- System.out.println("IOException " + ioe.getMessage());
- } catch (SAXException e) {
- System.out.println("SAXException " + e.getMessage());
- } catch (ParserConfigurationException e) {
- System.out.println("ParserConfigurationException "
- + e.getMessage());
- }
-
- }
-
-
- public void validateWithSchema_XercesSAXParser(String XmlDocumentUrl, String [] catalogs) {
- SAXParser parser = new SAXParser();
- try {
- parser.setFeature("http://xml.org/sax/features/validation", true);
- parser.setFeature(
- "http://apache.org/xml/features/validation/schema", true);
-
- // Create catalog resolver and set a catalog list.
- XMLCatalogResolver resolver = new XMLCatalogResolver();
- resolver.setUseLiteralSystemId(true);
- resolver.setPreferPublic(true);
- resolver.setCatalogList(catalogs);
-
- // Set the resolver on the parser.
- parser.setProperty("http://apache.org/xml/properties/internal/entity-resolver",
- resolver);
-
- ErrorHandler handler = new ErrorHandler(this);
- parser.setErrorHandler(handler);
-
- parser.parse(XmlDocumentUrl);
- if (validationError == true){
- System.out.println("XML Document has Error: "
- + handler.saxParseException.getMessage());
- throw handler.saxParseException;
- }
- else{
- System.out.println("XML Document is valid");
- }
-
- } catch (java.io.IOException ioe) {
- System.out.println("IOException " + ioe.getMessage());
- } catch (SAXException e) {
- System.out.println("SAXException " + e.getMessage());
- }
- }
-
- public void validateWithSchema_XercesDOMParser(String XmlDocumentUrl, String [] catalogs) {
- DOMParser parser = new DOMParser();
- try {
- parser.setFeature("http://xml.org/sax/features/validation", true);
- parser.setFeature(
- "http://apache.org/xml/features/validation/schema", true);
-
- // Create catalog resolver and set a catalog list.
- XMLCatalogResolver resolver = new XMLCatalogResolver();
- resolver.setUseLiteralSystemId(true);
- resolver.setPreferPublic(true);
- resolver.setCatalogList(catalogs);
-
- // Set the resolver on the parser.
- parser.setProperty("http://apache.org/xml/properties/internal/entity-resolver",
- resolver);
-
- ErrorHandler handler = new ErrorHandler(this);
- parser.setErrorHandler(handler);
-
- parser.parse(XmlDocumentUrl);
- if (validationError == true){
- System.out.println("XML Document has Error: "
- + handler.saxParseException.getMessage());
- throw handler.saxParseException;
- }
- else{
- System.out.println("XML Document is valid");
- }
-
- } catch (java.io.IOException ioe) {
- System.out.println("IOException " + ioe.getMessage());
- } catch (SAXException e) {
- System.out.println("SAXException " + e.getMessage());
- }
- }
-
- private class ErrorHandler extends DefaultHandler {
-
- Validator validator;
-
- public SAXParseException saxParseException = null;
-
- public ErrorHandler(Validator validator) {
- super();
- this.validator = validator;
- }
-
- public void error(SAXParseException exception) throws SAXException {
- validationError = true;
- saxParseException = exception;
- }
-
- public void fatalError(SAXParseException exception) throws SAXException {
- validationError = true;
- saxParseException = exception;
- }
-
- public void warning(SAXParseException exception) throws SAXException {
- }
- }
-
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/ValidatorTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/ValidatorTest.java
deleted file mode 100644
index 6b84caf..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/ValidatorTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.eclipse.wst.xml.uriresolver.validation.tests.internal;
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import org.eclipse.wst.xml.catalog.tests.internal.TestPlugin;
-
-/**
- * To run this test need to add resolver.jar to the classpath.
- * Run as JUnit Plugin test:
- * - put resolver.jar on the boot class path
- * - add VM argument:
- *
- * -Xbootclasspath/p:<install location>\jre\lib\ext\resolver.jar
- *
- *
- */
-public class ValidatorTest extends TestCase {
-
- Validator validator = null;
-
- protected void setUp() throws Exception {
- super.setUp();
- validator = new Validator();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public ValidatorTest(String name) {
- super(name);
- }
-
-
- public void testValidatingXercesSAXParser1() throws IOException {
- String xmlFile = "/data/Personal/personal-schema.xml";
- xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-
- String catalogFile = "/data/catalog2.xml";
- catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-
- System.out.println("---------" + this.getName() + "---------");
- validator.validateWithSchema_XercesSAXParser(xmlFile, new String[]{catalogFile});
- assertFalse(validator.validationError);
- }
-
- public void testValidatingXercesSAXParser2() throws IOException {
- String xmlFile = "/data/example/example-schema.xml";
- xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-
- String catalogFile = "/data/example-catalog.xml";
- catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-
- System.out.println("---------" + this.getName() + "---------");
- validator.validateWithSchema_XercesSAXParser(xmlFile, new String[]{catalogFile});
- assertFalse(validator.validationError);
- }
- public void testValiatingXercesSAXParser3() throws IOException {
- String xmlFile = "/data/example/example-schema-nonamespace.xml";
- xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-
- String catalogFile = "/data/example-catalog.xml";
- catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-
- System.out.println("---------" + this.getName() + "---------");
- validator.validateWithSchema_XercesSAXParser(xmlFile, new String[]{catalogFile});
- assertFalse(validator.validationError);
- }
-
- public void testValidatingXercesDOMParser1() throws IOException {
- String xmlFile = "/data/example/example-schema-nonamespace.xml";
- xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-
- String catalogFile = "/data/example-catalog.xml";
- catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-
- System.out.println("---------" + this.getName() + "---------");
- validator.validateWithSchema_XercesDOMParser(xmlFile, new String[]{catalogFile});
- assertFalse(validator.validationError);
- }
-
- public void testValidatingJAXPParser1() throws IOException {
- String xmlFile = "/data/example/example-schema.xml";
- xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-
- String catalogFile = "/data/example-catalog.xml";
- catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-
- System.out.println("---------" + this.getName() + "---------");
- validator.validateWithSchema_JAXP(xmlFile, new String[]{catalogFile});
- assertFalse(validator.validationError);
- }
-
- public void testValidationWithImportedAndIncludedSchema1() throws IOException {
- String xmlFile = "/data/PurchaseOrder/international/report_.xml";
- xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-
- String catalogFile = "/data/report-catalog_system.xml";
- catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-
- System.out.println("---------" + this.getName() + "---------");
- validator.validateWithSchema_XercesDOMParser(xmlFile, new String[]{catalogFile});
- // Included schema will be resolved
- assertFalse(validator.validationError);
- }
-
- public void testValidationWithImportedAndIncludedSchema2() throws IOException {
- String xmlFile = "/data/PurchaseOrder/international/report_.xml";
- xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-
- String catalogFile = "/data/report-catalog_public.xml";
- catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-
- System.out.println("---------" + this.getName() + "---------");
- validator.validateWithSchema_XercesDOMParser(xmlFile, new String[]{catalogFile});
- // Included schema will not be resolved
- assertTrue(validator.validationError);
- }
-
- public void testValidationWithImportedAndIncludedSchema3() throws IOException {
- String xmlFile = "/data/PurchaseOrder/international/report_.xml";
- xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-
- String catalogFile = "/data/report-catalog_mappedincluded.xml";
- catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-
- System.out.println("---------" + this.getName() + "---------");
- validator.validateWithSchema_XercesDOMParser(xmlFile, new String[]{catalogFile});
- // Included schema will not be resolved
- assertTrue(validator.validationError);
- }
-
- public void testValidationWithImportedSchemaNoCatalog() throws IOException {
- String xmlFile = "/data/PurchaseOrder/international/report.xml";
- xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-
- String catalogFile = "";
-
- System.out.println("---------" + this.getName() + "---------");
- validator.validateWithSchema_XercesDOMParser(xmlFile, new String[]{catalogFile});
- assertFalse(validator.validationError);
- }
-
-
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/test.xml b/tests/org.eclipse.wst.xml.catalog.tests/test.xml
deleted file mode 100644
index 4b384c1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/test.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="run" basedir=".">
-
- <!-- Configurable Properties -->
-
- <!-- sets the properties eclipse-home, and library-file -->
- <property name="plugin-name" value="org.eclipse.wst.xml.catalog.tests"/>
-
- <!-- End Configurable Properties -->
-
- <!-- The property ${eclipse-home} should be passed into this script -->
- <!-- Set a meaningful default value for when it is not. -->
- <property name="eclipse-home" value="${basedir}\..\.."/>
- <property name="bvtworkspace" value="${basedir}"/>
- <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml"/>
- <property name="workspace-folder" value="${bvtworkspace}/${plugin-name}"/>
-
- <!-- This target holds all initialization code that needs to be done for -->
- <!-- all tests that are to be run. Initialization for individual tests -->
- <!-- should be done within the body of the suite target. -->
- <target name="init">
- <tstamp/>
- <delete>
- <fileset dir="${eclipse-home}" includes="org.eclipse.wst.xml.catalog.tests.*.xml"/>
- </delete>
- </target>
-
- <!-- This target defines the tests that need to be run. -->
- <target name="suite">
-
- <!-- Start with clean data workspace -->
- <delete dir="${workspace-folder}" quiet="true"/>
-
- <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
- <property name="data-dir" value="${workspace-folder}"/>
- <property name="plugin-name" value="${plugin-name}"/>
- <property name="classname" value="org.eclipse.wst.xml.catalog.tests.internal.AllTests"/>
- </ant>
-
- </target>
-
- <!-- This target holds code to cleanup the testing environment after -->
- <!-- after all of the tests have been run. You can use this target to -->
- <!-- delete temporary files that have been created. -->
- <target name="cleanup">
- <delete dir="${workspace-folder}" quiet="true"/>
- </target>
-
- <!-- This target runs the test suite. Any actions that need to happen -->
- <!-- after all the tests have been run should go here. -->
- <target name="run" depends="init,suite,cleanup">
- <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
- <property name="includes" value="org.eclipse.wst.xml.catalog.tests*.xml"/>
- <property name="output-file" value="${plugin-name}.xml"/>
- </ant>
- </target>
-
-</project>
diff --git a/tests/org.eclipse.wst.xml.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xml.core.tests/META-INF/MANIFEST.MF
index 4e963e2..5faa10a 100644
--- a/tests/org.eclipse.wst.xml.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.xml.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.xml.core.tests; singleton:=true
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: ssemodelxmltests.jar
Bundle-Activator: org.eclipse.wst.xml.core.tests.SSEModelXMLTestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.xml.tests.encoding/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xml.tests.encoding/META-INF/MANIFEST.MF
index 91fa561..beb6b81 100644
--- a/tests/org.eclipse.wst.xml.tests.encoding/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.xml.tests.encoding/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.xml.tests.encoding
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: tests.jar
Bundle-Activator: org.eclipse.wst.xml.tests.encoding.TestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.xml.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xml.ui.tests/META-INF/MANIFEST.MF
index 655da88..f7d4f9e 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.xml.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.xml.ui.tests; singleton:=true
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: xmluitests.jar
Bundle-Activator: org.eclipse.wst.xml.ui.tests.XMLUITestsPlugin
Bundle-Vendor: %providerName
diff --git a/tests/org.eclipse.wst.xml.ui.tests/plugin.properties b/tests/org.eclipse.wst.xml.ui.tests/plugin.properties
index dabbca0..521f083 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/plugin.properties
+++ b/tests/org.eclipse.wst.xml.ui.tests/plugin.properties
@@ -11,4 +11,7 @@
providerName=Eclipse.org
Bundle-Name.0 = XML UI Tests
-view.name.0 = Embedded XML Structured Text Viewer
\ No newline at end of file
+view.name.0 = Embedded XML Structured Text Viewer
+
+contentTypeTestXML99.ct=Test XML sub-content-type
+contentTypeTestXML99.editor=Test XML sub-content-type editor
diff --git a/tests/org.eclipse.wst.xml.ui.tests/plugin.xml b/tests/org.eclipse.wst.xml.ui.tests/plugin.xml
index c3716eb..f0ba56e 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/plugin.xml
+++ b/tests/org.eclipse.wst.xml.ui.tests/plugin.xml
@@ -13,9 +13,9 @@
</view>
</extension>
- <!-- test for breakpoint error handling - ->
+ <!-- test for breakpoint error handling -->
<extension
- point="org.eclipse.wst.sse.ui.internal.provisional.extensions.breakpoint">
+ point="org.eclipse.wst.sse.ui.breakpoint">
<breakpointContribution
id="org.eclipse.wst.xml.ui.providers.test">
<provider
@@ -25,7 +25,7 @@
</provider>
</breakpointContribution>
</extension>
- -->
+
<extension point="org.eclipse.wst.sse.ui.extendedEditorActions">
<editorContribution
targetID="org.eclipse.wst.sse.ui.StructuredTextEditor"
@@ -39,4 +39,29 @@
</action>
</editorContribution>
</extension>
+ <extension
+ id="xml.ui.tests1"
+ name="%Bundle-Name.0"
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.wst.xml.ui.tests.TestSourceValidationFramework$TestStructuredTextEditor"
+ contributorClass="org.eclipse.wst.xml.ui.internal.actions.ActionContributorXML"
+ default="false"
+ filenames="*.xml99"
+ icon="icons/sourceEditor.gif"
+ id="org.eclipse.wst.xml.ui.tests.TestSourceValidationFramework$TestStructuredTextEditor"
+ name="%contentTypeTestXML99.editor"
+ symbolicFontName="org.eclipse.wst.sse.ui.textfont">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.core.runtime.contentTypes">
+ <content-type
+ file-extensions="xml99"
+ priority="low"
+ name="%contentTypeTestXML99.ct"
+ id="xml99source"
+ base-type="org.eclipse.core.runtime.xml">
+ </content-type>
+ </extension>
</plugin>
diff --git a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestReconcilerXML.java b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestReconcilerXML.java
new file mode 100644
index 0000000..f9797fb
--- /dev/null
+++ b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestReconcilerXML.java
@@ -0,0 +1,222 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xml.ui.tests;
+
+import java.io.ByteArrayInputStream;
+import java.util.Iterator;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.source.Annotation;
+import org.eclipse.jface.text.source.IAnnotationModel;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.texteditor.DefaultMarkerAnnotationAccess;
+import org.eclipse.ui.texteditor.ITextEditor;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
+import org.eclipse.wst.sse.ui.internal.provisional.preferences.CommonEditorPreferenceNames;
+import org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart;
+
+/**
+ * Tests reconciler in an open editor.
+ */
+public class TestReconcilerXML extends TestCase {
+ private final String PROJECT_NAME = "TestReconcilerXML";
+ private final String FILE_NAME = "TestReconcilerXMLfile.xml";
+ final private String ANNOTATION_ERROR = "org.eclipse.wst.sse.ui.temp.error"; //$NON-NLS-1$
+ final private String ANNOTATION_WARNING = "org.eclipse.wst.sse.ui.temp.warning"; //$NON-NLS-1$
+
+ private static IEditorPart fEditor;
+ private static IFile fFile;
+ private static boolean fIsSetup = false;
+
+ private boolean fReconcilerPref;
+
+ public TestReconcilerXML() {
+ super("TestReconcilerXML");
+ }
+
+ protected void setUp() throws Exception {
+ // only create project and file once
+ if (!fIsSetup) {
+ // create project
+ createProject(PROJECT_NAME);
+ fFile = getOrCreateFile(PROJECT_NAME + "/" + FILE_NAME);
+ fIsSetup = true;
+ }
+
+ // editor is opened each time
+ if (fIsSetup && fEditor == null) {
+ IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ fEditor = IDE.openEditor(page, fFile, true, true);
+ if (!((fEditor instanceof XMLMultiPageEditorPart) || (fEditor instanceof StructuredTextEditor)))
+ assertTrue("Unable to open structured text editor", false);
+ }
+
+ // turn on reconciling
+ IPreferenceStore store = SSEUIPlugin.getDefault().getPreferenceStore();
+ fReconcilerPref = store.getBoolean(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS);
+ if (!fReconcilerPref)
+ store.setValue(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS, true);
+ }
+
+ protected void tearDown() throws Exception {
+ // restore reconciling preference
+ IPreferenceStore store = SSEUIPlugin.getDefault().getPreferenceStore();
+ store.setValue(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS, fReconcilerPref);
+
+ // editor is closed each time
+ if (fEditor != null) {
+ IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ page.closeEditor(fEditor, false);
+ assertTrue("Unable to close editor", true);
+ fEditor = null;
+ }
+ }
+
+ private void createProject(String projName) {
+ IProjectDescription description = ResourcesPlugin.getWorkspace().newProjectDescription(projName);
+
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projName);
+ try {
+ project.create(description, new NullProgressMonitor());
+ project.open(new NullProgressMonitor());
+ }
+ catch (CoreException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private IFile getOrCreateFile(String filePath) {
+ IFile blankFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(filePath));
+ if (blankFile != null && !blankFile.exists()) {
+ try {
+ blankFile.create(new ByteArrayInputStream(new byte[0]), true, new NullProgressMonitor());
+ }
+ catch (CoreException e) {
+ e.printStackTrace();
+ }
+ }
+ return blankFile;
+ }
+
+ /**
+ * Tests reconciler by verifying no errors/warnings found with well-formed
+ * xml.
+ */
+ public void testWellFormed() {
+ IDocument doc = (IDocument) fEditor.getAdapter(IDocument.class);
+ doc.set("<html><body><h1>Title</h1></body></html>");
+ ITextEditor textEditor = (ITextEditor) fEditor.getAdapter(ITextEditor.class);
+ IAnnotationModel annoModel = textEditor.getDocumentProvider().getAnnotationModel(fEditor.getEditorInput());
+ DefaultMarkerAnnotationAccess annotationAccess = new DefaultMarkerAnnotationAccess();
+
+ // verify well-formed xml
+ try {
+ Thread.sleep(5000);
+ Iterator iter = annoModel.getAnnotationIterator();
+ while (iter.hasNext()) {
+ Annotation anno = (Annotation) iter.next();
+ String annoType = anno.getType();
+ if ((annotationAccess.isSubtype(annoType, ANNOTATION_ERROR)) || (annotationAccess.isSubtype(annoType, ANNOTATION_WARNING))) {
+ assertTrue("testReconciler: Unexpected initial annotations" + anno.getText(), false);
+ }
+ }
+ }
+ catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Tests reconciler by verifying error/warning found with ill-formed xml.
+ * (missing close bracket)
+ */
+ public void testIllFormedNoCloseBracket() {
+ IDocument doc = (IDocument) fEditor.getAdapter(IDocument.class);
+ doc.set("<html><body><h1>Title</h1></body></html>");
+ ITextEditor textEditor = (ITextEditor) fEditor.getAdapter(ITextEditor.class);
+ IAnnotationModel annoModel = textEditor.getDocumentProvider().getAnnotationModel(fEditor.getEditorInput());
+ DefaultMarkerAnnotationAccess annotationAccess = new DefaultMarkerAnnotationAccess();
+
+ // verify ill-formed xml
+ try {
+ doc.replace(6, 6, "<body ");
+ Thread.sleep(5000);
+ boolean errorFound = false;
+ Iterator iter = annoModel.getAnnotationIterator();
+ while (iter.hasNext()) {
+ Annotation anno = (Annotation) iter.next();
+ String annoType = anno.getType();
+ if ((annotationAccess.isSubtype(annoType, ANNOTATION_ERROR)) || (annotationAccess.isSubtype(annoType, ANNOTATION_WARNING))) {
+ errorFound = true;
+ }
+ }
+ assertTrue("testReconciler: Did not find expected errors in: " + doc.get(), errorFound);
+ }
+ catch (BadLocationException e) {
+ e.printStackTrace();
+ }
+ catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Tests reconciler by verifying error/warning found with ill-formed xml.
+ * (missing attribute value)
+ */
+ public void testIllFormedNoAttrValue() {
+ IDocument doc = (IDocument) fEditor.getAdapter(IDocument.class);
+ doc.set("<html><body><h1>Title</h1></body></html>");
+ ITextEditor textEditor = (ITextEditor) fEditor.getAdapter(ITextEditor.class);
+ IAnnotationModel annoModel = textEditor.getDocumentProvider().getAnnotationModel(fEditor.getEditorInput());
+ DefaultMarkerAnnotationAccess annotationAccess = new DefaultMarkerAnnotationAccess();
+
+ // verify ill-formed xml
+ try {
+ doc.replace(6, 6, "<body hello>");
+ Thread.sleep(5000);
+ boolean errorFound = false;
+ Iterator iter = annoModel.getAnnotationIterator();
+ while (iter.hasNext()) {
+ Annotation anno = (Annotation) iter.next();
+ String annoType = anno.getType();
+ if ((annotationAccess.isSubtype(annoType, ANNOTATION_ERROR)) || (annotationAccess.isSubtype(annoType, ANNOTATION_WARNING))) {
+ errorFound = true;
+ }
+ }
+ assertTrue("testReconciler: Did not find expected errors in: " + doc.get(), errorFound);
+ }
+ catch (BadLocationException e) {
+ e.printStackTrace();
+ }
+ catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestSourceValidationFramework.java b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestSourceValidationFramework.java
new file mode 100644
index 0000000..ae78e61
--- /dev/null
+++ b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestSourceValidationFramework.java
@@ -0,0 +1,285 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xml.ui.tests;
+
+import java.io.ByteArrayInputStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.content.IContentDescription;
+import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.source.SourceViewerConfiguration;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.texteditor.ITextEditor;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
+import org.eclipse.wst.sse.ui.internal.provisional.preferences.CommonEditorPreferenceNames;
+import org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor;
+import org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorMetaData;
+import org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy;
+
+/**
+ * Tests reconciler in an open editor. The location of this class is awkward
+ * in that it refers to content types declared in plugins that aren't required
+ * to be present.
+ */
+public class TestSourceValidationFramework extends TestCase {
+ /**
+ * THIS SUBCLASS IS FOR TESTING ONLY
+ */
+ public static class TestStructuredTextEditor extends StructuredTextEditor {
+ public SourceViewerConfiguration textViewerConfiguration = null;
+
+ protected void setSourceViewerConfiguration(SourceViewerConfiguration config) {
+ super.setSourceViewerConfiguration(config);
+ textViewerConfiguration = config;
+ }
+ }
+
+ private static final String PROJECT_NAME = "TestSourceValidationFramework";
+
+ private static final String SEPARATOR = String.valueOf(IPath.SEPARATOR);
+
+ private boolean fPreviousReconcilerPref;
+
+ public TestSourceValidationFramework() {
+ super("TestSourceValidationFramework");
+ }
+
+ private IFile ensureFileIsAccessible(String filePath, byte[] contents) {
+ IFile blankFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(filePath));
+ if (blankFile != null && !blankFile.isAccessible()) {
+ try {
+ byte[] bytes = contents;
+ if (bytes == null) {
+ bytes = new byte[0];
+ }
+ blankFile.create(new ByteArrayInputStream(bytes), true, new NullProgressMonitor());
+ }
+ catch (CoreException e) {
+ e.printStackTrace();
+ }
+ }
+ return blankFile;
+ }
+
+ private IContentType[] detectContentTypes(String fileName) {
+ IContentType[] types = null;
+ IFile file = ensureFileIsAccessible(PROJECT_NAME + SEPARATOR + fileName, null);
+
+ types = Platform.getContentTypeManager().findContentTypesFor(file.getName());
+ if (types.length == 0) {
+ IContentDescription d = null;
+ try {
+ // optimized description lookup, might not succeed
+ d = file.getContentDescription();
+ if (d != null) {
+ types = new IContentType[]{d.getContentType()};
+ }
+ }
+ catch (CoreException e) {
+ /*
+ * should not be possible given the accessible and file type
+ * check above
+ */
+ }
+ }
+ if (types == null) {
+ types = Platform.getContentTypeManager().findContentTypesFor(file.getName());
+ }
+ return types;
+ }
+
+ private String[] detectContentTypeIDs(String fileName) {
+ IContentType[] types = detectContentTypes(fileName);
+ String[] ids = new String[types.length];
+ for (int i = 0; i < types.length; i++) {
+ ids[i] = types[i].getId();
+ }
+ return ids;
+ }
+
+ private boolean identicalContents(Object o1[], Object o2[]) {
+ if (o1.length == 0 && o2.length == 0)
+ return true;
+
+ Object[] array1 = new Object[o1.length];
+ Object[] array2 = new Object[o2.length];
+ System.arraycopy(o1, 0, array1, 0, o1.length);
+ System.arraycopy(o2, 0, array2, 0, o2.length);
+ Arrays.sort(array1);
+ Arrays.sort(array2);
+ return Arrays.equals(array1, array2);
+ }
+
+
+ private void ensureProjectIsAccessible(String projName) {
+ IProjectDescription description = ResourcesPlugin.getWorkspace().newProjectDescription(projName);
+
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projName);
+ try {
+ if (!project.exists())
+ project.create(description, new NullProgressMonitor());
+ if (!project.isAccessible())
+ project.open(new NullProgressMonitor());
+ }
+ catch (CoreException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private List getSourceValidatorIDs(String fileName) throws Exception {
+ List validatorIds = new ArrayList(1);
+ IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+
+ IFile file = ensureFileIsAccessible(PROJECT_NAME + SEPARATOR + fileName, null);
+ IEditorPart editor = IDE.openEditor(page, file, TestStructuredTextEditor.class.getName(), true);
+
+ ITextEditor textEditor = (ITextEditor) editor.getAdapter(ITextEditor.class);
+ TestStructuredTextEditor testTextEditor = (TestStructuredTextEditor) textEditor;
+ IReconciler reconciler = testTextEditor.textViewerConfiguration.getReconciler(testTextEditor.getTextViewer());
+
+ assertNotNull(reconciler);
+ assertTrue("unexpected IReconciler implementation: " + reconciler.getClass(), reconciler instanceof DocumentRegionProcessor);
+
+ Class reconcilerClass = reconciler.getClass();
+ Method method = null;
+ while (reconcilerClass != Object.class && method == null) {
+ Method[] methods = reconcilerClass.getDeclaredMethods();
+ for (int i = 0; i < methods.length; i++) {
+ if (methods[i].getName().equals("getValidatorStrategy")) {
+ method = methods[i];
+ }
+ }
+ reconcilerClass = reconcilerClass.getSuperclass();
+ }
+
+ assertNotNull("no getValidatorStrategy method found on " + reconciler.getClass(), method);
+ method.setAccessible(true);
+ ValidatorStrategy strategy = (ValidatorStrategy) method.invoke(reconciler, new Object[0]);
+ assertNotNull(strategy);
+ Field fMetaData = strategy.getClass().getDeclaredField("fMetaData");
+ assertNotNull("validator metadata field \"fMetaData\" not found on strategy " + strategy.getClass(), fMetaData);
+ fMetaData.setAccessible(true);
+ List metadata = (List) fMetaData.get(strategy);
+ assertNotNull(metadata);
+ for (int i = 0; i < metadata.size(); i++) {
+ validatorIds.add(((ValidatorMetaData) metadata.get(i)).getValidatorId());
+ }
+
+ page.closeEditor(editor, false);
+
+ return validatorIds;
+ }
+
+ protected void setUp() throws Exception {
+ ensureProjectIsAccessible(PROJECT_NAME);
+
+ // turn on reconciling
+ IPreferenceStore store = SSEUIPlugin.getDefault().getPreferenceStore();
+ fPreviousReconcilerPref = store.getBoolean(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS);
+ if (!fPreviousReconcilerPref) {
+ store.setValue(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS, true);
+ }
+ }
+
+ protected void tearDown() throws Exception {
+ // restore reconciling preference
+ IPreferenceStore store = SSEUIPlugin.getDefault().getPreferenceStore();
+ store.setValue(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS, fPreviousReconcilerPref);
+ }
+
+ public void testSourceValidationEnablementWithInheritedValidators() throws Exception {
+ Object[] xmlValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.xml").toArray();
+ assertTrue("No XML source validators found", xmlValidatorIDs.length > 0);
+ Object[] xml99ValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.xml99").toArray();
+ assertTrue("No XML99 source validators found", xml99ValidatorIDs.length > 0);
+
+ Arrays.sort(xmlValidatorIDs);
+ Arrays.sort(xml99ValidatorIDs);
+
+ assertEquals("validator lists should be the same length", xmlValidatorIDs.length, xml99ValidatorIDs.length);
+ for (int i = 0; i < xmlValidatorIDs.length; i++) {
+ assertEquals("validator IDs should be the same [" + i + "]", xmlValidatorIDs[i], xml99ValidatorIDs[i]);
+ }
+ }
+
+ public void testSourceValidationEnablementWithUniqueValidators() throws Exception {
+ String[] xmlContentTypes = detectContentTypeIDs("testValidatorConfigurations.xml");
+ String[] xsdContentTypes = detectContentTypeIDs("testValidatorConfigurations.xsd");
+
+ /*
+ * If the current configuration does not include a distinct XSD
+ * content type, skip the rest
+ */
+ if (!identicalContents(xmlContentTypes, xsdContentTypes)) {
+ List xmlValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.xml");
+ assertTrue("No XML source validators found", !xmlValidatorIDs.isEmpty());
+ List xsdValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.xsd");
+ assertTrue("No XSD source validators found", !xsdValidatorIDs.isEmpty());
+ for (int i = 0; i < xmlValidatorIDs.size(); i++) {
+ assertTrue("XML Validator found on XSD input", !xsdValidatorIDs.contains(xmlValidatorIDs.get(i)));
+ }
+ }
+ else {
+ String message = "No distinct XSD content type found while running " + getClass().getName();
+ System.err.println(message);
+ Logger.log(Logger.WARNING, message);
+ }
+ }
+
+ public void testSourceValidationEnablementWithUnrelatedContentTypes() throws Exception {
+ String[] dtdContentTypes = detectContentTypeIDs("testValidatorConfigurations.dtd");
+ String[] jspContentTypes = detectContentTypeIDs("testValidatorConfigurations.jsp");
+ if (dtdContentTypes.length == 0) {
+ String message = "No DTD content type found while running " + getClass().getName();
+ System.err.println(message);
+ Logger.log(Logger.WARNING, message);
+ }
+ if (jspContentTypes.length == 0) {
+ String message = "No JSP content type found while running " + getClass().getName();
+ System.err.println(message);
+ Logger.log(Logger.WARNING, message);
+ }
+
+
+ if (dtdContentTypes.length > 0 && jspContentTypes.length > 0 && !identicalContents(dtdContentTypes, jspContentTypes)) {
+ List dtdValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.dtd");
+ assertTrue("No DTD source validators found", !dtdValidatorIDs.isEmpty());
+ List jspValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.jsp");
+ assertTrue("No JSP source validators found", !jspValidatorIDs.isEmpty());
+ int dtdValidatorCount = dtdValidatorIDs.size();
+ dtdValidatorIDs.removeAll(jspValidatorIDs);
+ assertEquals("validators found running on both CSS and DTD", dtdValidatorCount, dtdValidatorIDs.size());
+ }
+ }
+}
diff --git a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/XMLUITestSuite.java b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/XMLUITestSuite.java
index 47c76a7..ea626df 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/XMLUITestSuite.java
+++ b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/XMLUITestSuite.java
@@ -34,5 +34,7 @@
addTest((new TestSuite(TestPropertySheetConfiguration.class)));
addTestSuite(TestDelegatingSourceValidatorForXML.class);
addTestSuite(TestMarkupValidator.class);
+ addTestSuite(TestReconcilerXML.class);
+ addTestSuite(TestSourceValidationFramework.class);
}
}
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/breakpoints/BreakpointErrorProvider.java b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/breakpoints/BreakpointErrorProvider.java
index 2ab3409..0bfc2d4 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/breakpoints/BreakpointErrorProvider.java
+++ b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/breakpoints/BreakpointErrorProvider.java
@@ -37,7 +37,7 @@
XMLUITestsPlugin.getDefault().getPreferenceStore().setDefault("break-error", false);
boolean enable = XMLUITestsPlugin.getDefault().getPreferenceStore().getBoolean("break-error");
if (enable)
- return new Status(IStatus.INFO, XMLUITestsPlugin.getDefault().getBundle().getSymbolicName(), IStatus.ERROR, getClass().getName() + ": Test Error", null);
+ return new Status(IStatus.ERROR, XMLUITestsPlugin.getDefault().getBundle().getSymbolicName(), IStatus.ERROR, "Test Error!", null);
return new Status(IStatus.OK, XMLUITestsPlugin.getDefault().getBundle().getSymbolicName(), IStatus.OK, "", null);
}
diff --git a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/viewer/ViewerTestXML.java b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/viewer/ViewerTestXML.java
index 23d0914..6cd7431 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/viewer/ViewerTestXML.java
+++ b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/viewer/ViewerTestXML.java
@@ -39,6 +39,7 @@
import org.eclipse.wst.sse.core.StructuredModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
import org.eclipse.wst.xml.core.internal.provisional.contenttype.ContentTypeIdForXML;
@@ -75,12 +76,14 @@
}
}
}
+
protected class NumberInputDialog extends Dialog {
public Text length;
int lengthValue;
public Text start;
int startValue;
+
public NumberInputDialog(Shell shell) {
super(shell);
}
@@ -146,12 +149,14 @@
protected void okPressed() {
try {
startValue = Integer.decode(start.getText()).intValue();
- } catch (NumberFormatException e2) {
+ }
+ catch (NumberFormatException e2) {
startValue = 0;
}
try {
lengthValue = Integer.decode(length.getText()).intValue();
- } catch (NumberFormatException e2) {
+ }
+ catch (NumberFormatException e2) {
lengthValue = 0;
}
super.okPressed();
@@ -223,6 +228,54 @@
}
});
mgr.add(new Separator());
+ mgr.add(new Action() {
+ public String getText() {
+ return getToolTipText();
+ }
+
+ public String getToolTipText() {
+ return "Change Visibility in Editor";
+ }
+
+ public void run() {
+ super.run();
+ StructuredTextViewer sourceViewer = null;
+ IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+ if (part != null && part instanceof StructuredTextEditor) {
+ sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+ }
+ if (sourceViewer != null) {
+ NumberInputDialog dlg = new NumberInputDialog(sourceViewer.getControl().getShell());
+ int proceed = dlg.open();
+ if (proceed == Window.CANCEL)
+ return;
+ sourceViewer.resetVisibleRegion();
+ sourceViewer.setVisibleRegion(dlg.startValue, dlg.lengthValue);
+ }
+ }
+ });
+ mgr.add(new Action() {
+ public String getText() {
+ return getToolTipText();
+ }
+
+ public String getToolTipText() {
+ return "Show All in Editor";
+ }
+
+ public void run() {
+ super.run();
+ StructuredTextViewer sourceViewer = null;
+ IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+ if (part != null && part instanceof StructuredTextEditor) {
+ sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+ }
+ if (sourceViewer != null) {
+ sourceViewer.resetVisibleRegion();
+ }
+ }
+ });
+ mgr.add(new Separator());
// no longer able to set input to NULL
// mgr.add(new Action() {
// public String getText() {
@@ -337,26 +390,26 @@
setupViewerForEditor(editor);
if (fHighlightRangeListener == null)
fHighlightRangeListener = new NodeRangeSelectionListener();
-
+
fContentOutlinePage = ((IContentOutlinePage) editor.getAdapter(IContentOutlinePage.class));
if (fContentOutlinePage != null) {
fContentOutlinePage.addSelectionChangedListener(fHighlightRangeListener);
-
+
if (!fContentOutlinePage.getSelection().isEmpty() && fContentOutlinePage.getSelection() instanceof IStructuredSelection) {
fSourceViewer.resetVisibleRegion();
-
+
Object[] nodes = ((IStructuredSelection) fContentOutlinePage.getSelection()).toArray();
IndexedRegion startNode = (IndexedRegion) nodes[0];
IndexedRegion endNode = (IndexedRegion) nodes[nodes.length - 1];
-
+
if (startNode instanceof Attr)
startNode = (IndexedRegion) ((Attr) startNode).getOwnerElement();
if (endNode instanceof Attr)
endNode = (IndexedRegion) ((Attr) endNode).getOwnerElement();
-
+
int start = startNode.getStartOffset();
int end = endNode.getEndOffset();
-
+
fSourceViewer.setVisibleRegion(start, end - start);
fSourceViewer.setSelectedRange(start, 0);
}
diff --git a/tests/org.eclipse.wst.xml.validation.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xml.validation.tests/META-INF/MANIFEST.MF
index d21883c..e388a83 100644
--- a/tests/org.eclipse.wst.xml.validation.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.xml.validation.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.xml.validation.tests
-Bundle-Version: 1.0.201
+Bundle-Version: 1.0.202.qualifier
Bundle-ClassPath: validatexmltests.jar
Bundle-Activator: org.eclipse.wst.xml.validation.tests.internal.XMLValidatorTestsPlugin
Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.xml.validation.tests/src/org/eclipse/wst/xml/validation/tests/internal/XMLExamplesTest.java b/tests/org.eclipse.wst.xml.validation.tests/src/org/eclipse/wst/xml/validation/tests/internal/XMLExamplesTest.java
index 9a8146b..ef6ca86 100644
--- a/tests/org.eclipse.wst.xml.validation.tests/src/org/eclipse/wst/xml/validation/tests/internal/XMLExamplesTest.java
+++ b/tests/org.eclipse.wst.xml.validation.tests/src/org/eclipse/wst/xml/validation/tests/internal/XMLExamplesTest.java
@@ -122,6 +122,7 @@
/**
* Test /XMLExamples/j2ee/web.xml.
*/
+ /**
public void testWeb()
{
@@ -133,4 +134,5 @@
runTest(testfile, keys, numErrors, numWarnings);
}
+ */
}
diff --git a/tests/org.eclipse.wst.xml.validation.tests/test.xml b/tests/org.eclipse.wst.xml.validation.tests/test.xml
index 795fb1e..bea3313 100644
--- a/tests/org.eclipse.wst.xml.validation.tests/test.xml
+++ b/tests/org.eclipse.wst.xml.validation.tests/test.xml
@@ -1,96 +1,115 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<project
- name="testsuite"
- default="run"
- basedir=".">
+ name="testsuite"
+ default="run"
+ basedir=".">
+
+ <!-- The following properties should be passed into this script -->
+ <!-- ${eclipse-home} -->
+ <!-- ${buildDirectory} -->
+ <!-- ${buildLabel} -->
- <!-- Configurable Properties -->
+ <!-- should be little need to change what's above -->
+
+ <property
+ name="plugin-name"
+ value="org.eclipse.wst.xml.validation.tests" />
+ <property
+ name="classname"
+ value="org.eclipse.wst.xml.validation.tests.internal.AllXMLTests" />
+ <property
+ name="testType"
+ value="core-test" />
- <!-- sets the properties eclipse-home, and library-file -->
- <property
- name="plugin-name"
- value="org.eclipse.wst.xml.validation.tests" />
+ <!-- should be little need to change what's below -->
- <!-- End Configurable Properties -->
+ <echo message="basedir: ${basedir}" />
+ <echo message="eclipse-home: ${eclipse-home}" />
+ <echo message="buildDirectory: ${buildDirectory}" />
+ <echo message="plugin-name: ${plugin-name}" />
+ <echo message="classname: ${classname}" />
+ <echo message="testType ${testType}" />
- <!-- The property ${eclipse-home} should be passed into this script -->
- <!-- Set a meaningful default value for when it is not. -->
- <property
- name="eclipse-home"
- value="${basedir}\..\.." />
- <property
- name="bvtworkspace"
- value="${basedir}" />
- <property
- name="library-file"
- value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" />
- <property
- name="workspace-folder"
- value="${bvtworkspace}/${plugin-name}" />
- <!-- This target holds all initialization code that needs to be done for -->
- <!-- all tests that are to be run. Initialization for individual tests -->
- <!-- should be done within the body of the suite target. -->
- <target name="init">
- <tstamp />
- <delete>
- <fileset
- dir="${eclipse-home}"
- includes="org.eclipse.wst.xml.validation.tests.*.xml" />
- </delete>
- </target>
+ <property
+ name="library-file"
+ value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" />
+ <property
+ name="workspace"
+ value="${eclipse-home}/junitworkspaces/${plugin-name}" />
+
+ <!-- This target holds all initialization code that needs to be done for -->
+ <!-- all tests that are to be run. Initialization for individual tests -->
+ <!-- should be done within the body of the suite target. -->
+ <target name="init">
+ <tstamp />
+ <delete>
+ <fileset
+ dir="${eclipse-home}"
+ includes="${plugin-name}.*xml" />
+ </delete>
+ <!-- make directory, in case path doesn't exist yet -->
+ <mkdir dir="${workspace}" />
+ <!-- but delete to make sure fresh contents-->
+ <delete
+ dir="${workspace}"
+ quiet="true" />
- <!-- This target defines the tests that need to be run. -->
- <target name="suite">
+ </target>
- <!-- Start with clean data workspace -->
- <delete
- dir="${workspace-folder}"
- quiet="true" />
+ <!-- This target defines the tests that need to be run. -->
+ <target name="suite">
- <ant
- target="core-test"
- antfile="${library-file}"
- dir="${eclipse-home}">
- <property
- name="data-dir"
- value="${workspace-folder}" />
- <property
- name="plugin-name"
- value="${plugin-name}" />
- <property
- name="classname"
- value="org.eclipse.wst.xml.validation.tests.internal.AllXMLTests" />
- </ant>
+ <ant
+ target="${testType}"
+ antfile="${library-file}"
+ dir="${eclipse-home}">
+ <property
+ name="data-dir"
+ value="${workspace}" />
+ <property
+ name="plugin-name"
+ value="${plugin-name}" />
+ <property
+ name="classname"
+ value="${classname}" />
+ <property
+ name="plugin-path"
+ value="${eclipse-home}/plugins/${plugin-name}" />
+ </ant>
- </target>
+ <copy
+ failonerror="false"
+ file="${workspace}/.metadata/.log"
+ tofile="${buildDirectory}/${buildLabel}/testResults/consolelogs/${plugin-name}.consolelog.txt" />
- <!-- This target holds code to cleanup the testing environment after -->
- <!-- after all of the tests have been run. You can use this target to -->
- <!-- delete temporary files that have been created. -->
- <target name="cleanup">
- <delete
- dir="${workspace-folder}"
- quiet="true" />
- </target>
+ </target>
- <!-- This target runs the test suite. Any actions that need to happen -->
- <!-- after all the tests have been run should go here. -->
- <target
- name="run"
- depends="init,suite,cleanup">
- <ant
- target="collect"
- antfile="${library-file}"
- dir="${eclipse-home}">
- <property
- name="includes"
- value="org.eclipse.wst.xml.validation.tests*.xml" />
- <property
- name="output-file"
- value="${plugin-name}.xml" />
- </ant>
- </target>
+ <!-- This target holds code to cleanup the testing environment after -->
+ <!-- after all of the tests have been run. You can use this target to -->
+ <!-- delete temporary files that have been created. -->
+ <target name="cleanup">
+ <!-- usually no need to delete workspace until next run, and leaving it allows inspection -->
+ <!-- <delete dir="${workspace}" quiet="true" /> -->
+ </target>
-</project>
+ <!-- This target runs the test suite. Any actions that need to happen -->
+ <!-- after all the tests have been run should go here. -->
+ <target
+ name="run"
+ depends="init,suite,cleanup">
+ <ant
+ target="collect"
+ antfile="${library-file}"
+ dir="${eclipse-home}">
+ <property
+ name="includes"
+ value="${plugin-name}.*xml" />
+ <property
+ name="output-file"
+ value="${plugin-name}.xml" />
+ </ant>
+ </target>
+
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xsd.validation.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xsd.validation.tests/META-INF/MANIFEST.MF
index c4a6919..55c2bad 100644
--- a/tests/org.eclipse.wst.xsd.validation.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.xsd.validation.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.wst.xsd.validation.tests
-Bundle-Version: 1.0.201
+Bundle-Version: 1.0.201.qualifier
Bundle-ClassPath: validatexsdtests.jar
Bundle-Activator: org.eclipse.wst.xsd.validation.tests.internal.XSDValidationTestsPlugin
Bundle-Vendor: %Bundle-Vendor.0