From d0c4bbd0bc18a9569c569589da99ef8b148c26d9 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Fri, 16 Jul 2010 13:53:51 +0000 Subject: [PATCH] Test case for #5347 svn changeset:14231/svn branch:6.4 --- ...KeyboardNavigationWithChangingContent.java | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 tests/src/com/vaadin/tests/components/table/KeyboardNavigationWithChangingContent.java diff --git a/tests/src/com/vaadin/tests/components/table/KeyboardNavigationWithChangingContent.java b/tests/src/com/vaadin/tests/components/table/KeyboardNavigationWithChangingContent.java new file mode 100644 index 0000000000..af95f9a559 --- /dev/null +++ b/tests/src/com/vaadin/tests/components/table/KeyboardNavigationWithChangingContent.java @@ -0,0 +1,83 @@ +package com.vaadin.tests.components.table; + +import java.util.Arrays; + +import com.vaadin.data.util.BeanItemContainer; +import com.vaadin.terminal.Sizeable; +import com.vaadin.tests.components.TestBase; +import com.vaadin.ui.Button; +import com.vaadin.ui.Table; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; + +@SuppressWarnings("serial") +public class KeyboardNavigationWithChangingContent extends TestBase { + + @Override + protected void setup() { + ValueHolder v1 = new ValueHolder("test1"); + ValueHolder v2 = new ValueHolder("test2"); + ValueHolder v3 = new ValueHolder("test3"); + final BeanItemContainer> bic = new BeanItemContainer>( + Arrays.asList(v1, v2, v3)); + final Table t = new Table(null, bic); + t.setSelectable(true); + t.setMultiSelect(false); + t.setWidth(200, Sizeable.UNITS_PIXELS); + t.setHeight(100, Sizeable.UNITS_PIXELS); + t.select(v1); + t.focus(); + t.setMultiSelect(true); + + getLayout().addComponent(t); + getLayout().addComponent( + new Button("Change elements and selection", + new ClickListener() { + + public void buttonClick(ClickEvent event) { + + bic.removeAllItems(); + ValueHolder v4 = null; + for (int i = 4; i < 30; i++) { + v4 = new ValueHolder("test" + i); + bic.addBean(v4); + + } + t.select(t.firstItemId()); + t.focus(); + } + })); + } + + @Override + protected String getDescription() { + // TODO Auto-generated method stub + return "Table keyboard navigation does not work after the contents in table is changed"; + } + + @Override + protected Integer getTicketNumber() { + // TODO Auto-generated method stub + return 5347; + } + + public class ValueHolder { + private E value; + + public ValueHolder() { + } + + public ValueHolder(E value) { + this.value = value; + } + + public void setValue(E value) { + this.value = value; + } + + public E getValue() { + return value; + } + } + +} -- 2.39.5