Author: dsakovich
Date: 2008-02-27 12:28:08 -0500 (Wed, 27 Feb 2008)
New Revision: 6608
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneListBox.jsp
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneMenu.jsp
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneRadio.jsp
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JBIDE1720Test.java
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/JsfAllTests.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java
Log:
Add JUnit test for
http://jira.jboss.com/jira/browse/JBIDE-1720
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneListBox.jsp
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneListBox.jsp
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneListBox.jsp 2008-02-27
17:28:08 UTC (rev 6608)
@@ -0,0 +1,29 @@
+<%@ taglib
uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib
uri="http://java.sun.com/jsf/core" prefix="f" %>
+<html>
+ <head>
+ <title></title>
+ <style type="text/css">
+ .myStyle {background: aqua;}
+ .myStyle1 {background: yellow;}
+ .myStyle2 {background: green; font-style: italic;}
+ </style>
+ </head>
+ <body>
+ <f:view>
+ <h:form>
+ <h:selectOneListbox id="sub2" value="#{user.name}"
+ disabled="true" size="3"
+ disabledClass="myStyle" enabledClass="myStyle1"
+ style="font-size: large;" styleClass="myStyle2"
+ readonly="false" >
+ <f:selectItem id="it1" itemLabel="News"
itemValue="1" />
+ <f:selectItem id="it2" itemLabel="Sports"
itemValue="2" />
+ <f:selectItem id="it3" itemLabel="Music"
itemValue="3" />
+ <f:selectItem id="it4" itemLabel="Java"
itemValue="4" />
+ <f:selectItem id="it5" itemLabel="Web"
itemValue="5" />
+ </h:selectOneListbox>
+ </h:form>
+ </f:view>
+ </body>
+</html>
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneMenu.jsp
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneMenu.jsp
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneMenu.jsp 2008-02-27
17:28:08 UTC (rev 6608)
@@ -0,0 +1,29 @@
+<%@ taglib
uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib
uri="http://java.sun.com/jsf/core" prefix="f" %>
+<html>
+ <head>
+ <title></title>
+ <style type="text/css">
+ .myStyle {background: aqua;}
+ .myStyle1 {background: yellow;}
+ .myStyle2 {background: green; font-style: italic;}
+ </style>
+ </head>
+ <body>
+ <f:view>
+ <h:form>
+ <h:selectOneMenu id="subs2" value="#{user.name}"
+ dir="rtl" disabled="false"
+ disabledClass="myStyle" enabledClass="myStyle1"
+ style="font-size: large;" styleClass="myStyle2"
+ readonly="false" >
+ <f:selectItem id="ite1" itemLabel="News"
itemValue="1" />
+ <f:selectItem id="ite2" itemLabel="Sports"
itemValue="2" />
+ <f:selectItem id="ite3" itemLabel="Music"
itemValue="3" />
+ <f:selectItem id="ite4" itemLabel="Java"
itemValue="4" />
+ <f:selectItem id="ite5" itemLabel="Web"
itemValue="5" />
+ </h:selectOneMenu>
+ </h:form>
+ </f:view>
+ </body>
+</html>
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneRadio.jsp
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneRadio.jsp
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/1720/JBIDE-1720-selectOneRadio.jsp 2008-02-27
17:28:08 UTC (rev 6608)
@@ -0,0 +1,28 @@
+<%@ taglib
uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib
uri="http://java.sun.com/jsf/core" prefix="f" %>
+<html>
+ <head>
+ <title></title>
+ <style type="text/css">
+ .myStyle {background: aqua;}
+ .myStyle1 {background: yellow;}
+ .myStyle2 {background: green; font-style: italic;}
+ </style>
+ </head>
+ <body>
+ <f:view>
+ <h:selectOneRadio id="sub1" value="#{user.selects}"
+ layout="pageDirection" border="10" dir="ltr"
+ disabled="true"
+ disabledClass="myStyle1" enabledClass="myStyle"
+ readonly="true" style="color: red; background: pink;"
styleClass="myStyle2" >
+ <f:selectItem id="item1" itemLabel="<b>News</b>"
itemValue="1"
+ escape="false" />
+ <f:selectItem id="item2" itemLabel="Sports"
itemValue="2" />
+ <f:selectItem id="item3" itemLabel="Music"
itemValue="3" />
+ <f:selectItem id="item4" itemLabel="Java"
itemValue="4" />
+ <f:selectItem id="item5" itemLabel="Web"
itemValue="5" />
+ </h:selectOneRadio>
+ </f:view>
+ </body>
+</html>
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/JsfAllTests.java
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/JsfAllTests.java 2008-02-27
17:24:48 UTC (rev 6607)
+++
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/JsfAllTests.java 2008-02-27
17:28:08 UTC (rev 6608)
@@ -21,6 +21,7 @@
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE1479Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE1484Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE1615Test;
+import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE1720Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE1744Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE675Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE788Test;
@@ -55,6 +56,8 @@
suite.addTestSuite(JBIDE1744Test.class);
suite.addTestSuite(JBIDE675Test.class);
suite.addTestSuite(JBIDE1460Test.class);
+ suite.addTestSuite(JBIDE1720Test.class);
+
// $JUnit-END$
//added by Max Areshkau
//add here projects which should be imported for junit tests
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JBIDE1720Test.java
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JBIDE1720Test.java
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JBIDE1720Test.java 2008-02-27
17:28:08 UTC (rev 6608)
@@ -0,0 +1,280 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jsf.vpe.jsf.test.jbide;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.part.FileEditorInput;
+import org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditor;
+import org.jboss.tools.vpe.editor.util.HTML;
+import org.jboss.tools.vpe.ui.test.TestUtil;
+import org.jboss.tools.vpe.ui.test.VpeTest;
+import org.mozilla.interfaces.nsIDOMDocument;
+import org.mozilla.interfaces.nsIDOMElement;
+import org.mozilla.interfaces.nsIDOMNode;
+
+/**
+ * Test JBIDE-1720
+ *
+ * @author Dzmitry Sakovich (dsakovich(a)exadel.com)
+ *
+ */
+public class JBIDE1720Test extends VpeTest {
+
+ public static final String IMPORT_PROJECT_NAME = "jsfTest";
+
+ private static final String TEST_PAGE_NAME1 =
"JBIDE/1720/JBIDE-1720-selectOneRadio.jsp";
+ private static final String TEST_PAGE_NAME2 =
"JBIDE/1720/JBIDE-1720-selectOneListBox.jsp";
+ private static final String TEST_PAGE_NAME3 =
"JBIDE/1720/JBIDE-1720-selectOneMenu.jsp";
+
+ public JBIDE1720Test(String name) {
+ super(name);
+ }
+
+ // test method for JBIDE 1720 selectOneRadio component
+ public void testJBIDE_1720_selectOneRadio() throws Throwable {
+ // wait
+ TestUtil.waitForJobs();
+ // set exception
+ setException(null);
+
+ // get test page path
+ IFile file = (IFile) TestUtil.getComponentPath(TEST_PAGE_NAME1,
+ IMPORT_PROJECT_NAME);
+
+ assertNotNull("Could not open specified file " + file.getFullPath(),
+ file);
+
+ IEditorInput input = new FileEditorInput(file);
+
+ assertNotNull("Editor input is null", input);
+ // open and get editor
+ JSPMultiPageEditor part = openEditor(input);
+
+ // get dom document
+ nsIDOMDocument document = getVpeVisualDocument(part);
+ nsIDOMElement element = document.getDocumentElement();
+
+ // check that element is not null
+ assertNotNull(element);
+
+ // get root node
+ nsIDOMNode node = (nsIDOMNode) element
+ .queryInterface(nsIDOMNode.NS_IDOMNODE_IID);
+
+ List<nsIDOMNode> elements = new ArrayList<nsIDOMNode>();
+
+ // find "input" elements
+ TestUtil.findElementsByName(node, elements, HTML.TAG_INPUT);
+
+ assertEquals(5, elements.size());
+
+ for (int i = 0; i < elements.size(); i++) {
+
+ nsIDOMElement inputElement = (nsIDOMElement) elements.get(i)
+ .queryInterface(nsIDOMElement.NS_IDOMELEMENT_IID);
+ assertNotNull(inputElement);
+ String dir = inputElement.getAttribute(HTML.ATTR_DIR);
+ assertNotNull(dir);
+ assertEquals("rtl", dir);
+
+ String disabled = inputElement.getAttribute(HTML.ATTR_DISABLED);
+ assertNotNull(disabled);
+ assertEquals("disabled", disabled);
+ }
+
+ elements.clear();
+
+ // find "label" elements
+ TestUtil.findElementsByName(node, elements, HTML.TAG_LABEL);
+
+ assertEquals(5, elements.size());
+
+ for (int i = 0; i < elements.size(); i++) {
+
+ nsIDOMElement inputElement = (nsIDOMElement) elements.get(i)
+ .queryInterface(nsIDOMElement.NS_IDOMELEMENT_IID);
+ assertNotNull(inputElement);
+ String style = inputElement.getAttribute(HTML.ATTR_CLASS);
+ assertNotNull(style);
+ assertEquals("myStyle1", style);
+
+ }
+
+ if (getException() != null) {
+ throw getException();
+ }
+ }
+
+ // test method for JBIDE 1720 selectOneMenu component
+ public void testJBIDE_1720_selectOneMenu() throws Throwable {
+ // wait
+ TestUtil.waitForJobs();
+ // set exception
+ setException(null);
+
+ // get test page path
+ IFile file = (IFile) TestUtil.getComponentPath(TEST_PAGE_NAME3,
+ IMPORT_PROJECT_NAME);
+
+ assertNotNull("Could not open specified file " + file.getFullPath(),
+ file);
+
+ IEditorInput input = new FileEditorInput(file);
+
+ assertNotNull("Editor input is null", input);
+ // open and get editor
+ JSPMultiPageEditor part = openEditor(input);
+
+ // get dom document
+ nsIDOMDocument document = getVpeVisualDocument(part);
+ nsIDOMElement element = document.getDocumentElement();
+
+ // check that element is not null
+ assertNotNull(element);
+
+ // get root node
+ nsIDOMNode node = (nsIDOMNode) element
+ .queryInterface(nsIDOMNode.NS_IDOMNODE_IID);
+
+ List<nsIDOMNode> elements = new ArrayList<nsIDOMNode>();
+
+ // find "select" elements
+ TestUtil.findElementsByName(node, elements, HTML.TAG_SELECT);
+
+ assertEquals(1, elements.size());
+
+ nsIDOMElement select = (nsIDOMElement) elements.get(0).queryInterface(
+ nsIDOMElement.NS_IDOMELEMENT_IID);
+
+ String size = select.getAttribute(HTML.ATTR_SIZE);
+ assertNotNull("Attribute size is not exist.", size);
+ assertEquals("1", size);
+
+ String styleClass = select.getAttribute(HTML.ATTR_CLASS);
+ assertNotNull("Attribute class is not exist.", styleClass);
+ assertEquals("myStyle2", styleClass);
+
+ String style = select.getAttribute(HTML.ATTR_STYLE);
+ assertNotNull("Attribute style is not exist.", style);
+ assertEquals("font-size: large;", style);
+
+ String dir = select.getAttribute(HTML.ATTR_DIR);
+ assertNotNull("Attribute dir is not exist.", dir);
+ assertEquals("rtl", dir);
+
+ elements.clear();
+
+ // find "option" elements
+ TestUtil.findElementsByName(node, elements, HTML.TAG_OPTION);
+
+ assertEquals(5, elements.size());
+
+ for (int i = 0; i < elements.size(); i++) {
+
+ nsIDOMElement inputElement = (nsIDOMElement) elements.get(i)
+ .queryInterface(nsIDOMElement.NS_IDOMELEMENT_IID);
+ assertNotNull(inputElement);
+ String attr = inputElement.getAttribute(HTML.ATTR_CLASS);
+ assertNotNull("Attribute class is not exist in option tag", attr);
+ assertEquals("myStyle1", attr);
+
+ }
+
+ if (getException() != null) {
+ throw getException();
+ }
+ }
+
+ // test method for JBIDE 1720 selectOneListBox component
+ public void testJBIDE_1720_selectOneListBox() throws Throwable {
+ // wait
+ TestUtil.waitForJobs();
+ // set exception
+ setException(null);
+
+ // get test page path
+ IFile file = (IFile) TestUtil.getComponentPath(TEST_PAGE_NAME2,
+ IMPORT_PROJECT_NAME);
+
+ assertNotNull("Could not open specified file " + file.getFullPath(),
+ file);
+
+ IEditorInput input = new FileEditorInput(file);
+
+ assertNotNull("Editor input is null", input);
+ // open and get editor
+ JSPMultiPageEditor part = openEditor(input);
+
+ // get dom document
+ nsIDOMDocument document = getVpeVisualDocument(part);
+ nsIDOMElement element = document.getDocumentElement();
+
+ // check that element is not null
+ assertNotNull(element);
+
+ // get root node
+ nsIDOMNode node = (nsIDOMNode) element
+ .queryInterface(nsIDOMNode.NS_IDOMNODE_IID);
+
+ List<nsIDOMNode> elements = new ArrayList<nsIDOMNode>();
+
+ // find "select" elements
+ TestUtil.findElementsByName(node, elements, HTML.TAG_SELECT);
+
+ assertEquals(1, elements.size());
+
+ nsIDOMElement select = (nsIDOMElement) elements.get(0).queryInterface(
+ nsIDOMElement.NS_IDOMELEMENT_IID);
+
+ String size = select.getAttribute(HTML.ATTR_SIZE);
+ assertNotNull("Attribute size is not exist.", size);
+ assertEquals("3", size);
+
+ String styleClass = select.getAttribute(HTML.ATTR_CLASS);
+ assertNotNull("Attribute class is not exist.", styleClass);
+ assertEquals("myStyle2", styleClass);
+
+ String style = select.getAttribute(HTML.ATTR_STYLE);
+ assertNotNull("Attribute style is not exist.", style);
+ assertEquals("font-size: large;", style);
+
+ String disabled = select.getAttribute(HTML.ATTR_DISABLED);
+ assertNotNull("Attribute disabled is not exist.", disabled);
+ assertEquals("disabled", disabled);
+
+ elements.clear();
+
+ // find "option" elements
+ TestUtil.findElementsByName(node, elements, HTML.TAG_OPTION);
+
+ assertEquals(5, elements.size());
+
+ for (int i = 0; i < elements.size(); i++) {
+
+ nsIDOMElement inputElement = (nsIDOMElement) elements.get(i)
+ .queryInterface(nsIDOMElement.NS_IDOMELEMENT_IID);
+ assertNotNull(inputElement);
+ String attr = inputElement.getAttribute(HTML.ATTR_CLASS);
+ assertNotNull("Attribute class is not exist in option tag", attr);
+ assertEquals("myStyle", attr);
+
+ }
+
+ if (getException() != null) {
+ throw getException();
+ }
+ }
+
+}
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java 2008-02-27
17:24:48 UTC (rev 6607)
+++
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java 2008-02-27
17:28:08 UTC (rev 6608)
@@ -73,7 +73,7 @@
public static final String ATTR_CELLPADDING = "cellpadding"; //$NON-NLS-1$
public static final String ATTR_WIDTH = "WIDTH"; //$NON-NLS-1$
public static final String ATTR_HEIGHT = "HEIGHT"; //$NON-NLS-1$
- public static final String ATTR_BORDER = "BORDER"; //$NON-NLS-1$
+ public static final String ATTR_BORDER = "border"; //$NON-NLS-1$
public static final String ATTR_FOR = "FOR";
public static final String ATTR_DIR = "dir";
public static final String ATTR_DISABLED = "disabled";