Author: mareshkau
Date: 2008-12-16 12:30:32 -0500 (Tue, 16 Dec 2008)
New Revision: 12627
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/3396/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/3396/first.jsp
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/3396/second.jsp
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JBIDE3396Test.java
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/JsfAllTests.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-3396, junit test
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/3396/first.jsp
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/3396/first.jsp
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/3396/first.jsp 2008-12-16
17:30:32 UTC (rev 12627)
@@ -0,0 +1,90 @@
+<%@ taglib
uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib
uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib
uri="http://richfaces.org/rich" prefix="rich" %>
+<f:loadBundle basename="dataTable.columns.messages"
var="msg"/>
+<html>
+ <head>
+ <title>Scrollable Data Tabel</title>
+ <link rel="stylesheet"
href="${request.contextPath}pages/scrollableDataTable/main.css"/>
+ <style type="text/css">
+
+ body{
+ font: normal 11px tahoma, sans-serif;
+ }
+
+ .column{
+ width:75px;
+ font: normal 11px tahoma, sans-serif;
+ text-align:center;
+ }
+
+ .column-index{
+ width:75px;
+ font: normal 11px tahoma, sans-serif;
+ text-align:left;
+ }
+
+ .list-row3{
+ background-color:#ececec;
+ }
+
+ .list-row1{
+ background-color:#f1f6fd;
+ }
+
+ .list-row2{
+ background-color:#fff;
+ }
+
+ .list-header{
+ font: bold 11px tahoma, sans-serif;
+ text-align:center;
+ }
+
+ .list-table1{
+ border:1px solid #bed6f8;
+ }
+
+ .list-table2{
+ border:1px solid #bed6f8;
+ }
+ </style>
+ </head>
+ <body style="#{table.style}">
+ <f:view>
+ <rich:scrollableDataTable id="table1"
value="#{bookList.bookList}"
+ var="book" width="267" height="181"
+ selectedClass="evenRow" rows="3"
+ rowClasses="evenRow, oddRow"
+ style="#{bookList.stylesForTable}">
+ <f:facet name="header">
+ <h:outputText value="#{msg.pageTitle}"/>
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="#{msg.titleColumnName}"/>
+ </f:facet>
+ <rich:column sortBy="#{book.price}" id="col2">
+ <f:facet name="header">
+ <h:outputText value="#{msg.priceColumnName}"/>
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="#{msg.priceColumnName}"/>
+ </f:facet>
+ <h:outputText value="#{requestbean}"/>
+ </rich:column>
+ <rich:column id="col3" sortBy="#{book.numOfCopies}"
visible="true">
+ <f:facet name="footer">
+ <h:outputText value="#{msg.titleColumnName}"/>
+ </f:facet>
+ <f:facet name="header">
+ <h:outputText value="#{msg.titleColumnName}"/>
+ </f:facet>
+ <h:outputText value="#{book.numOfCopies}"/>
+ </rich:column>
+ </rich:scrollableDataTable>
+ <rich:calendar style="#{bookList.stylesForTable}">
+
+ </rich:calendar>
+ </f:view>
+ </body>
+</html>
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/3396/second.jsp
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/3396/second.jsp
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsfTest/WebContent/pages/JBIDE/3396/second.jsp 2008-12-16
17:30:32 UTC (rev 12627)
@@ -0,0 +1,221 @@
+<%@ taglib
uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib
uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib
uri="http://richfaces.org/rich" prefix="rich" %>
+<%@ taglib
uri="http://richfaces.org/a4j" prefix="a4j" %>
+<f:loadBundle basename="dataFilterSlider.messages" var="msg"/>
+<html>
+ <head>
+ <title></title>
+ <link rel="stylesheet"
href="/pages/dataTableAndColumns/main.css"/>
+ <style type="text/css">
+
+ body{
+ font: normal 11px tahoma, sans-serif;
+ }
+
+ .column{
+ width:75px;
+ font: normal 11px tahoma, sans-serif;
+ text-align:center;
+ }
+
+ .column-index{
+ width:75px;
+ font: normal 11px tahoma, sans-serif;
+ text-align:left;
+ }
+
+ .list-row3{
+ background-color:#ececec;
+ }
+
+ .list-row1{
+ background-color:#f1f6fd;
+ }
+
+ .list-row2{
+ background-color:#fff;
+ }
+
+ .list-header{
+ font: bold 11px tahoma, sans-serif;
+ text-align:center;
+ }
+
+ .list-table1{
+ border:1px solid #bed6f8;
+ }
+
+ .list-table2{
+ border:1px solid #bed6f8;
+ }
+
+
+
+ </style>
+ </head>
+ <body>
+ <f:view>
+ <h:form>
+<!-- rich:columns realization -->
+ <rich:dataTable id="trust" value="#{bookList.bookList}"
var="book" border="10" bgcolor="red"
style="#{table.style}">
+ <f:facet name="header">
+ <h:outputText value="#{msg.pageTitle}"/>
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="#{msg.titleColumnName}"/>
+ </f:facet>
+ <rich:subTable value="#{bookList.bookList}" var="book">
+ <rich:column sortBy="#{book.price}" id="col2"
style="#{table.style}">
+ <f:facet name="header">
+ <h:outputText value="#{msg.priceColumnName}"/>
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="#{msg.priceColumnName}"/>
+ </f:facet>
+ <h:outputText value="#{book.price}"/>
+ </rich:column>
+ <rich:column id="col3" sortBy="#{book.numOfCopies}"
visible="true">
+ <f:facet name="footer">
+ <h:outputText value="#{msg.titleColumnName}"/>
+ </f:facet>
+ <f:facet name="header">
+ <h:outputText value="#{msg.titleColumnName}"/>
+ </f:facet>
+ <h:outputText value="#{book.numOfCopies}"/>
+ </rich:column>
+
+ </rich:subTable>
+
+ </rich:dataTable>
+<!-- end realisation -->
+ <rich:dataTable id="table1" value="#{bookList.bookList}"
var="book" style="#{bookList.stylesForTable}"
+ columnClasses="evenRow, oddRow" sortMode="multi" >
+ <f:facet name="header">
+ <h:outputText value="#{msg.pageTitle}"/>
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="#{msg.priceColumnName}"/>
+ </f:facet>
+ <rich:column sortBy="#{book.price}" id="col2">
+ <f:facet name="header">
+ <h:outputText value="#{msg.priceColumnName}"/>
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="#{msg.priceColumnName}"/>
+ </f:facet>
+ <h:outputText value="#{book.price}"/>
+ </rich:column>
+ <rich:column id="col3" sortBy="#{book.numOfCopies}"
visible="false">
+ <f:facet name="footer">
+ <h:outputText value="#{msg.titleColumnName}"/>
+ </f:facet>
+ <f:facet name="header">
+ <h:outputText value="#{msg.titleColumnName}"/>
+ </f:facet>
+ <h:outputText value="#{book.numOfCopies}"/>
+ </rich:column>
+ <rich:column sortBy="#{book.price}" id="col4">
+ <f:facet name="header">
+ <h:outputText value="#{msg.priceColumnName}"/>
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="#{msg.priceColumnName}"/>
+ </f:facet>
+ <h:outputText value="#{book.price}"/>
+ </rich:column>
+ <rich:column id="col5" sortBy="#{book.numOfCopies}"
visible="false">
+ <f:facet name="footer">
+ <h:outputText value="#{msg.titleColumnName}"/>
+ </f:facet>
+ <f:facet name="header">
+ <h:outputText value="#{msg.titleColumnName}"/>
+ </f:facet>
+ <h:outputText value="#{book.numOfCopies}"/>
+ </rich:column>
+ </rich:dataTable>
+ </h:form>
+ <h:form>
+ <rich:dataTable id="trust" value="#{bookList.bookList}"
var="col" border="10" bgcolor="red"
style="float:left;height : 146px; width : 150px;">
+ <f:facet name="header">
+ <h:outputText value="#{msg.pageTitle}"/>
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="#{msg.titleColumnName}"/>
+ </f:facet>
+
+ </rich:dataTable>
+ </h:form>
+<h:form>
+<rich:dataTable value="#{bookList.bookList}" var="cap"
rows="5" footerClass="evenRow" headerClass="oddRow"
style="#{table.style}">
+ <f:facet name="header">
+ <rich:columnGroup styleClass="btn">
+ <rich:column rowspan="2">
+ <h:outputText value="State Flag"/>
+ </rich:column>
+ <rich:column colspan="3">
+ <h:outputText value="State Info"/>
+ </rich:column>
+ <rich:column breakBefore="true">
+ <h:outputText value="State Name"/>
+ </rich:column>
+ <rich:column>
+ <h:outputText value="State Capital"/>
+ </rich:column>
+ <rich:column>
+ <h:outputText value="Time Zone"/>
+ </rich:column>
+ </rich:columnGroup>
+ </f:facet>
+ <f:facet name="footer"><h:outputText value="This is footer
part" /> </f:facet>
+ <rich:column colspan="4">
+ <f:facet name="header">
+ <h:outputText value="Flags"/>
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="Countries"/>
+ </f:facet>
+ <h:outputText value="Begin" />
+ </rich:column>
+ <rich:columnGroup style="" columnClasses="">
+ <rich:column>
+ <f:facet name="footer"><h:outputText value="Unvisible
footer" /> </f:facet>
+ <f:facet name="header"><h:outputText value="Unvisible
header" /> </f:facet>
+ <h:outputText value="#{cap.name}"/>
+ </rich:column>
+ <rich:column>
+ <h:outputText value="#{cap.price}"/>
+ </rich:column>
+ <rich:column>
+ <h:outputText value="#{cap.numOfCopies}"/>
+ </rich:column>
+ <rich:column>
+ <h:outputText value="#{cap.numOfCopies}"/>
+ </rich:column>
+ </rich:columnGroup>
+</rich:dataTable>
+</h:form>
+
+<h:form>
+ <h:dataTable border="2" columnClasses="evenRow, oddRow"
value="#{bookList.bookList}" var="book">
+
+ <h:column footerClass="oddRow" headerClass="btn">
+ <f:facet name="header"><h:outputText value="Header"/>
</f:facet>
+ <f:facet name="footer"><h:outputText value="Footer"/>
</f:facet>
+ <h:outputText value="#{book.name}"/>
+ </h:column>
+ <h:column>
+ <h:outputText value="#{book.price}"/>
+ </h:column>
+ <h:column>
+ <h:outputText value="#{book.numOfCopies}" />
+ </h:column>
+ </h:dataTable>
+ <rich:calendar
buttonIcon="/pages/dataTableAndColumns/images/img12.gif"></rich:calendar>
+</h:form>
+ </f:view>
+ <div>
+ ${bookList.message}
+ </div>
+ </body>
+</html>
\ No newline at end of file
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-12-16
17:10:29 UTC (rev 12626)
+++
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/JsfAllTests.java 2008-12-16
17:30:32 UTC (rev 12627)
@@ -45,6 +45,7 @@
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE3144Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE3163Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE3376Test;
+import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE3396Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE675Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE788Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JBIDE924Test;
@@ -115,6 +116,7 @@
suite.addTestSuite(JBIDE2354Test.class);
suite.addTestSuite(JBIDE3163Test.class);
suite.addTestSuite(JBIDE3376Test.class);
+ suite.addTestSuite(JBIDE3396Test.class);
// $JUnit-END$
// added by Max Areshkau
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JBIDE3396Test.java
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JBIDE3396Test.java
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/JBIDE3396Test.java 2008-12-16
17:30:32 UTC (rev 12627)
@@ -0,0 +1,101 @@
+/*******************************************************************************
+ * 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 org.eclipse.core.resources.IFile;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.part.FileEditorInput;
+import org.jboss.tools.common.el.core.ELReferenceList;
+import org.jboss.tools.common.resref.core.ResourceReference;
+import org.jboss.tools.jsf.vpe.jsf.test.JsfAllTests;
+import org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditor;
+import org.jboss.tools.vpe.editor.VpeController;
+import org.jboss.tools.vpe.ui.test.TestUtil;
+import org.jboss.tools.vpe.ui.test.VpeTest;
+
+/**
+ * @author Max Areshkau
+ *
+ */
+public class JBIDE3396Test extends VpeTest{
+
+ private IFile firstPage;
+ private IFile secondPage;
+ private ResourceReference[] firstElValues;
+ private ResourceReference[] secondElValues;
+
+ public JBIDE3396Test(final String name) {
+ super(name);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ setException(null);
+ this.firstPage = (IFile) TestUtil.getComponentPath("JBIDE/3396/first.jsp",
//$NON-NLS-1$
+ JsfAllTests.IMPORT_PROJECT_NAME);
+ this.secondPage = (IFile) TestUtil.getComponentPath("JBIDE/3396/second.jsp",
//$NON-NLS-1$
+ JsfAllTests.IMPORT_PROJECT_NAME);
+
+ this.firstElValues = new ResourceReference[1];
+ this.firstElValues[0] = new
ResourceReference("table.style",ResourceReference.PROJECT_SCOPE); //$NON-NLS-1$
+ this.firstElValues[0].setProperties("color:red;"); //$NON-NLS-1$
+
+ this.secondElValues = new ResourceReference[1];
+ this.secondElValues[0] = new ResourceReference("book.style",
ResourceReference.PROJECT_SCOPE); //$NON-NLS-1$
+ this.secondElValues[0].setProperties("color:green;"); //$NON-NLS-1$
+
+
+// ELReferenceList.getInstance().setAllResources(this.file,entries);
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.vpe.ui.test.VpeTest#tearDown()
+ */
+ @Override
+ protected void tearDown() throws Exception {
+ ELReferenceList.getInstance().setAllResources(this.firstPage, new
ResourceReference[0]);
+ ELReferenceList.getInstance().setAllResources(this.secondPage, new
ResourceReference[0]);
+ if(getException()!=null) {
+ throw new Exception(getException());
+ }
+ super.tearDown();
+ }
+
+ public void testJBIDE3396() throws Exception{
+ //open first page and set resources
+ final IEditorInput firstInput = new FileEditorInput(this.firstPage);
+ final JSPMultiPageEditor firstEditorPart = openEditor(firstInput);
+ //wait while editor will be initialized
+ TestUtil.getVpeController(firstEditorPart);
+ ELReferenceList.getInstance().setAllResources(this.firstPage, this.firstElValues);
+ //wait for visual refresh
+ TestUtil.delay(1000);
+ TestUtil.waitForJobs();
+ //open second page and
+ final IEditorInput secondInput = new FileEditorInput(this.secondPage);
+ final JSPMultiPageEditor secondEditorPart = openEditor(secondInput);
+ final VpeController secondPageVpeController =
TestUtil.getVpeController(secondEditorPart);
+ final int size = secondPageVpeController.getDomMapping().getVisualMap().size();
+ TestUtil.delay(5000);
+ ELReferenceList.getInstance().setAllResources(this.secondPage, this.secondElValues);
+ //wait for visual refresh
+ TestUtil.delay(5000);
+ final ResourceReference[] elResoReferences =
ELReferenceList.getInstance().getAllResources(this.secondPage);
+ for (final ResourceReference resourceReference : elResoReferences) {
+ resourceReference.setProperties(resourceReference.getProperties()+'T');
+ }
+ ELReferenceList.getInstance().setAllResources(this.secondPage, elResoReferences);
+ TestUtil.waitForJobs();
+ assertEquals("Size of map before and after appling should be equal",size,
secondPageVpeController.getDomMapping().getVisualMap().size()); //$NON-NLS-1$
+ }
+
+}