diff options
author | Tapio Aali <tapio@vaadin.com> | 2013-07-16 16:15:01 +0300 |
---|---|---|
committer | Leif Åstrand <leif@vaadin.com> | 2013-07-16 16:42:06 +0300 |
commit | 3229847265dc30cced90e6718bd477cf4e9fbdf4 (patch) | |
tree | 964a5726c62ce67f3fb67dfaec1318ef988c5285 /tests/testbench | |
parent | a93426164d5766fd7e0a687c1a7c98ce53aaa1c7 (diff) | |
download | vaadin-framework-3229847265dc30cced90e6718bd477cf4e9fbdf4.tar.gz vaadin-framework-3229847265dc30cced90e6718bd477cf4e9fbdf4.zip |
Fix lost focus in Table when refreshing row cache (#12231)
svn changeset:25991/svn branch:6.8
svn changeset:26075/svn branch:6.8
svn changeset:26091/svn branch:6.8
Change-Id: Ia4a6ab4cc6ff98795a6d1f9b1701a345dc3f4dc4
Diffstat (limited to 'tests/testbench')
-rw-r--r-- | tests/testbench/com/vaadin/tests/components/table/TableFocusOnRefreshRowCache.html | 61 | ||||
-rw-r--r-- | tests/testbench/com/vaadin/tests/components/table/TableFocusOnRefreshRowCache.java | 37 |
2 files changed, 98 insertions, 0 deletions
diff --git a/tests/testbench/com/vaadin/tests/components/table/TableFocusOnRefreshRowCache.html b/tests/testbench/com/vaadin/tests/components/table/TableFocusOnRefreshRowCache.html new file mode 100644 index 0000000000..b5f4d9b418 --- /dev/null +++ b/tests/testbench/com/vaadin/tests/components/table/TableFocusOnRefreshRowCache.html @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +<link rel="selenium.base" href="http://localhost:8888/" /> +<title>TableFocusOnRefreshRowCache</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">TableFocusOnRefreshRowCache</td></tr> +</thead><tbody> +<tr> + <td>open</td> + <td>/run/com.vaadin.tests.components.table.TableFocusOnRefreshRowCache?restartApplication</td> + <td></td> +</tr> +<tr> + <td>scroll</td> + <td>vaadin=runcomvaadintestscomponentstableTableFocusOnRefreshRowCache::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]</td> + <td>3161</td> +</tr> +<tr> + <td>pause</td> + <td>500</td> + <td></td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runcomvaadintestscomponentstableTableFocusOnRefreshRowCache::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[42]/domChild[0]/domChild[0]</td> + <td>186,-3151</td> +</tr> +<!-- Opera does some funky stuff with the row indices when this is run in + testbench, making it impossible to reliably test that the stylenames are + in the right location. Must instead just test that the stylename is not in + the position it was prior to fixing the bug, although that could never + fail in Opera since it looks at the wrong row +--> +<!-- +<tr> + <td>assertCSSClass</td> + <td>vaadin=runcomvaadintestscomponentstableTableFocusOnRefreshRowCache::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[35]</td> + <td>v-selected</td> +</tr> +<tr> + <td>assertCSSClass</td> + <td>vaadin=runcomvaadintestscomponentstableTableFocusOnRefreshRowCache::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[35]</td> + <td>v-table-focus</td> +</tr> +--> +<!-- Test that the first row in the view does not get focus --> +<tr> + <td>assertNotCSSClass</td> + <td>vaadin=runcomvaadintestscomponentstableTableFocusOnRefreshRowCache::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[23]</td> + <td>v-table-focus</td> +</tr> + +</tbody></table> +</body> +</html> diff --git a/tests/testbench/com/vaadin/tests/components/table/TableFocusOnRefreshRowCache.java b/tests/testbench/com/vaadin/tests/components/table/TableFocusOnRefreshRowCache.java new file mode 100644 index 0000000000..a4bd11cf9c --- /dev/null +++ b/tests/testbench/com/vaadin/tests/components/table/TableFocusOnRefreshRowCache.java @@ -0,0 +1,37 @@ +package com.vaadin.tests.components.table; + +import com.vaadin.event.ItemClickEvent; +import com.vaadin.event.ItemClickEvent.ItemClickListener; +import com.vaadin.tests.components.TestBase; +import com.vaadin.ui.Table; + +public class TableFocusOnRefreshRowCache extends TestBase { + + @Override + protected void setup() { + final Table table = new Table(); + table.setSizeFull(); + table.addContainerProperty("Name", String.class, null); + for (int i = 0; i < 200; i++) { + table.addItem(new Object[] { "Item " + i }, i); + } + + table.setSelectable(true); + table.addListener(new ItemClickListener() { + public void itemClick(ItemClickEvent event) { + table.refreshRowCache(); + } + }); + addComponent(table); + } + + @Override + protected String getDescription() { + return "Calling Table#refreshRowCache() loses cell focus"; + } + + @Override + protected Integer getTicketNumber() { + return 11797; + } +} |