From 2847912abaf817ee4f9b7b7f00ce3a8391c917df Mon Sep 17 00:00:00 2001 From: Johannes Dahlström Date: Mon, 9 Jul 2012 14:38:16 +0000 Subject: Test for #9064 svn changeset:24003/svn branch:6.8 --- .../tests/components/table/SelectableEditable.html | 32 +++++++++ .../tests/components/table/SelectableEditable.java | 80 ++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 tests/testbench/com/vaadin/tests/components/table/SelectableEditable.html create mode 100644 tests/testbench/com/vaadin/tests/components/table/SelectableEditable.java diff --git a/tests/testbench/com/vaadin/tests/components/table/SelectableEditable.html b/tests/testbench/com/vaadin/tests/components/table/SelectableEditable.html new file mode 100644 index 0000000000..8d46523c40 --- /dev/null +++ b/tests/testbench/com/vaadin/tests/components/table/SelectableEditable.html @@ -0,0 +1,32 @@ + + + + + + +SelectableEditable + + + + + + + + + + + + + + + + + + + + + + +
SelectableEditable
open/run/com.vaadin.tests.components.table.SelectableEditable?restartApplication
mouseClickvaadin=runcomvaadintestscomponentstableSelectableEditable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[1]/domChild[0]70,12
assertCSSClassvaadin=runcomvaadintestscomponentstableSelectableEditable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]v-selected
+ + diff --git a/tests/testbench/com/vaadin/tests/components/table/SelectableEditable.java b/tests/testbench/com/vaadin/tests/components/table/SelectableEditable.java new file mode 100644 index 0000000000..22bbdcf87d --- /dev/null +++ b/tests/testbench/com/vaadin/tests/components/table/SelectableEditable.java @@ -0,0 +1,80 @@ +package com.vaadin.tests.components.table; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import com.vaadin.tests.components.TestBase; +import com.vaadin.ui.Table; + +public class SelectableEditable extends TestBase { + + @Override + protected void setup() { + // TODO Auto-generated method stub + + final Table table = new Table(); + table.setWidth("500px"); + table.setSelectable(true); + table.setEditable(true); + + table.addContainerProperty("name", String.class, null); + table.addContainerProperty("alive", Boolean.class, false); + for (int i = 0; i < 10; ++i) { + table.addItem(new Object[] { "Person " + i, false }, i); + } + + addComponent(table); + } + + @Override + protected String getDescription() { + // TODO Auto-generated method stub + return "It is difficult to select rows of an editable Table, especially columns with checkboxes."; + } + + @Override + protected Integer getTicketNumber() { + // TODO Auto-generated method stub + return 9064; + } +} + +class PersonGenerator { + + private static final String[] fNames = { "Peter", "Alice", "Joshua", + "Mike", "Olivia", "Nina", "Alex", "Rita", "Dan", "Umberto", + "Henrik", "Rene", "Lisa", "Marge" }; + private static final String[] lNames = { "Smith", "Gordon", "Simpson", + "Brown", "Clavel", "Simons", "Verne", "Scott", "Allison", "Gates", + "Rowling", "Barks", "Ross", "Schneider", "Tate" }; + + private PersonGenerator() { + } + + /** + * Generates a dummy list of {@link Person}s with randomly selected + * elements. + * + * @param count + * the number of {@link Person}s to generate + * @return a list of {@link Person}s. + */ + public static List generateDummyPersons(int count) { + final List persons = new ArrayList(); + final Random randomGenerator = new Random(); + for (int i = 0; i < count; i++) { + final Person person = generatePerson(randomGenerator); + persons.add(person); + } + return persons; + } + + private static Person generatePerson(Random randomGenerator) { + final String firstName = fNames[randomGenerator.nextInt(fNames.length)]; + final String lastName = lNames[randomGenerator.nextInt(lNames.length)]; + final boolean alive = randomGenerator.nextBoolean(); + return new Person(firstName, lastName, alive); + } + +} -- cgit v1.2.3