[398698] JSP include from other project - false error
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 1069123..e110efa 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
@@ -29,6 +29,7 @@ import org.eclipse.jst.jsp.core.tests.translation.JSPJavaTranslatorCoreTest; import org.eclipse.jst.jsp.core.tests.translation.JSPJavaTranslatorCustomTagTest; import org.eclipse.jst.jsp.core.tests.translation.JSPTranslatorPersistenceTest; +import org.eclipse.jst.jsp.core.tests.util.FMCSTests; import org.eclipse.jst.jsp.core.tests.validation.JSPActionValidatorTest; import org.eclipse.jst.jsp.core.tests.validation.JSPBatchValidatorTest; import org.eclipse.jst.jsp.core.tests.validation.JSPDirectiveValidatorTest; @@ -71,6 +72,7 @@ addTest(new TestSuite(JSPJavaValidatorTest.class, "Java Validator Tests")); addTest(new TestSuite(TestImportedNodes.class, "Imported Nodes Tests")); addTest(new TestSuite(TestFixedCMDocuments.class, "Fixed CMDocument Creation Tests")); + addTest(new TestSuite(FMCSTests.class, "Facet and Module Core support Tests")); addTest(new TestSuite(TestTaglibCMTests.class, "Custom Tag Library Content Model Tests")); addTest(new TestSuite(JSPActionValidatorTest.class, "Action Validator Tests")); addTest(new TestSuite(JSPBatchValidatorTest.class, "Batch Validator Tests"));
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 c3f5573..27e2622 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
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2007 IBM Corporation and others. + * Copyright (c) 2005, 2013 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 @@ -147,9 +147,11 @@ IPath path = fullTargetPath.append(nextEntry.getName()); if (nextEntry.isDirectory()) { - IFolder folder = ResourcesPlugin.getWorkspace().getRoot().getFolder(path); - if (!folder.exists()) { - folder.create(true, true, null); + if (path.segmentCount() > 1) { + IFolder folder = ResourcesPlugin.getWorkspace().getRoot().getFolder(path); + if (!folder.exists()) { + folder.create(true, true, null); + } } } else {
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/util/FMCSTests.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/util/FMCSTests.java new file mode 100644 index 0000000..d0dbb0d --- /dev/null +++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/util/FMCSTests.java
@@ -0,0 +1,60 @@ +/******************************************************************************* + * Copyright (c) 2007, 2011 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.util; + +import java.io.IOException; + +import junit.framework.Test; +import junit.framework.TestCase; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.Path; +import org.eclipse.jst.jsp.core.internal.util.FacetModuleCoreSupport; +import org.eclipse.jst.jsp.core.tests.taglibindex.BundleResourceUtil; + +public class FMCSTests extends TestCase { + + public FMCSTests(String name) { + super(name); + } + + public FMCSTests() { + super(); + } + + public static Test suite() { + return new FMCSTests(); + } + + private IProject createProject(String name) throws CoreException { + IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(name); + if (!project.exists()) + // Create new project + project = BundleResourceUtil.createSimpleProject(name, null, null); + else if (!project.isAccessible()) + project.open(null); + return project; + } + + public void testFacetModuleAbstractionWithWebFragment() throws IOException, CoreException { + IProject bd1 = createProject("BugDemo1"); + IProject bd2 = createProject("BugDemo2"); + BundleResourceUtil.copyBundleZippedEntriesIntoWorkspace("/testfiles/jsp_include_false_error.zip", Path.ROOT); + + bd1.refreshLocal(IResource.DEPTH_INFINITE, null); + bd2.refreshLocal(IResource.DEPTH_INFINITE, null); + + assertEquals("/BugDemo2/src/META-INF/resources/referenced.jsp", "" + FacetModuleCoreSupport.resolve(new Path("BugDemo1/WebContent/index.jsp"), "referenced.jsp")); + } +}
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/jsp_include_false_error.zip b/tests/org.eclipse.jst.jsp.core.tests/testfiles/jsp_include_false_error.zip new file mode 100644 index 0000000..3431762 --- /dev/null +++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/jsp_include_false_error.zip Binary files differ