Author: scabanovich
Date: 2011-12-05 20:28:30 -0500 (Mon, 05 Dec 2011)
New Revision: 36977
Added:
trunk/jst/tests/org.jboss.tools.jst.web.test/projects/testWebProject/WebContent/WEB-INF/web.xml.loginconfigtest1
trunk/jst/tests/org.jboss.tools.jst.web.test/projects/testWebProject/WebContent/WEB-INF/web.xml.loginconfigtest2
Modified:
trunk/jst/tests/org.jboss.tools.jst.web.test/src/org/jboss/tools/jst/web/test/WebXMLValidationTest.java
Log:
JBIDE-10162
https://issues.jboss.org/browse/JBIDE-10162
Test is added for validation of paths of <login-config> in web.xml should support
url patterns mapped to servlets.
Added:
trunk/jst/tests/org.jboss.tools.jst.web.test/projects/testWebProject/WebContent/WEB-INF/web.xml.loginconfigtest1
===================================================================
---
trunk/jst/tests/org.jboss.tools.jst.web.test/projects/testWebProject/WebContent/WEB-INF/web.xml.loginconfigtest1
(rev 0)
+++
trunk/jst/tests/org.jboss.tools.jst.web.test/projects/testWebProject/WebContent/WEB-INF/web.xml.loginconfigtest1 2011-12-06
01:28:30 UTC (rev 36977)
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+ <display-name>jsf</display-name>
+<servlet>
+ <description></description>
+ <display-name>LoginServlet</display-name>
+ <servlet-name>LoginServlet</servlet-name>
+
<servlet-class>dk.jyskebank.core.jsf.login.FacesLoginServlet</servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>LoginServlet</servlet-name>
+ <url-pattern>/loginServlet</url-pattern>
+ </servlet-mapping>
+ <login-config>
+ <auth-method>FORM</auth-method>
+ <form-login-config>
+ <form-login-page>/loginServlet</form-login-page>
+ <form-error-page>/loginServlet2</form-error-page>
+ </form-login-config>
+ </login-config>
+</web-app>
Added:
trunk/jst/tests/org.jboss.tools.jst.web.test/projects/testWebProject/WebContent/WEB-INF/web.xml.loginconfigtest2
===================================================================
---
trunk/jst/tests/org.jboss.tools.jst.web.test/projects/testWebProject/WebContent/WEB-INF/web.xml.loginconfigtest2
(rev 0)
+++
trunk/jst/tests/org.jboss.tools.jst.web.test/projects/testWebProject/WebContent/WEB-INF/web.xml.loginconfigtest2 2011-12-06
01:28:30 UTC (rev 36977)
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+ <display-name>jsf</display-name>
+<servlet>
+ <description></description>
+ <display-name>LoginServlet</display-name>
+ <servlet-name>LoginServlet</servlet-name>
+
<servlet-class>dk.jyskebank.core.jsf.login.FacesLoginServlet</servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>LoginServlet</servlet-name>
+ <url-pattern>/loginServlet</url-pattern>
+ </servlet-mapping>
+ <login-config>
+ <auth-method>FORM</auth-method>
+ <form-login-config>
+ <form-login-page>/loginServlet2</form-login-page>
+ <form-error-page>/loginServlet</form-error-page>
+ </form-login-config>
+ </login-config>
+</web-app>
Modified:
trunk/jst/tests/org.jboss.tools.jst.web.test/src/org/jboss/tools/jst/web/test/WebXMLValidationTest.java
===================================================================
---
trunk/jst/tests/org.jboss.tools.jst.web.test/src/org/jboss/tools/jst/web/test/WebXMLValidationTest.java 2011-12-05
23:56:04 UTC (rev 36976)
+++
trunk/jst/tests/org.jboss.tools.jst.web.test/src/org/jboss/tools/jst/web/test/WebXMLValidationTest.java 2011-12-06
01:28:30 UTC (rev 36977)
@@ -78,6 +78,36 @@
assertTrue(markers.length == 0);
}
+ public void testPathsInLoginConfig() throws Exception {
+ String path0 = "WebContent/WEB-INF/web.xml";
+ IFile webxml = project.getFile(path0);
+ assertTrue(webxml.exists());
+
+ String path1 = "WebContent/WEB-INF/web.xml.loginconfigtest1";
+ replaceFile(project, path1, path0);
+ IMarker[] markers = webxml.findMarkers(WebXMLCoreValidator.PROBLEM_TYPE, false,
IResource.DEPTH_ZERO);
+ assertFalse(hasMarkerOnLine(markers, 18));
+ assertTrue(hasMarkerOnLine(markers, 19));
+
+ String path2 = "WebContent/WEB-INF/web.xml.loginconfigtest2";
+ replaceFile(project, path2, path0);
+ markers = webxml.findMarkers(WebXMLCoreValidator.PROBLEM_TYPE, false,
IResource.DEPTH_ZERO);
+ assertTrue(hasMarkerOnLine(markers, 18));
+ assertFalse(hasMarkerOnLine(markers, 19));
+ }
+
+ static boolean hasMarkerOnLine(IMarker[] ms, int line) {
+ System.out.println("-markers->" + ms.length);
+ for (IMarker m: ms) {
+ int l = m.getAttribute(IMarker.LINE_NUMBER, -1);
+ System.out.println("---->" + l);
+ if(line == l) {
+ return true;
+ }
+ }
+ return false;
+ }
+
public static void replaceFile(IProject project, String sourcePath, String targetPath)
throws CoreException {
boolean saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
try {
@@ -90,6 +120,7 @@
} else {
target.setContents(source.getContents(), true, false, new NullProgressMonitor());
}
+ JobUtils.waitForIdle();
TestUtil.validate(target);
} finally {
ResourcesUtils.setBuildAutomatically(saveAutoBuild);