Add JUnit tests to cover main parts of 275195
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/util/TestCMUtil.java b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/util/TestCMUtil.java
new file mode 100644
index 0000000..2f722d0
--- /dev/null
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/util/TestCMUtil.java
@@ -0,0 +1,97 @@
+package org.eclipse.jst.jsf.core.tests.util;
+
+import java.util.zip.ZipFile;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
+import org.eclipse.jst.jsf.core.tests.TestsPlugin;
+import org.eclipse.jst.jsf.test.util.JSFTestUtil;
+import org.eclipse.jst.jsf.test.util.WebProjectTestEnvironment;
+import org.eclipse.jst.jsp.core.internal.contentmodel.tld.CMDocumentFactoryTLD;
+import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
+import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
+import org.eclipse.jst.jsp.core.taglib.TaglibIndex;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+
+public class TestCMUtil extends TestCase {
+
+ private WebProjectTestEnvironment _webProject;
+ private IProject _project;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ JSFTestUtil.setValidationEnabled(false);
+ JSFTestUtil.setInternetProxyPreferences(true, "www-proxy.uk.oracle.com", "80");
+
+ final ZipFile zipFile = JSFTestUtil.createZipFile(TestsPlugin.getDefault().getBundle()
+ , "/testfiles/testzips/TLDTests.zip");
+
+ _webProject = new WebProjectTestEnvironment(this, JavaFacetUtils.JAVA_50, ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion("2.4"));
+ _webProject.createFromZip(zipFile, true);
+ assertNotNull(_webProject);
+
+ _project = _webProject.getTestProject();
+ assertNotNull(_project);
+ assertTrue(_project.isAccessible());
+
+ }
+
+ public void testGetURIFromDoc() {
+
+ for (ITaglibRecord tldRec : TaglibIndex.getAvailableTaglibRecords(_project.getFullPath())){
+ if (tldRec.getDescriptor().getShortName().equals("tags"))
+ assertEquals("/WEB-INF/tags", CMUtil.getURIFromTaglibRecord(tldRec, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("moreTags"))
+ assertEquals("/WEB-INF/tags/moreTags", CMUtil.getURIFromTaglibRecord(tldRec, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("mysample"))
+ assertEquals("/WEB-INF/SampleTagLib.tld", CMUtil.getURIFromTaglibRecord(tldRec, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("XXXXmysample"))
+ assertEquals("/WEB-INF/tlds/XXXXSampleTagLib.tld", CMUtil.getURIFromTaglibRecord(tldRec, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("uri-supplied"))
+ assertEquals("uri-supplied", CMUtil.getURIFromTaglibRecord(tldRec, _project));
+ }
+ }
+
+ public void testGetURIFromTaglibRecord() {
+
+ CMDocumentFactoryTLD factory = new CMDocumentFactoryTLD();
+ for (ITaglibRecord tldRec : TaglibIndex.getAvailableTaglibRecords(_project.getFullPath())){
+ TLDDocument tldDoc = (TLDDocument)factory.createCMDocument(tldRec);
+ if (tldRec.getDescriptor().getShortName().equals("tags"))
+ assertEquals("/WEB-INF/tags", CMUtil.getURIFromDoc(tldDoc, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("moreTags"))
+ assertEquals("/WEB-INF/tags/moreTags", CMUtil.getURIFromDoc(tldDoc, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("mysample"))
+ assertEquals("/WEB-INF/SampleTagLib.tld", CMUtil.getURIFromDoc(tldDoc, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("XXXXmysample"))
+ assertEquals("/WEB-INF/tlds/XXXXSampleTagLib.tld", CMUtil.getURIFromDoc(tldDoc, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("uri-supplied"))
+ assertEquals("uri-supplied", CMUtil.getURIFromDoc(tldDoc, _project));
+ }
+ }
+
+ public void testIsTagDirDocument() {
+
+ CMDocumentFactoryTLD factory = new CMDocumentFactoryTLD();
+ for (ITaglibRecord tldRec : TaglibIndex.getAvailableTaglibRecords(_project.getFullPath())){
+
+ TLDDocument tldDoc = (TLDDocument)factory.createCMDocument(tldRec);
+ if (tldRec.getDescriptor().getShortName().equals("tags"))
+ assertTrue(CMUtil.isTagDirDocument(tldDoc, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("moreTags"))
+ assertTrue(CMUtil.isTagDirDocument(tldDoc, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("mysample"))
+ assertFalse(CMUtil.isTagDirDocument(tldDoc, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("XXXXmysample"))
+ assertFalse(CMUtil.isTagDirDocument(tldDoc, _project));
+ else if (tldRec.getDescriptor().getShortName().equals("uri-supplied"))
+ assertFalse(CMUtil.isTagDirDocument(tldDoc, _project));
+ }
+ }
+}
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/util/UtilSuite.java b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/util/UtilSuite.java
index 4606013..6876e95 100644
--- a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/util/UtilSuite.java
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/util/UtilSuite.java
@@ -31,6 +31,8 @@
suite.addTestSuite(TestJDTBeanPropertyWorkingCopy.class);
suite.addTestSuite(TestJDTBeanIntrospector.class);
+ suite.addTestSuite(TestCMUtil.class);
+
//$JUnit-END$
return suite;
}
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/testzips/TLDTests.zip b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/testzips/TLDTests.zip
new file mode 100644
index 0000000..c0a0837
--- /dev/null
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/testzips/TLDTests.zip
Binary files differ