Author: scabanovich
Date: 2011-06-02 12:34:11 -0400 (Thu, 02 Jun 2011)
New Revision: 31772
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.classpath
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.project
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.settings/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.settings/org.eclipse.jdt.core.prefs
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/JavaSource/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/BuilderOrderValidationTest.java
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/META-INF/MANIFEST.MF
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java
Log:
JBIDE-9028
https://issues.jboss.org/browse/JBIDE-9028
Modified: trunk/cdi/tests/org.jboss.tools.cdi.core.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/META-INF/MANIFEST.MF 2011-06-02 12:50:22
UTC (rev 31771)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/META-INF/MANIFEST.MF 2011-06-02 16:34:11
UTC (rev 31772)
@@ -17,6 +17,7 @@
org.jboss.tools.common.model.ui,
org.eclipse.ltk.core.refactoring,
org.jboss.tools.jst.web.kb,
+ org.jboss.tools.jst.jsp.test,
org.jboss.tools.cdi.xml,
org.eclipse.jst.standard.schemas
Export-Package: org.jboss.tools.cdi.core.test,
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.classpath
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.classpath
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.classpath 2011-06-02
16:34:11 UTC (rev 31772)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="JavaSource"/>
+ <classpathentry kind="con"
path="org.eclipse.jst.j2ee.internal.web.container"/>
+ <classpathentry kind="con"
path="org.eclipse.jst.j2ee.internal.module.container"/>
+ <classpathentry kind="con"
path="org.eclipse.jst.server.core.container/org.jboss.ide.eclipse.as.core.server.runtime.runtimeTarget/JBoss
4.2 Runtime">
+ <attributes>
+ <attribute name="owner.project.facets" value="jst.web"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER">
+ <attributes>
+ <attribute name="owner.project.facets" value="jst.java"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output"
path="WebContent/WEB-INF/classes"/>
+</classpath>
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.classpath
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.project
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.project
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.project 2011-06-02
16:34:11 UTC (rev 31772)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>CDITestBrokenBuilderOrder</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.jst.web.kb.kbbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.cdi.core.cdibuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.jboss.tools.jst.web.kb.kbnature</nature>
+ <nature>org.jboss.tools.cdi.core.cdinature</nature>
+ </natures>
+</projectDescription>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.settings/org.eclipse.jdt.core.prefs 2011-06-02
16:34:11 UTC (rev 31772)
@@ -0,0 +1,7 @@
+#Thu Jun 04 11:17:46 MSD 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/CDITestBrokenBuilderOrder/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java 2011-06-02
12:50:22 UTC (rev 31771)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java 2011-06-02
16:34:11 UTC (rev 31772)
@@ -44,11 +44,13 @@
import org.jboss.tools.cdi.core.test.tck.StereotypeInheritenceTest;
import org.jboss.tools.cdi.core.test.tck.validation.AnnotationsValidationTest;
import org.jboss.tools.cdi.core.test.tck.validation.BeansXmlValidationTest;
+import org.jboss.tools.cdi.core.test.tck.validation.BuilderOrderValidationTest;
import org.jboss.tools.cdi.core.test.tck.validation.CoreValidationTest;
import org.jboss.tools.cdi.core.test.tck.validation.DefenitionErrorsValidationTest;
import org.jboss.tools.cdi.core.test.tck.validation.DependentProjectValidationTest;
import org.jboss.tools.cdi.core.test.tck.validation.DeploymentProblemsValidationTests;
import org.jboss.tools.cdi.core.test.tck.validation.ELValidationTest;
+import org.jboss.tools.test.util.ProjectImportTestSetup;
/**
* @author Alexey Kazakov
@@ -107,7 +109,16 @@
suiteAll.addTestSuite(EnableCDISupportForJarTest.class);
suiteAll.addTestSuite(DependentProjectValidationTest.class);
suiteAll.addTest(new CDICoreTestSetup(suite));
+
+ suite = new TestSuite(BuilderOrderValidationTest.class.getName());
+ suite.addTestSuite(BuilderOrderValidationTest.class);
+ ProjectImportTestSetup testSetup = new ProjectImportTestSetup(suite,
+ "org.jboss.tools.cdi.core.test",
+ new String[]{"projects/CDITestBrokenBuilderOrder"},
+ new String[]{"CDITestBrokenBuilderOrder"});
+ suiteAll.addTest(testSetup);
return suiteAll;
}
+
}
\ No newline at end of file
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/BuilderOrderValidationTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/BuilderOrderValidationTest.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/BuilderOrderValidationTest.java 2011-06-02
16:34:11 UTC (rev 31772)
@@ -0,0 +1,124 @@
+/*************************************************************************************
+ * Copyright (c) 2011 JBoss by Red Hat 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:
+ * JBoss by Red Hat - Initial implementation.
+ ************************************************************************************/
+package org.jboss.tools.cdi.core.test.tck.validation;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.internal.preferences.EclipsePreferences;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.ui.IMarkerResolution;
+import org.eclipse.ui.ide.IDE;
+import org.jboss.tools.cdi.core.preferences.CDIPreferences;
+import org.jboss.tools.common.preferences.SeverityPreferences;
+import org.jboss.tools.jst.jsp.test.TestUtil;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager;
+import org.jboss.tools.jst.web.kb.preferences.ELSeverityPreferences;
+import org.jboss.tools.test.util.JobUtils;
+import org.jboss.tools.test.util.ResourcesUtils;
+
+public class BuilderOrderValidationTest extends TestCase {
+
+ IProject project = null;
+ boolean saveAutoBuild;
+
+ public void setUp() throws Exception {
+ project =
ResourcesPlugin.getWorkspace().getRoot().getProject("CDITestBrokenBuilderOrder");
+ assertNotNull("Can't load CDITestBrokenBuilderOrder", project);
//$NON-NLS-1$
+ saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
+ rebuild();
+ }
+
+ public void tearDown() throws CoreException {
+ ResourcesUtils.setBuildAutomatically(saveAutoBuild);
+ }
+
+ private void checkResolution(IProject project, String markerType, String
resolutionClassName) throws CoreException {
+ try{
+ IMarker[] markers = getBuilderOrderMarkers();
+ assertTrue(markers.length > 0);
+ for (int i = 0; i < markers.length; i++) {
+ IMarker marker = markers[i];
+ IMarkerResolution[] resolutions =
IDE.getMarkerHelpRegistry().getResolutions(marker);
+ for (int j = 0; j < resolutions.length; j++) {
+ IMarkerResolution resolution = resolutions[j];
+ if (resolution.getClass().getName().equals(resolutionClassName)) {
+ ValidatorManager.setStatus(ValidatorManager.RUNNING);
+ resolution.run(marker);
+ JobUtils.waitForIdle();
+ TestUtil.waitForValidation(project);
+ IMarker[] newMarkers = project.findMarkers(markerType, true,
IResource.DEPTH_INFINITE);
+ assertTrue("Marker resolution did not decrease number of problems. was:
"+markers.length+" now: "+newMarkers.length, newMarkers.length <
markers.length);
+ return;
+ }
+ fail("Marker resolution: "+resolutionClassName+" not found");
+ }
+ }
+ } finally {
+ JobUtils.waitForIdle();
+// TestUtil.waitForValidation(project);
+ }
+ }
+
+ private IMarker[] getBuilderOrderMarkers() throws CoreException {
+ return project.findMarkers(ValidatorManager.ORDER_PROBLEM_MARKER_TYPE, true,
IResource.DEPTH_ZERO);
+ }
+
+ public void testWrongBuildOrderPreference() throws CoreException {
+ IMarker[] markers = getBuilderOrderMarkers();
+ assertEquals(2, markers.length);
+ assertEquals(IMarker.SEVERITY_ERROR, markers[0].getAttribute(IMarker.SEVERITY, -1));
+
+ modifyPreference(SeverityPreferences.IGNORE);
+ markers = getBuilderOrderMarkers();
+ assertEquals(0, markers.length);
+
+ modifyPreference(SeverityPreferences.WARNING);
+ markers = getBuilderOrderMarkers();
+ assertEquals(2, markers.length);
+ assertEquals(IMarker.SEVERITY_WARNING, markers[0].getAttribute(IMarker.SEVERITY, -1));
+
+ modifyPreference(SeverityPreferences.ERROR);
+ markers = getBuilderOrderMarkers();
+ assertEquals(2, markers.length);
+ assertEquals(IMarker.SEVERITY_ERROR, markers[0].getAttribute(IMarker.SEVERITY, -1));
+ }
+
+ void modifyPreference(String value) throws CoreException {
+ EclipsePreferences ps =
(EclipsePreferences)CDIPreferences.getInstance().getProjectPreferences(project);
+ ps.put(ELSeverityPreferences.WRONG_BUILDER_ORDER_PREFERENCE_NAME, value);
+ ps =
(EclipsePreferences)ELSeverityPreferences.getInstance().getProjectPreferences(project);
+ ps.put(ELSeverityPreferences.WRONG_BUILDER_ORDER_PREFERENCE_NAME, value);
+ rebuild();
+ }
+
+ void rebuild() throws CoreException {
+ ValidatorManager.setStatus(ValidatorManager.RUNNING);
+ JobUtils.waitForIdle();
+ project.build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
+ JobUtils.waitForIdle();
+ project.build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor());
+ JobUtils.waitForIdle();
+ TestUtil.waitForValidation(project);
+ }
+
+ public void testBuilderOrderResolution() throws CoreException {
+ checkResolution(project,
+ ValidatorManager.ORDER_PROBLEM_MARKER_TYPE,
+ "org.jboss.tools.jst.web.kb.internal.validation.BuilderOrderResolution");
+ }
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/BuilderOrderValidationTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain