]> source.dussan.org Git - vaadin-framework.git/commitdiff
#6319 Delesecting one preselected item in multiselect ListSelect
authorArtur Signell <artur.signell@itmill.com>
Mon, 7 Feb 2011 13:53:51 +0000 (13:53 +0000)
committerArtur Signell <artur.signell@itmill.com>
Mon, 7 Feb 2011 13:53:51 +0000 (13:53 +0000)
svn changeset:17188/svn branch:6.5

src/com/vaadin/terminal/gwt/client/ui/VListSelect.java
tests/src/com/vaadin/tests/components/listselect/ListSelectSelection.html [new file with mode: 0644]

index e19079039dd9c4915f54d669b8be639e33881958..46211bafe5d6738b73dc81bf091214b66efb0f53 100644 (file)
@@ -51,7 +51,9 @@ public class VListSelect extends VOptionGroupBase {
             select.addItem(optionUidl.getStringAttribute("caption"),
                     optionUidl.getStringAttribute("key"));
             if (optionUidl.hasAttribute("selected")) {
-                select.setItemSelected(select.getItemCount() - 1, true);
+                int itemIndex = select.getItemCount() - 1;
+                select.setItemSelected(itemIndex, true);
+                lastSelectedIndex = itemIndex;
             }
         }
         if (getRows() > 0) {
diff --git a/tests/src/com/vaadin/tests/components/listselect/ListSelectSelection.html b/tests/src/com/vaadin/tests/components/listselect/ListSelectSelection.html
new file mode 100644 (file)
index 0000000..9820e04
--- /dev/null
@@ -0,0 +1,165 @@
+<?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="" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+       <td>open</td>
+       <td>/run/com.vaadin.tests.components.listselect.ListSelects?restartApplication</td>
+       <td></td>
+</tr>
+<!--Value change listener-->
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_Smenu#item0</td>
+       <td>31,10</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::Root/VOverlay[0]/VMenuBar[0]#item3</td>
+       <td>48,3</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::Root/VOverlay[1]/VMenuBar[0]#item0</td>
+       <td>54,6</td>
+</tr>
+<tr>
+       <td>select</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>label=Item 1</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_SLog_row_0</td>
+       <td>1. ValueChangeEvent, new value: 'Item 1'</td>
+</tr>
+<tr>
+       <td>assertValue</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>1</td>
+</tr>
+<tr>
+       <td>select</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>label=Item 5</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_SLog_row_0</td>
+       <td>2. ValueChangeEvent, new value: 'Item 5'</td>
+</tr>
+<tr>
+       <td>assertValue</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>5</td>
+</tr>
+<tr>
+       <td>select</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>label=Item 2</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_SLog_row_0</td>
+       <td>3. ValueChangeEvent, new value: 'Item 2'</td>
+</tr>
+<tr>
+       <td>assertValue</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>2</td>
+</tr>
+<!---> multi select mode-->
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_Smenu#item0</td>
+       <td>46,4</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::Root/VOverlay[0]/VMenuBar[0]#item4</td>
+       <td>54,12</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::Root/VOverlay[1]/VMenuBar[0]#item1</td>
+       <td>22,2</td>
+</tr>
+<!--Value changes from String to Set-->
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_SLog_row_0</td>
+       <td>5. ValueChangeEvent, new value: '[Item 2]'</td>
+</tr>
+<tr>
+       <td>assertValue</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>2</td>
+</tr>
+<tr>
+       <td>addSelection</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>label=Item 1</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_SLog_row_0</td>
+       <td>6. ValueChangeEvent, new value: '[Item 1, Item 2]'</td>
+</tr>
+<tr>
+       <td>removeSelection</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>label=Item 1</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_SLog_row_0</td>
+       <td>7. ValueChangeEvent, new value: '[Item 2]'</td>
+</tr>
+<tr>
+       <td>assertValue</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>2</td>
+</tr>
+<tr>
+       <td>removeSelection</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>label=Item 2</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_SLog_row_0</td>
+       <td>7. ValueChangeEvent, new value: '[Item 2]'</td>
+</tr>
+<!--Ensure also that the selection cannot be removed after a reload-->
+<tr>
+       <td>open</td>
+       <td>/run/com.vaadin.tests.components.listselect.ListSelects</td>
+       <td></td>
+</tr>
+<tr>
+       <td>removeSelection</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>label=Item 2</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_SLog_row_0</td>
+       <td>7. ValueChangeEvent, new value: '[Item 2]'</td>
+</tr>
+<tr>
+       <td>assertValue</td>
+       <td>vaadin=runcomvaadintestscomponentslistselectListSelects::PID_StestComponent/domChild[0]</td>
+       <td>2</td>
+</tr>
+</tbody></table>
+</body>
+</html>