JBoss Rich Faces SVN: r8812 - in trunk/framework: impl/src/main/java/org/ajax4jsf/application and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2008-05-28 14:25:43 -0400 (Wed, 28 May 2008)
New Revision: 8812
Modified:
trunk/framework/api/src/main/java/org/ajax4jsf/application/StateHolder.java
trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateHolder.java
trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java
trunk/framework/impl/src/main/java/org/ajax4jsf/util/LRUMap.java
Log:
change state saving behavior to meet a JSF 1.2 spec
Modified: trunk/framework/api/src/main/java/org/ajax4jsf/application/StateHolder.java
===================================================================
--- trunk/framework/api/src/main/java/org/ajax4jsf/application/StateHolder.java 2008-05-28 17:47:30 UTC (rev 8811)
+++ trunk/framework/api/src/main/java/org/ajax4jsf/application/StateHolder.java 2008-05-28 18:25:43 UTC (rev 8812)
@@ -2,8 +2,8 @@
public interface StateHolder {
- public Object getState(String viewId, String sequence);
+ public Object[] getState(String viewId, String sequence);
- public void saveState(String viewId, String sequence, Object state);
+ public void saveState(String viewId, String sequence, Object state[]);
}
\ No newline at end of file
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateHolder.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateHolder.java 2008-05-28 17:47:30 UTC (rev 8811)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateHolder.java 2008-05-28 18:25:43 UTC (rev 8812)
@@ -27,12 +27,12 @@
private static final long serialVersionUID = 6414488517358423537L;
private static final String STATE_HOLDER = AjaxStateHolder.class.getName();
- private final LRUMap<String,LRUMap<String, Object>> views;
+ private final LRUMap<String,LRUMap<String, Object[]>> views;
private final int numberOfViews;
private AjaxStateHolder(int capacity, int numberOfViews) {
- views = new LRUMap<String,LRUMap<String, Object>>(capacity);
+ views = new LRUMap<String,LRUMap<String, Object[]>>(capacity);
this.numberOfViews = numberOfViews;
}
@@ -75,23 +75,23 @@
/* (non-Javadoc)
* @see org.ajax4jsf.application.StateHolder#getState(java.lang.String, java.lang.Object)
*/
- public Object getState(String viewId, String sequence) {
+ public Object[] getState(String viewId, String sequence) {
if (null == viewId) {
throw new NullPointerException(
"viewId parameter for get saved view state is null");
}
- Object state = null;
+ Object state[] = null;
synchronized (views) {
- LRUMap<String,Object> viewVersions = views.get(viewId);
+ LRUMap<String,Object[]> viewVersions = views.get(viewId);
if (null != viewVersions) {
if (null != sequence) {
state = viewVersions.get(sequence);
}
if (null == state) {
if (_log.isDebugEnabled()) {
- _log.debug("No saved view state for sequence "+sequence+", use most recent");
+ _log.debug("No saved view state for sequence "+sequence);
}
- state = viewVersions.getMostRecent();
+// state = viewVersions.getMostRecent();
}
} else if (_log.isDebugEnabled()) {
_log.debug("No saved view states for viewId "+viewId);
@@ -103,7 +103,7 @@
/* (non-Javadoc)
* @see org.ajax4jsf.application.StateHolder#saveState(java.lang.String, java.lang.Object, java.lang.Object)
*/
- public void saveState(String viewId, String sequence, Object state) {
+ public void saveState(String viewId, String sequence, Object[] state) {
if (null == viewId) {
throw new NullPointerException(
"viewId parameter for save view state is null");
@@ -117,10 +117,10 @@
_log.debug("Save new viewState in session for viewId "+viewId+" and sequence "+sequence);
}
synchronized (views) {
- LRUMap<String,Object> viewVersions = views.get(viewId);
+ LRUMap<String,Object[]> viewVersions = views.get(viewId);
if (null == viewVersions) {
// TODO - make size parameter configurable
- viewVersions = new LRUMap<String,Object>(this.numberOfViews);
+ viewVersions = new LRUMap<String,Object[]>(this.numberOfViews);
views.put(viewId, viewVersions);
}
viewVersions.put(sequence, state);
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java 2008-05-28 17:47:30 UTC (rev 8811)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java 2008-05-28 18:25:43 UTC (rev 8812)
@@ -245,7 +245,7 @@
String viewId, String renderKitId) {
String id = restoreLogicalViewId(context, viewId, renderKitId);
StateHolder stateHolder = getStateHolder(context);
- Object[] restoredState = (Object[]) stateHolder.getState(viewId, id);
+ Object[] restoredState = stateHolder.getState(viewId, id);
return restoredState;
}
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/util/LRUMap.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/util/LRUMap.java 2008-05-28 17:47:30 UTC (rev 8811)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/util/LRUMap.java 2008-05-28 18:25:43 UTC (rev 8812)
@@ -40,9 +40,9 @@
* Get most recent used element
* @return the most Recent value
*/
- public Object getMostRecent() {
+ public V getMostRecent() {
Iterator<V> iterator = values().iterator();
- Object mostRecent=null;
+ V mostRecent=null;
while (iterator.hasNext()) {
mostRecent = iterator.next();
16 years, 7 months
JBoss Rich Faces SVN: r8811 - in trunk/test-applications/seleniumTest/src/test/java/org/richfaces: testng and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: dsvyatobatsko
Date: 2008-05-28 13:47:30 -0400 (Wed, 28 May 2008)
New Revision: 8811
Modified:
trunk/test-applications/seleniumTest/src/test/java/org/richfaces/SeleniumTestBase.java
trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/ComboBoxTest.java
Log:
Modified: trunk/test-applications/seleniumTest/src/test/java/org/richfaces/SeleniumTestBase.java
===================================================================
--- trunk/test-applications/seleniumTest/src/test/java/org/richfaces/SeleniumTestBase.java 2008-05-28 17:18:32 UTC (rev 8810)
+++ trunk/test-applications/seleniumTest/src/test/java/org/richfaces/SeleniumTestBase.java 2008-05-28 17:47:30 UTC (rev 8811)
@@ -24,6 +24,7 @@
import org.ajax4jsf.javascript.ScriptUtils;
import org.testng.Assert;
+import com.sun.org.apache.xpath.internal.operations.Bool;
import com.thoughtworks.selenium.DefaultSelenium;
/**
@@ -36,17 +37,17 @@
/** Specifies the time to wait for page rendering */
private static final Integer pageRenderTime = 5000;
-
+
/** Specifies the time to wait for ajax processing */
protected static final int ajaxCompletionTime = 3000;
-
+
protected static final String serverPort = "8085";
-
+
private static final String WINDOW_JS_RESOLVER = "selenium.browserbot.getCurrentWindow().";
-
+
/** Parent component id */
private String parentId;
-
+
/** The default selenium instance */
public DefaultSelenium selenium;
@@ -61,13 +62,13 @@
/** Defines the name of current j2ee application name */
public static final String APPLICATION_NAME = "seleniumTest";
-
-
+
public static final String DATA_TABLE_TEMPLATE = "dataTable";
+
public static final String MODAL_PANEL_TEMPLATE = "modalPanel";
+
public static final String SIMPLE_TEMPLATE = "simple";
-
-
+
public SeleniumTestBase(String protocol, String host, String port) {
this.host = host;
this.port = port;
@@ -87,8 +88,8 @@
* This method are invoking before selenium tests started
*/
protected void startSelenium(String browser) {
- selenium = createSeleniumClient(protocol + "://" + host + ":" + port + "/", browser);
- selenium.start();
+ selenium = createSeleniumClient(protocol + "://" + host + ":" + port + "/", browser);
+ selenium.start();
}
/**
@@ -97,30 +98,29 @@
protected void renderPage(String homePage) {
selenium.open(protocol + "://" + host + ":" + port + "/" + APPLICATION_NAME + homePage);
selenium.waitForPageToLoad(String.valueOf(pageRenderTime));
-
checkPageRendering(); // At the first we check if page has been
- // rendered
+ // rendered
checkJSError(); // At the second we check if JS errors occurred
- //reRenderForm(); // ReRender component
+ // reRenderForm(); // ReRender component
- //checkPageRendering(); // Check all again
- //checkJSError();
+ // checkPageRendering(); // Check all again
+ // checkJSError();
}
-
+
/**
* Renders page
*/
protected void renderPage(String homePage, Templates template) {
selenium.open(protocol + "://" + host + ":" + port + "/" + APPLICATION_NAME + homePage);
selenium.waitForPageToLoad(String.valueOf(pageRenderTime));
-
+
template.loadTemplate(this);
checkPageRendering(); // At the first we check if page has been
- // rendered
+ // rendered
checkJSError(); // At the second we check if JS errors occurred
reRenderForm(); // ReRender component
@@ -131,18 +131,18 @@
}
/**
- * Writes status message on client side
+ * Writes status message on client side
+ *
* @param message
*/
- public void writeStatus(String message) {
- message = message.replace("'", "\\'");
- StringBuffer buffer = new StringBuffer("writeStatus('");
- buffer.append(message);
- buffer.append("')");
- runScript(buffer.toString());
+ public void writeStatus(String message) {
+ message = message.replace("'", "\\'");
+ StringBuffer buffer = new StringBuffer("writeStatus('");
+ buffer.append(message);
+ buffer.append("')");
+ runScript(buffer.toString());
}
-
/**
* ReRenders the component
*/
@@ -151,87 +151,89 @@
// clickById("_Selenium_Test_ReRender_Form:_reRender");
waitForAjaxCompletion(3000);
}
-
-
+
/**
* Performs script defined in parameter
+ *
* @param script
* @return
*/
public String runScript(String script) {
- String result = selenium.getEval(WINDOW_JS_RESOLVER + script);
- checkJSError();
- return result;
+ String result = selenium.getEval(WINDOW_JS_RESOLVER + script);
+ checkJSError();
+ return result;
}
-
+
/**
* Performs script defined in parameter
+ *
* @param script
* @return
*/
public String runScript(String script, boolean checkEerror) {
- String result = selenium.getEval(WINDOW_JS_RESOLVER + script);
- if (checkEerror) {
- checkJSError();
- }
- return result;
+ String result = selenium.getEval(WINDOW_JS_RESOLVER + script);
+ if (checkEerror) {
+ checkJSError();
+ }
+ return result;
}
/**
* This method are invoking after selenium tests completed
*/
- protected void stopSelenium() {
+ protected void stopSelenium() {
selenium.stop();
selenium = null;
}
- /**
- * Checks if JS error occurred. Fails test if yes. This method should be
- * invoked after each event or any thing which can be a cause of JS error.
- */
- public void checkJSError() {
- String error = selenium.getEval(WINDOW_JS_RESOLVER + "checkError();");
- if (error != null && !("null".equals(error)) && !("".equals(error))) {
- Assert.fail("Failure by the following Javascript error: " + error);
- }
- }
+ /**
+ * Checks if JS error occurred. Fails test if yes. This method should be
+ * invoked after each event or any thing which can be a cause of JS error.
+ */
+ public void checkJSError() {
+ String error = selenium.getEval(WINDOW_JS_RESOLVER + "checkError();");
+ if (error != null && !("null".equals(error)) && !("".equals(error))) {
+ Assert.fail("Failure by the following Javascript error: " + error);
+ }
+ }
- /**
- * Checks if page containing component test has been rendered completely
- */
- public void checkPageRendering() {
- try {
- String t1 = getTextById("_Selenium_Test_ControlPoint1");
- String t2 = getTextById("_Selenium_Test_ControlPoint2");
- if (t1 == null || t2 == null || !"Control1".equals(t1) || !"Control2".equals(t2)) {
- Assert.fail("The page has been not rendered properlly");
- }
- }catch (Exception e) {
- Assert.fail("The page has not been rendered properly due the following error: " + e);
- }
- }
- /**
- * Waits while AJAX request will be completed
- *
- * @param miliseconds -
- * time to wait
- */
- public void waitForAjaxCompletion(int miliseconds) {
- selenium.waitForCondition(WINDOW_JS_RESOLVER + "done==true", String.valueOf(miliseconds));
- runScript("window.done=false");
- }
-
- /**
- * Waits while AJAX request will be completed
- *
- * @param miliseconds -
- * time to wait
- */
- public void waitForAjaxCompletion() {
- waitForAjaxCompletion(ajaxCompletionTime);
- }
-
/**
+ * Checks if page containing component test has been rendered completely
+ */
+ public void checkPageRendering() {
+ try {
+ String t1 = getTextById("_Selenium_Test_ControlPoint1");
+ String t2 = getTextById("_Selenium_Test_ControlPoint2");
+ if (t1 == null || t2 == null || !"Control1".equals(t1) || !"Control2".equals(t2)) {
+ Assert.fail("The page has been not rendered properlly");
+ }
+ } catch (Exception e) {
+ Assert.fail("The page has not been rendered properly due the following error: " + e);
+ }
+ }
+
+ /**
+ * Waits while AJAX request will be completed
+ *
+ * @param miliseconds -
+ * time to wait
+ */
+ public void waitForAjaxCompletion(int miliseconds) {
+ selenium.waitForCondition(WINDOW_JS_RESOLVER + "done==true", String.valueOf(miliseconds));
+ runScript("window.done=false");
+ }
+
+ /**
+ * Waits while AJAX request will be completed
+ *
+ * @param miliseconds -
+ * time to wait
+ */
+ public void waitForAjaxCompletion() {
+ waitForAjaxCompletion(ajaxCompletionTime);
+ }
+
+ /**
* Waits while simple request will be completed
*
* @param miliseconds -
@@ -240,23 +242,24 @@
public void waitForPageToLoad(int miliseconds) {
selenium.waitForPageToLoad(String.valueOf(miliseconds));
}
-
+
/**
* Waits for condition
+ *
* @param condition
* @param miliseconds
*/
public void waiteForCondition(String condition, int miliseconds) {
- selenium.waitForCondition(WINDOW_JS_RESOLVER + condition, String.valueOf(miliseconds));
- checkJSError();
+ selenium.waitForCondition(WINDOW_JS_RESOLVER + condition, String.valueOf(miliseconds));
+ checkJSError();
}
-
+
/**
* Waits while simple request will be completed
*
*/
public void waitForPageToLoad() {
- selenium.waitForPageToLoad(String.valueOf(pageRenderTime));
+ selenium.waitForPageToLoad(String.valueOf(pageRenderTime));
}
/**
@@ -313,7 +316,7 @@
/**
* Asserts DOM node is visible
- *
+ *
* @param id -
* DOM element id
*/
@@ -323,7 +326,7 @@
/**
* Asserts DOM node is not present
- *
+ *
* @param id -
* DOM element id
*/
@@ -333,7 +336,7 @@
/**
* Asserts DOM node is not visible
- *
+ *
* @param id -
* DOM element id
*/
@@ -372,21 +375,25 @@
* a new DOM element's value
*/
public void setValueById(String id, String value) {
- runScript(String.format("document.getElementById('%1$s').value=%2$s;", id, value));
+ runScript(String.format("document.getElementById('%1$s').value='%2$s';", id, value));
}
/**
* Returns element's width
- * @param id - DOM element id
+ *
+ * @param id -
+ * DOM element id
* @return
*/
public Number getWidthById(String id) {
- return selenium.getElementWidth("id=" + id);
+ return selenium.getElementWidth("id=" + id);
}
/**
* Returns element's height
- * @param id - DOM element id
+ *
+ * @param id -
+ * DOM element id
* @return
*/
public Number getHeightById(String id) {
@@ -404,19 +411,23 @@
selenium.click("id=" + id);
checkJSError();
}
-
+
/**
- * This method should be used for click on command controls instead of 'clickById' method.
+ * This method should be used for click on command controls instead of
+ * 'clickById' method.
+ *
* @param commandId
*/
public void clickCommandAndWait(String commandId) {
- selenium.click("id=" + commandId);
- waitForPageToLoad();
+ selenium.click("id=" + commandId);
+ waitForPageToLoad();
}
/**
* Return true if element is visible
- * @param id - DOM element id
+ *
+ * @param id -
+ * DOM element id
* @return
*/
public boolean isVisibleById(String id) {
@@ -425,7 +436,9 @@
/**
* Returns true if element with given id is present.
- * @param id - DOM element id
+ *
+ * @param id -
+ * DOM element id
* @return true if element with given id is present, otherwise - false
*/
public boolean isPresentById(String id) {
@@ -434,65 +447,101 @@
/**
* Invokes JS method on client.
- * @param id - DOM id of component
- * @param method - string method name
- * @param parameters - parameters
+ *
+ * @param id -
+ * DOM id of component
+ * @param method -
+ * string method name
+ * @param parameters -
+ * parameters
* @return
*/
public String invokeFromComponent(String id, String method, Object parameters) {
- String _return = null;
- StringBuffer buffer = new StringBuffer();
- buffer.append("$('");
- buffer.append(id);
- buffer.append("').component.");
- buffer.append(method);
- buffer.append("(");
- buffer.append(ScriptUtils.toScript(parameters));
- buffer.append(");");
- _return = runScript(buffer.toString());
- return _return;
+ String _return = null;
+ StringBuffer buffer = new StringBuffer();
+ buffer.append("$('");
+ buffer.append(id);
+ buffer.append("').component.");
+ buffer.append(method);
+ buffer.append("(");
+ buffer.append(ScriptUtils.toScript(parameters));
+ buffer.append(");");
+ _return = runScript(buffer.toString());
+ return _return;
}
-
/**
- * Creates delay
+ * Creates delay
+ *
* @param miliSeconds
* @throws InterruptedException
*/
public void delay(int miliSeconds) {
- try {
- Thread.sleep(miliSeconds);
- } catch (Exception e) {
-
- }
- }
-
+ try {
+ Thread.sleep(miliSeconds);
+ } catch (Exception e) {
+
+ }
+ }
+
/**
- * Creates pause for defined time in miliSeconds
+ * Creates pause for defined time in miliSeconds
+ *
* @param miliSeconds
*/
public void pause(int miliSeconds, String id) {
- StringBuffer script = new StringBuffer("pause(");
- script.append(miliSeconds);
- script.append(",'");
- script.append(id);
- script.append("');");
- runScript(script.toString());
- selenium.waitForCondition(WINDOW_JS_RESOLVER + "pauseHolder['" + id + "'] == true;", String.valueOf(miliSeconds + 1000));
+ StringBuffer script = new StringBuffer("pause(");
+ script.append(miliSeconds);
+ script.append(",'");
+ script.append(id);
+ script.append("');");
+ runScript(script.toString());
+ selenium.waitForCondition(WINDOW_JS_RESOLVER + "pauseHolder['" + id + "'] == true;", String
+ .valueOf(miliSeconds + 1000));
}
- /**
- * @return the parentId
- */
- public String getParentId() {
- return parentId;
- }
+ /**
+ * @return the parentId
+ */
+ public String getParentId() {
+ return parentId;
+ }
- /**
- * @param parentId the parentId to set
- */
- public void setParentId(String parentId) {
- this.parentId = parentId;
- }
-
+ /**
+ * @param parentId
+ * the parentId to set
+ */
+ public void setParentId(String parentId) {
+ this.parentId = parentId;
+ }
+
+ /**
+ * Workaround for selenium.type/selenium.typeKeys
+ * @param locator
+ * @param string
+ */
+ public void type(String locator, String string) {
+ selenium.type(locator, "");
+ StringBuffer value = new StringBuffer(selenium.getValue(locator));
+ char[] chars = string.toCharArray();
+ for (int i = 0; i < chars.length; i++) {
+ String key = Character.toString(chars[i]);
+ value.append(key);
+
+ selenium.keyDown(locator, key);
+
+ if(!isFF()) {
+ selenium.type(locator, value.toString());
+ }
+
+ selenium.keyPress(locator, key);
+ selenium.keyUp(locator, key);
+
+ }
+ }
+
+ public boolean isFF() {
+ return new Boolean(selenium.getEval("navigator.userAgent.indexOf('Firefox') > -1"));
+ }
+
}
Modified: trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/ComboBoxTest.java
===================================================================
--- trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/ComboBoxTest.java 2008-05-28 17:18:32 UTC (rev 8810)
+++ trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/ComboBoxTest.java 2008-05-28 17:47:30 UTC (rev 8811)
@@ -35,8 +35,8 @@
@Test
public void testComboBoxComponent() throws Exception {
_testComboBoxComponent(Templates.SIMPLE);
- _testComboBoxComponent(Templates.DATATABLE);
- _testComboBoxComponent(Templates.MODALPANEL);
+// _testComboBoxComponent(Templates.DATATABLE);
+// _testComboBoxComponent(Templates.MODALPANEL);
}
private void _testComboBoxComponent(Templates template) {
@@ -59,15 +59,14 @@
clickById(predefinedCBId);
writeStatus("type \"Hunt\"");
- selenium.type(predefinedCBId + "comboboxField", "Hunt");
- selenium.typeKeys(predefinedCBId + "comboboxField", "Hunt");
+ type(predefinedCBId + "comboboxField", "Hunt");
Assert.assertTrue(isVisibleById(predefinedCBId + "list"), "Component's pop-up must show up on key typing");
clickById(predefinedCBId + "list");
Assert.assertFalse(isVisibleById(predefinedCBId + "list"), "Component's pop-up has to be closed");
- Assert.assertEquals(getValue(predefinedCBId), "Hunter");
+ AssertValueEquals(predefinedCBId + "comboboxValue", "Hunter");
writeStatus("check a combobox with dynamic suggestions list");
@@ -77,37 +76,31 @@
writeStatus("type \"O\"");
- selenium.type(selectItemsCBId + "comboboxField", "O");
- selenium.typeKeys(selectItemsCBId + "comboboxField", "O");
+// selenium.type(selectItemsCBId + "comboboxField", "O");
+// selenium.typeKeys(selectItemsCBId + "comboboxField", "O");
+ type(selectItemsCBId + "comboboxField", "O");
+
Assert.assertTrue(isVisibleById(selectItemsCBId + "list"), "Component's pop-up must show up on key typing");
- Assert.assertEquals(getValue(selectItemsCBId), "Oak");
+ AssertValueEquals(selectItemsCBId + "comboboxValue", "Oak");
writeStatus("check a combobox with a simple String list as suggestions list");
clickById(suggestionValuesCBId);
writeStatus("type \"Ma\"");
- selenium.type(suggestionValuesCBId + "comboboxField", "Ma");
- selenium.typeKeys(suggestionValuesCBId + "comboboxField", "Ma");
+// selenium.type(suggestionValuesCBId + "comboboxField", "Ma");
+// selenium.typeKeys(suggestionValuesCBId + "comboboxField", "Ma");
+ type(suggestionValuesCBId + "comboboxField", "Ma");
Assert.assertTrue(isVisibleById(suggestionValuesCBId + "list"), "Component's pop-up must show up on key typing");
clickById(suggestionValuesCBId + "list");
Assert.assertFalse(isVisibleById(suggestionValuesCBId + "list"), "Component's pop-up has to be closed");
- Assert.assertEquals(getValue(suggestionValuesCBId), "Maple");
+ AssertValueEquals(suggestionValuesCBId + "comboboxValue", "Maple");
}
- /**
- * Gets component value.
- * @param clientId
- * @return
- */
- private String getValue(String clientId) {
- return runScript("$('" + clientId + "comboboxValue').value;");
- }
-
public String getTestUrl() {
return "/faces/pages/comboBox/comboBoxTest.xhtml";
}
16 years, 7 months
JBoss Rich Faces SVN: r8810 - trunk/framework/impl/src/main/java/org/ajax4jsf/application.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2008-05-28 13:18:32 -0400 (Wed, 28 May 2008)
New Revision: 8810
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java
Log:
http://jira.jboss.com/jira/browse/RF-3576 was fixed
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java 2008-05-28 16:39:58 UTC (rev 8809)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java 2008-05-28 17:18:32 UTC (rev 8810)
@@ -30,7 +30,6 @@
import javax.faces.FactoryFinder;
import javax.faces.application.StateManager;
-import javax.faces.component.UIComponent;
import javax.faces.component.UIComponentBase;
import javax.faces.component.UIViewRoot;
import javax.faces.context.ExternalContext;
@@ -40,7 +39,6 @@
import javax.faces.render.ResponseStateManager;
import org.ajax4jsf.context.AjaxContext;
-import org.ajax4jsf.event.AjaxPhaseListener;
import org.ajax4jsf.model.KeepAlive;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -316,7 +314,8 @@
// Save all objects form request map wich marked by @KeepAlive annotations
for (Entry<String, Object> requestEntry : requestMap.entrySet()) {
Object bean = requestEntry.getValue();
- if (bean.getClass().isAnnotationPresent(KeepAlive.class)) {
+ // check value for a NULL - http://jira.jboss.com/jira/browse/RF-3576
+ if (null != bean && bean.getClass().isAnnotationPresent(KeepAlive.class)) {
keepAliveBeans.put(requestEntry.getKey(), bean);
}
}
16 years, 7 months
JBoss Rich Faces SVN: r8809 - in trunk/test-applications/seleniumTest/src: test/java/org/richfaces/testng and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: sergeyhalipov
Date: 2008-05-28 12:39:58 -0400 (Wed, 28 May 2008)
New Revision: 8809
Modified:
trunk/test-applications/seleniumTest/src/main/webapp/WEB-INF/faces-config.xml
trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/OrderingListTest.java
trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/PanelBarTest.java
trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/SimpleTogglePanelTest.java
Log:
Selenium: some small changes.
Modified: trunk/test-applications/seleniumTest/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- trunk/test-applications/seleniumTest/src/main/webapp/WEB-INF/faces-config.xml 2008-05-28 15:44:42 UTC (rev 8808)
+++ trunk/test-applications/seleniumTest/src/main/webapp/WEB-INF/faces-config.xml 2008-05-28 16:39:58 UTC (rev 8809)
@@ -107,7 +107,7 @@
<managed-bean>
<managed-bean-name>orderingListBean</managed-bean-name>
<managed-bean-class>org.ajax4jsf.bean.OrderingListTestBean</managed-bean-class>
- <managed-bean-scope>session</managed-bean-scope>
+ <managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>dataTableBean</managed-bean-name>
Modified: trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/OrderingListTest.java
===================================================================
--- trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/OrderingListTest.java 2008-05-28 15:44:42 UTC (rev 8808)
+++ trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/OrderingListTest.java 2008-05-28 16:39:58 UTC (rev 8809)
@@ -120,8 +120,6 @@
clickById(firstButton);
checkButtons(true, true, false, false);
Assert.assertEquals(selenium.getElementIndex("id=" + firstRow), 0);
-
- cleanSelection();
}
private void _testActions() {
@@ -148,8 +146,6 @@
AssertTextEquals(selectionText, "item0");
AssertTextEquals(activeItemText, "Item [item0]");
checkButtons(true, true, false, false);
-
- cleanSelection();
}
private void _testJSFunctions() {
@@ -171,23 +167,8 @@
writeStatus("Check if 'onbottomclick' event works");
clickById(lastButton);
Assert.assertEquals(selenium.getEval("window.status"), "bottom orderchanged");
-
- cleanSelection();
}
- private void cleanSelection() {
- writeStatus("Unselect element");
- clickById(firstRow);
- selenium.controlKeyDown();
- clickById(firstRow);
- selenium.controlKeyUp();
- checkButtons(true, true, true, true);
-
- writeStatus("Submit empty selection to save it into server bean");
- clickById(ajax);
- waitForAjaxCompletion();
- }
-
private void checkButtons(boolean firstDisabled, boolean upDisabled, boolean downDisabled, boolean lastDisabled) {
if (firstDisabled) {
Assert.assertTrue(isVisibleById(firstButtonDisabled));
Modified: trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/PanelBarTest.java
===================================================================
--- trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/PanelBarTest.java 2008-05-28 15:44:42 UTC (rev 8808)
+++ trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/PanelBarTest.java 2008-05-28 16:39:58 UTC (rev 8809)
@@ -76,21 +76,25 @@
String ajaxButton = parentId + "button_ajax";
String simpleButton = parentId + "button_simple";
+ writeStatus("Click on label two. It should be opened.");
clickById(label2);
Assert.assertFalse(isVisibleById(output1));
Assert.assertTrue(isVisibleById(output2));
Assert.assertFalse(isVisibleById(output3));
+ writeStatus("Click on simple commandButton. Opened states should not change after page reloaded.");
clickCommandAndWait(simpleButton);
Assert.assertFalse(isVisibleById(output1));
Assert.assertTrue(isVisibleById(output2));
Assert.assertFalse(isVisibleById(output3));
+ writeStatus("Click on label three. It should be opened.");
clickById(label3);
Assert.assertFalse(isVisibleById(output1));
Assert.assertFalse(isVisibleById(output2));
Assert.assertTrue(isVisibleById(output3));
+ writeStatus("Click on ajax commandButton. Opened states should not change.");
clickById(ajaxButton);
waitForAjaxCompletion();
Assert.assertFalse(isVisibleById(output1));
Modified: trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/SimpleTogglePanelTest.java
===================================================================
--- trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/SimpleTogglePanelTest.java 2008-05-28 15:44:42 UTC (rev 8808)
+++ trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/SimpleTogglePanelTest.java 2008-05-28 16:39:58 UTC (rev 8809)
@@ -74,28 +74,34 @@
String serverBody = parentId + "panel2_body";
String clientBody = parentId + "panel3_body";
+ writeStatus("Click on client simple toggle panel. It should be opened.");
clickById(clientHeader);
Assert.assertTrue(isVisibleById(clientBody));
+ writeStatus("Click on client simple toggle panel again. It should be closed.");
clickById(clientHeader);
Assert.assertFalse(isVisibleById(clientBody));
+ writeStatus("Click on ajax simple toggle panel. It should be opened.");
clickById(ajaxHeader);
- waitForAjaxCompletion(5000);
+ waitForAjaxCompletion();
AssertValueEquals(inputId, "panel1");
AssertTextEquals(outputId, "1");
Assert.assertTrue(isVisibleById(ajaxBody));
+ writeStatus("Click on ajax simple toggle panel again. It should be closed.");
clickById(ajaxHeader);
- waitForAjaxCompletion(5000);
+ waitForAjaxCompletion();
AssertValueEquals(inputId, "panel1");
AssertTextEquals(outputId, "2");
Assert.assertFalse(isVisibleById(ajaxBody));
+ writeStatus("Click on server simple toggle panel. It should be opened.");
clickCommandAndWait(serverHeader);
AssertValueEquals(inputId, "panel2");
AssertTextEquals(outputId, "3");
Assert.assertTrue(isVisibleById(serverBody));
+ writeStatus("Click on server simple toggle panel. It should be closed.");
clickCommandAndWait(serverHeader);
AssertValueEquals(inputId, "panel2");
AssertTextEquals(outputId, "4");
16 years, 7 months
JBoss Rich Faces SVN: r8808 - trunk/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: atsebro
Date: 2008-05-28 11:44:42 -0400 (Wed, 28 May 2008)
New Revision: 8808
Modified:
trunk/docs/userguide/en/src/main/docbook/included/toolTip.desc.xml
Log:
RF-3550--<rich:toolTip> component "Details of usage" section rewriting
Modified: trunk/docs/userguide/en/src/main/docbook/included/toolTip.desc.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/toolTip.desc.xml 2008-05-28 15:40:50 UTC (rev 8807)
+++ trunk/docs/userguide/en/src/main/docbook/included/toolTip.desc.xml 2008-05-28 15:44:42 UTC (rev 8808)
@@ -7,7 +7,8 @@
</sectioninfo>
<section>
<title>Description</title>
- <para>The component used for creation non-modal popup that activated on some event and display some information.
+ <para>The <emphasis role="bold"><property><rich:toolTip></property><emphasis> component is used
+ for creation of event-triggered popup, that contains information regarding the page element, that event was applied.
</para>
<figure>
<title><emphasis role="bold"><property><rich:toolTip></property></emphasis> component</title>
16 years, 7 months
JBoss Rich Faces SVN: r8807 - trunk/docs/userguide/en/src/main/docbook/modules.
by richfaces-svn-commits@lists.jboss.org
Author: msorokin
Date: 2008-05-28 11:40:50 -0400 (Wed, 28 May 2008)
New Revision: 8807
Modified:
trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml
Log:
http://jira.jboss.com/jira/browse/RF-2408
Some new info added
Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2008-05-28 14:43:44 UTC (rev 8806)
+++ trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2008-05-28 15:40:50 UTC (rev 8807)
@@ -1615,12 +1615,12 @@
<para>
- Standard controls skinning feature provides 2 levels of skinning, while skinning is based on detecting User Agent. If User Agent is not detected, Advanced level is used.
+ Standard controls skinning feature provides 2 levels of skinning - standard and extended, while skinning is based on detecting browser user agent. If user agent is not detected, Advanced level is used.
</para>
<itemizedlist>
<listitem>
<para>
- <emphasis><property>Basic</property></emphasis> provides customization only basic style properties.
+ <emphasis><property>Standard</property></emphasis> provides customization only basic style properties.
</para>
<para>
To the following browsers Basic level of skinning is applied:
@@ -1636,7 +1636,7 @@
<listitem>
<para>
- <emphasis><property>Advanced</property></emphasis> extends basic level introducing broader
+ <emphasis><property>Extended</property></emphasis> extends basic level introducing broader
number of style properties and is applied to browsers with rich visual styling capability of controls
</para>
<para>
@@ -1728,14 +1728,54 @@
<title>Note:</title>
<para>
a elements have classes based on "link" and pseudo class name, e.g.: rich-link, rich-link-hover, rich-link-visited
+
+
+
</para>
</note>
</listitem>
</itemizedlist>
+
+
+ <para>Additionally, the predefined rich CSS classes that we provide can be used not only as classes for basic HTML
+ elements but also as classes for creation of complex elements .</para>
+ <para>There is a snippet with some of them for example:</para>
+
+
+ <programlisting role="XML"><![CDATA[...
+<u:selector name=".rich-box-bgcolor-header">
+ <u:style name="background-color" skin="headerBackgroundColor" />
+</u:selector>
+<u:selector name=".rich-box-bgcolor-general">
+ <u:style name="background-color" skin="generalBackgroundColor" />
+</u:selector>
+...
+
+//gradient elements
+...
+<u:selector name=".rich-gradient-menu">
+ <u:style name="background-image">
+ <f:resource f:key="org.richfaces.renderkit.html.gradientimages.MenuGradientImage"/>
+ </u:style>
+ <u:style name="background-repeat" value="repeat-x" />
+</u:selector>
+
+<u:selector name=".rich-gradient-tab">
+ <u:style name="background-image">
+ <f:resource f:key="org.richfaces.renderkit.html.gradientimages.TabGradientImage"/>
+ </u:style>
+ <u:style name="background-repeat" value="repeat-x" />
+</u:selector>
+...]]></programlisting>
+
+
+ <para>To get a better idea of standard component skinning we recommend to explore CSS files located in ui/core/src/main/resources/org/richfaces/ folder
+ of RichFaces svn</para>
+
- <section id="BasicLevel">
+ <section id="Standard">
<?dbhtml filename="BasicLevel.html"?>
- <title>Basic level</title>
+ <title>Standard level</title>
<table>
<title>Html Elements Skin Bindings for input, select, textarea, button, keygen, isindex, legend</title>
@@ -2009,7 +2049,7 @@
<section id="AdvancedLevel">
<?dbhtml filename="AdvancedLevel.html"?>
- <title>Advanced level</title>
+ <title>Extended level</title>
<table>
@@ -2243,9 +2283,10 @@
</table>
+ </section>
+
+
</section>
-
-</section>
<section id="XCSSfileformat">
<title>XCSS file format</title>
16 years, 7 months
JBoss Rich Faces SVN: r8806 - in trunk/test-applications/jsp/src/main: webapp/Skinning and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: ayanul
Date: 2008-05-28 10:43:44 -0400 (Wed, 28 May 2008)
New Revision: 8806
Modified:
trunk/test-applications/jsp/src/main/java/skinning/Skinning.java
trunk/test-applications/jsp/src/main/webapp/Skinning/Skinning.jsp
Log:
Modified: trunk/test-applications/jsp/src/main/java/skinning/Skinning.java
===================================================================
--- trunk/test-applications/jsp/src/main/java/skinning/Skinning.java 2008-05-28 14:33:12 UTC (rev 8805)
+++ trunk/test-applications/jsp/src/main/java/skinning/Skinning.java 2008-05-28 14:43:44 UTC (rev 8806)
@@ -1,47 +1,38 @@
package skinning;
+import java.util.ArrayList;
+import java.util.EnumMap;
+
+import javax.faces.model.SelectItem;
+
public class Skinning {
- private String selectSkinning;
- private String skinning;
- private String skinningClass;
- private String commandButton;
- private String commandLink;
- private String dataTable;
- private String inputSecret;
- private String inputText;
- private String inputTextarea;
- private String outputLink;
- private String outputText;
- private String panelGrid;
- private String selectBooleanCheckbox;
- private String selectManyCheckbox;
- private String selectManyListBox;
- private String selectManyMenu;
- private String selectOneListbox;
- private String selectOneMenu;
- private String selectOneRadio;
+ private ArrayList<SelectItem> list = new ArrayList<SelectItem>();
+ private ArrayList<SelectItem> enableStyle = new ArrayList<SelectItem>();
+ private ArrayList<SelectItem> disabledStyle = new ArrayList<SelectItem>();
+ private final int MAX_SIZE = 3;
+ private String selectSkinning = "none";
+ private String skinning = "disable";
+ private String skinningClass = "disable";
+ private String commandButton = "rich-button";
+ private String commandLink = "rich-link";
+ private String dataTable = "rich-isindex";
+ private String inputSecret = "rich-button";
+ private String inputText = "rich-input";
+ private String inputTextarea = "rich-textarea";
+ private String outputLink = "rich-link";
+ private String outputText = "rich-link";
+ private String selectBooleanCheckbox = "rich-select";
+ private String selectManyCheckbox = "rich-select";
+ private String selectManyListBox = "rich-select";
+ private String selectManyMenu = "rich-select";
+ private String selectOneListbox = "rich-select";
+ private String selectOneMenu = "rich-select";
+ private String selectOneRadio = "rich-select";
public Skinning() {
- commandButton = "rich-button";
- commandLink = "rich-link";
- dataTable = "rich-isindex";
- inputSecret = "rich-button";
- inputText = "rich-input";
- inputTextarea = "rich-textarea";
- commandLink = "rich-link";
- outputLink = "rich-link";
- outputText = "rich-legend";
- panelGrid = "rich-fieldset";
- selectBooleanCheckbox = "rich-select";
- selectManyCheckbox = "rich-select";
- selectManyListBox = "rich-select";
- selectManyMenu = "rich-select";
- selectOneListbox = "rich-select";
- selectOneMenu = "rich-select";
- selectOneRadio = "rich-select";
- skinning = "disable";
- skinningClass = "disable";
- selectSkinning = "none";
+ for(int i = 0; i < MAX_SIZE; i++){
+ list.add(new SelectItem("item " + i));
+ }
}
public String getCommandButton() {
@@ -108,14 +99,6 @@
this.outputText = outputText;
}
- public String getPanelGrid() {
- return panelGrid;
- }
-
- public void setPanelGrid(String panelGrid) {
- this.panelGrid = panelGrid;
- }
-
public String getSelectBooleanCheckbox() {
return selectBooleanCheckbox;
}
@@ -208,4 +191,18 @@
}
this.selectSkinning = selectSkinning;
}
+
+ /**
+ * @return the list
+ */
+ public ArrayList<SelectItem> getList() {
+ return list;
+ }
+
+ /**
+ * @param list the list to set
+ */
+ public void setList(ArrayList<SelectItem> list) {
+ this.list = list;
+ }
}
Modified: trunk/test-applications/jsp/src/main/webapp/Skinning/Skinning.jsp
===================================================================
--- trunk/test-applications/jsp/src/main/webapp/Skinning/Skinning.jsp 2008-05-28 14:33:12 UTC (rev 8805)
+++ trunk/test-applications/jsp/src/main/webapp/Skinning/Skinning.jsp 2008-05-28 14:43:44 UTC (rev 8806)
@@ -4,118 +4,108 @@
<%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="richfaces"%>
<f:subview id="skinningSubviewID">
- <h:panelGrid columns="2" border="2" >
- <h:outputText value="styleClass"></h:outputText>
- <h:outputText value="components"></h:outputText>
+ <h:panelGrid columns="4">
+ <h:outputText value="componrnts"></h:outputText>
+ <h:outputText value="styleClass components"></h:outputText>
+ <h:outputText value="enable components"></h:outputText>
+ <h:outputText value="disabled components"></h:outputText>
- <h:panelGroup>
- <h:outputText value="commandButton "></h:outputText>
- <h:inputText value="#{skinning.commandButton}" onchange="submit();"></h:inputText>
- </h:panelGroup>
+ <h:outputText value="commandButton "></h:outputText>
+ <h:inputText value="#{skinning.commandButton}" onchange="submit();"></h:inputText>
<h:commandButton value="commandButton"
styleClass="#{skinning.commandButton}"></h:commandButton>
+ <h:commandButton value="commandButton" disabled="true"
+ styleClass="#{skinning.commandButton}"></h:commandButton>
- <h:panelGroup>
- <h:outputText value="commandLink "></h:outputText>
- <h:inputText value="#{skinning.commandLink}" onchange="submit();"></h:inputText>
- </h:panelGroup>
+ <h:outputText value="commandLink "></h:outputText>
+ <h:inputText value="#{skinning.commandLink}" onchange="submit();"></h:inputText>
<h:commandLink value="commandLink"
styleClass="#{skinning.commandLink}"></h:commandLink>
+ <h:commandLink value="commandLink" disabled="true"
+ styleClass="#{skinning.commandLink}"></h:commandLink>
- <h:panelGroup>
- <h:outputText value="inputSecret "></h:outputText>
- <h:inputText value="#{skinning.inputSecret}" onchange="submit();"></h:inputText>
- </h:panelGroup>
+ <h:outputText value="inputSecret "></h:outputText>
+ <h:inputText value="#{skinning.inputSecret}" onchange="submit();"></h:inputText>
<h:inputSecret value="secret" styleClass="#{skinning.inputSecret}"></h:inputSecret>
+ <h:inputSecret value="secret" styleClass="#{skinning.inputSecret}" disabled="true"></h:inputSecret>
- <h:panelGroup>
- <h:outputText value="inputText "></h:outputText>
- <h:inputText value="#{skinning.inputText}" onchange="submit();"></h:inputText>
- </h:panelGroup>
+ <h:outputText value="inputText "></h:outputText>
+ <h:inputText value="#{skinning.inputText}" onchange="submit();"></h:inputText>
<h:inputText value="inputText" styleClass="#{skinning.inputText}"></h:inputText>
+ <h:inputText value="inputText" styleClass="#{skinning.inputText}" disabled="true"></h:inputText>
- <h:panelGroup>
- <h:outputText value="inputTextarea "></h:outputText>
- <h:inputText value="#{skinning.inputTextarea}" onchange="submit();"></h:inputText>
- </h:panelGroup>
- <h:inputTextarea rows="4" cols="5" value="inputTextarea"
+ <h:outputText value="inputTextarea "></h:outputText>
+ <h:inputText value="#{skinning.inputTextarea}" onchange="submit();"></h:inputText>
+ <h:inputTextarea rows="5" cols="4" value="inputTextarea" readonly="true"
styleClass="#{skinning.inputTextarea}"></h:inputTextarea>
+ <h:inputTextarea rows="4" cols="5" value="inputTextarea" disabled="true"
+ styleClass="#{skinning.inputTextarea}"></h:inputTextarea>
- <h:panelGroup>
- <h:outputText value="outputLink "></h:outputText>
- <h:inputText value="#{skinning.outputLink}" onchange="submit();"></h:inputText>
- </h:panelGroup>
+ <h:outputText value="outputLink "></h:outputText>
+ <h:inputText value="#{skinning.outputLink}" onchange="submit();"></h:inputText>
<h:outputLink styleClass="#{skinning.outputLink}"></h:outputLink>
+ <h:outputLink styleClass="#{skinning.outputLink}" disabled="true"></h:outputLink>
+ <h:outputText value="selectBooleanCheckbox "></h:outputText>
+ <h:inputText value="#{skinning.selectBooleanCheckbox}"
+ onchange="submit();"></h:inputText>
<h:panelGroup>
- <h:outputText value="outputText "></h:outputText>
- <h:inputText value="#{skinning.outputText}" onchange="submit();"></h:inputText>
- </h:panelGroup>
- <h:outputText value="outputText" styleClass="#{skinning.outputText}"></h:outputText>
-
- <h:panelGroup>
- <h:outputText value="panelGrid "></h:outputText>
- <h:inputText value="#{skinning.outputText}" onchange="submit();"></h:inputText>
- </h:panelGroup>
- <h:panelGrid columns="1" styleClass="#{skinning.outputText}">
- <h:panelGroup>
- <h:outputText value="panelGrid"></h:outputText>
- </h:panelGroup>
- </h:panelGrid>
-
- <h:panelGroup>
- <h:outputText value="selectBooleanCheckbox "></h:outputText>
- <h:inputText value="#{skinning.selectBooleanCheckbox}"
- onchange="submit();"></h:inputText>
- </h:panelGroup>
- <h:panelGroup>
<h:selectBooleanCheckbox value="true"
styleClass="#{skinning.selectBooleanCheckbox}"></h:selectBooleanCheckbox>
<h:selectBooleanCheckbox value="false"
styleClass="#{skinning.selectBooleanCheckbox}"></h:selectBooleanCheckbox>
</h:panelGroup>
-
<h:panelGroup>
- <h:outputText value="selectManyCheckbox "></h:outputText>
- <h:inputText value="#{skinning.selectManyCheckbox}"
- onchange="submit();"></h:inputText>
+ <h:selectBooleanCheckbox value="true"
+ styleClass="#{skinning.selectBooleanCheckbox}" disabled="true"></h:selectBooleanCheckbox>
+ <h:selectBooleanCheckbox value="false"
+ styleClass="#{skinning.selectBooleanCheckbox}" disabled="true"></h:selectBooleanCheckbox>
</h:panelGroup>
+
+ <h:outputText value="selectManyCheckbox "></h:outputText>
+ <h:inputText value="#{skinning.selectManyCheckbox}"
+ onchange="submit();"></h:inputText>
<h:selectManyCheckbox styleClass="#{skinning.selectManyCheckbox}">
- <f:selectItems value="#{combobox.selectItem}" />
+ <f:selectItems value="#{skinning.list}" />
</h:selectManyCheckbox>
+ <h:selectManyCheckbox styleClass="#{skinning.selectManyCheckbox}" disabled="true">
+ <f:selectItems value="#{skinning.list}" />
+ </h:selectManyCheckbox>
- <h:panelGroup>
- <h:outputText value="selectManyMenu "></h:outputText>
- <h:inputText value="#{skinning.selectManyMenu}" onchange="submit();"></h:inputText>
- </h:panelGroup>
+ <h:outputText value="selectManyMenu "></h:outputText>
+ <h:inputText value="#{skinning.selectManyMenu}" onchange="submit();"></h:inputText>
+ <h:selectManyMenu styleClass="#{skinning.selectManyMenu}" disabled="true">
+ <f:selectItems value="#{skinning.list}" />
+ </h:selectManyMenu>
<h:selectManyMenu styleClass="#{skinning.selectManyMenu}">
- <f:selectItems value="#{combobox.selectItem}" />
+ <f:selectItems value="#{skinning.list}" />
</h:selectManyMenu>
- <h:panelGroup>
- <h:outputText value="selectOneListbox "></h:outputText>
- <h:inputText value="#{skinning.selectOneListbox}"
- onchange="submit();"></h:inputText>
- </h:panelGroup>
+ <h:outputText value="selectOneListbox "></h:outputText>
+ <h:inputText value="#{skinning.selectOneListbox}" onchange="submit();"></h:inputText>
<h:selectOneListbox styleClass="#{skinning.selectOneListbox}">
- <f:selectItems value="#{combobox.selectItem}" />
+ <f:selectItems value="#{skinning.list}" />
</h:selectOneListbox>
+ <h:selectOneListbox styleClass="#{skinning.selectOneListbox}" disabled="true">
+ <f:selectItems value="#{skinning.list}" />
+ </h:selectOneListbox>
- <h:panelGroup>
- <h:outputText value="selectOneMenu "></h:outputText>
- <h:inputText value="#{skinning.selectOneMenu}" onchange="submit();"></h:inputText>
- </h:panelGroup>
+ <h:outputText value="selectOneMenu "></h:outputText>
+ <h:inputText value="#{skinning.selectOneMenu}" onchange="submit();"></h:inputText>
<h:selectOneMenu styleClass="#{skinning.selectOneMenu}">
- <f:selectItems value="#{combobox.selectItem}" />
+ <f:selectItems value="#{skinning.list}" />
</h:selectOneMenu>
+ <h:selectOneMenu styleClass="#{skinning.selectOneMenu}" disabled="true">
+ <f:selectItems value="#{skinning.list}" />
+ </h:selectOneMenu>
- <h:panelGroup>
- <h:outputText value="selectOneRadio"></h:outputText>
- <h:inputText value="#{skinning.selectOneRadio}" onchange="submit();"></h:inputText>
- </h:panelGroup>
+ <h:outputText value="selectOneRadio"></h:outputText>
+ <h:inputText value="#{skinning.selectOneRadio}" onchange="submit();"></h:inputText>
<h:selectOneRadio styleClass="#{skinning.selectOneRadio}">
- <f:selectItems value="#{combobox.selectItem}" />
+ <f:selectItems value="#{skinning.list}" />
</h:selectOneRadio>
-
+ <h:selectOneRadio styleClass="#{skinning.selectOneRadio}" disabled="true">
+ <f:selectItems value="#{skinning.list}" />
+ </h:selectOneRadio>
</h:panelGrid>
</f:subview>
\ No newline at end of file
16 years, 7 months
JBoss Rich Faces SVN: r8805 - trunk/test-applications/seleniumTest/TestCases.
by richfaces-svn-commits@lists.jboss.org
Author: andrei_exadel
Date: 2008-05-28 10:33:12 -0400 (Wed, 28 May 2008)
New Revision: 8805
Modified:
trunk/test-applications/seleniumTest/TestCases/RichFaces component testing by Selenium tool.doc
Log:
Modified: trunk/test-applications/seleniumTest/TestCases/RichFaces component testing by Selenium tool.doc
===================================================================
(Binary files differ)
16 years, 7 months
JBoss Rich Faces SVN: r8804 - in trunk/test-applications/seleniumTest/TestCases: ajaxCommands and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: andrei_exadel
Date: 2008-05-28 10:14:52 -0400 (Wed, 28 May 2008)
New Revision: 8804
Added:
trunk/test-applications/seleniumTest/TestCases/RichFaces component testing by Selenium tool.doc
trunk/test-applications/seleniumTest/TestCases/ajaxCommands/Ajax Commands Components Test Cases.doc
Log:
Added: trunk/test-applications/seleniumTest/TestCases/RichFaces component testing by Selenium tool.doc
===================================================================
(Binary files differ)
Property changes on: trunk/test-applications/seleniumTest/TestCases/RichFaces component testing by Selenium tool.doc
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/test-applications/seleniumTest/TestCases/ajaxCommands/Ajax Commands Components Test Cases.doc
===================================================================
(Binary files differ)
Property changes on: trunk/test-applications/seleniumTest/TestCases/ajaxCommands/Ajax Commands Components Test Cases.doc
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
16 years, 7 months