]> source.dussan.org Git - vaadin-framework.git/commitdiff
Test for #5458 - ItemClick is not sent when clicking a selected item
authorArtur Signell <artur.signell@itmill.com>
Thu, 19 Aug 2010 11:08:21 +0000 (11:08 +0000)
committerArtur Signell <artur.signell@itmill.com>
Thu, 19 Aug 2010 11:08:21 +0000 (11:08 +0000)
svn changeset:14540/svn branch:6.4

tests/src/com/vaadin/tests/components/table/ItemClickEvents.html [new file with mode: 0644]
tests/src/com/vaadin/tests/components/table/ItemClickEvents.java [new file with mode: 0644]

diff --git a/tests/src/com/vaadin/tests/components/table/ItemClickEvents.html b/tests/src/com/vaadin/tests/components/table/ItemClickEvents.html
new file mode 100644 (file)
index 0000000..82467ec
--- /dev/null
@@ -0,0 +1,479 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\r
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">\r
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+<link rel="selenium.base" href="http://artur-laptop.office.itmill.com:8888/" />\r
+<title>New Test</title>\r
+</head>\r
+<body>\r
+<table cellpadding="1" cellspacing="1" border="1">\r
+<thead>\r
+<tr><td rowspan="1" colspan="3">New Test</td></tr>\r
+</thead><tbody>\r
+<tr>\r
+       <td>open</td>\r
+       <td>/run/com.vaadin.tests.components.table.ItemClickEvents?restartApplication</td>\r
+       <td></td>\r
+</tr>\r
+<!--Single select not null-->\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>\r
+       <td>42,7</td>\r
+</tr>\r
+<tr>\r
+       <td>screenCapture</td>\r
+       <td></td>\r
+       <td>row-0-selected</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>1. left click on table/Item 0</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>\r
+       <td>41,3</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>2. left click on table/Item 1</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>\r
+       <td>41,10</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>3. left click on table/Item 1</td>\r
+</tr>\r
+<tr>\r
+       <td>doubleClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>\r
+       <td>88,12</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>4. left doubleClick on table/Item 1</td>\r
+</tr>\r
+<tr>\r
+       <td>doubleClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>\r
+       <td>88,12</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>5. left doubleClick on table/Item 0</td>\r
+</tr>\r
+<tr>\r
+       <td>click</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>\r
+       <td></td>\r
+</tr>\r
+<tr>\r
+       <td>screenCapture</td>\r
+       <td></td>\r
+       <td>row-0-selected</td>\r
+</tr>\r
+<!--Single select null-->\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VHorizontalLayout[0]/ChildComponentContainer[2]/VCheckBox[0]/domChild[0]</td>\r
+       <td>6,6</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>\r
+       <td>48,15</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>0. left click on table/Item 0</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>\r
+       <td>57,11</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>1. left click on table/Item 0</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[5]/domChild[0]/domChild[0]</td>\r
+       <td>45,9</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>2. left click on table/Item 5</td>\r
+</tr>\r
+<tr>\r
+       <td>doubleClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[5]/domChild[0]/domChild[0]</td>\r
+       <td>45,9</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>3. left doubleClick on table/Item 5</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/domChild[0]/domChild[5]</td>\r
+       <td>195,142</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/domChild[0]/domChild[5]</td>\r
+       <td>582,1</td>\r
+</tr>\r
+<tr>\r
+       <td>click</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>\r
+       <td></td>\r
+</tr>\r
+<!--Multiselect null-->\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VHorizontalLayout[0]/ChildComponentContainer[3]/VCheckBox[0]/domChild[0]</td>\r
+       <td>22,11</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>\r
+       <td>50,10</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[4]/domChild[0]/domChild[0]</td>\r
+       <td>51,10:shift</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[6]/domChild[0]/domChild[0]</td>\r
+       <td>47,11:ctrl</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>\r
+       <td>50,8:ctrl</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[3]/VLabel[0]</td>\r
+       <td>0. left click on table/Item 0</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[2]/VLabel[0]</td>\r
+       <td>1. left click on table/Item 4 (shift)</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[1]/VLabel[0]</td>\r
+       <td>2. left click on table/Item 6 (ctrl)</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>3. left click on table/Item 2 (ctrl)</td>\r
+</tr>\r
+<!--Multi select not null-->\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VHorizontalLayout[0]/ChildComponentContainer[2]/VCheckBox[0]/domChild[0]</td>\r
+       <td>34,0</td>\r
+</tr>\r
+<tr>\r
+       <td>click</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>\r
+       <td></td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[9]/domChild[0]/domChild[0]</td>\r
+       <td>43,8</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[9]/domChild[0]/domChild[0]</td>\r
+       <td>49,6:ctrl</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[3]/domChild[0]/domChild[0]</td>\r
+       <td>71,9:ctrl</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[9]/domChild[0]/domChild[0]</td>\r
+       <td>79,4:ctrl</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[3]/domChild[0]/domChild[0]</td>\r
+       <td>75,17:ctrl</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[4]/VLabel[0]</td>\r
+       <td>0. left click on table/Item 9</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[3]/VLabel[0]</td>\r
+       <td>1. left click on table/Item 9 (ctrl)</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[2]/VLabel[0]</td>\r
+       <td>2. left click on table/Item 3 (ctrl)</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[1]/VLabel[0]</td>\r
+       <td>3. left click on table/Item 9 (ctrl)</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>4. left click on table/Item 3 (ctrl)</td>\r
+</tr>\r
+<tr>\r
+       <td>click</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>\r
+       <td></td>\r
+</tr>\r
+<!--Single not selectable-->\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VHorizontalLayout[0]/ChildComponentContainer[3]/VCheckBox[0]/domChild[0]</td>\r
+       <td>11,5</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VHorizontalLayout[0]/ChildComponentContainer[1]/VCheckBox[0]/domChild[0]</td>\r
+       <td>11,2</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>\r
+       <td>49,11</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>\r
+       <td>48,8</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[7]/domChild[0]/domChild[0]</td>\r
+       <td>50,8</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[3]/domChild[0]/domChild[0]</td>\r
+       <td>57,11</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[3]/VLabel[0]</td>\r
+       <td>0. left click on table/Item 1</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[2]/VLabel[0]</td>\r
+       <td>1. left click on table/Item 2</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[1]/VLabel[0]</td>\r
+       <td>2. left click on table/Item 7</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>3. left click on table/Item 3</td>\r
+</tr>\r
+<tr>\r
+       <td>click</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>\r
+       <td></td>\r
+</tr>\r
+<!--Multi not selectable-->\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VHorizontalLayout[0]/ChildComponentContainer[3]/VCheckBox[0]/domChild[0]</td>\r
+       <td>8,7</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>\r
+       <td>42,8</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[5]/domChild[0]/domChild[0]</td>\r
+       <td>47,13</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[3]/domChild[0]/domChild[0]</td>\r
+       <td>43,8</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[8]/domChild[0]/domChild[0]</td>\r
+       <td>44,9:shift</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[3]/VLabel[0]</td>\r
+       <td>0. left click on table/Item 1</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[2]/VLabel[0]</td>\r
+       <td>1. left click on table/Item 5</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[1]/VLabel[0]</td>\r
+       <td>2. left click on table/Item 3</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>3. left click on table/Item 8 (shift)</td>\r
+</tr>\r
+<tr>\r
+       <td>click</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>\r
+       <td></td>\r
+</tr>\r
+<!--Single, Non-immediate-->\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VHorizontalLayout[0]/ChildComponentContainer[0]/VCheckBox[0]/domChild[0]</td>\r
+       <td>8,6</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VHorizontalLayout[0]/ChildComponentContainer[3]/VCheckBox[0]/domChild[0]</td>\r
+       <td>6,6</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>\r
+       <td>57,8</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>0. left click on table/Item 0</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>\r
+       <td>47,9</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>1. left click on table/Item 1</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>\r
+       <td>47,11</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>2. left click on table/Item 2</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[8]/domChild[0]/domChild[0]</td>\r
+       <td>31,13:ctrl shift</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>3. left click on table/Item 8 (ctrl shift)</td>\r
+</tr>\r
+<tr>\r
+       <td>click</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>\r
+       <td></td>\r
+</tr>\r
+<!--non-immediate single selectable-->\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VHorizontalLayout[0]/ChildComponentContainer[1]/VCheckBox[0]/domChild[0]</td>\r
+       <td>10,7</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>\r
+       <td>43,11</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>0. left click on table/Item 1</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[8]/domChild[0]/domChild[0]</td>\r
+       <td>73,9</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>1. left click on table/Item 8</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>\r
+       <td>58,12</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>2. left click on table/Item 1</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>\r
+       <td>71,15</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>3. left click on table/Item 0</td>\r
+</tr>\r
+<tr>\r
+       <td>mouseClick</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Stable/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[6]/domChild[0]/domChild[0]</td>\r
+       <td>68,11</td>\r
+</tr>\r
+<tr>\r
+       <td>assertText</td>\r
+       <td>vaadin=runcomvaadintestscomponentstableItemClickEvents::PID_Slog/ChildComponentContainer[0]/VLabel[0]</td>\r
+       <td>4. left click on table/Item 6</td>\r
+</tr>\r
+</tbody></table>\r
+</body>\r
+</html>\r
diff --git a/tests/src/com/vaadin/tests/components/table/ItemClickEvents.java b/tests/src/com/vaadin/tests/components/table/ItemClickEvents.java
new file mode 100644 (file)
index 0000000..dd62644
--- /dev/null
@@ -0,0 +1,145 @@
+package com.vaadin.tests.components.table;
+
+import com.vaadin.data.Item;
+import com.vaadin.data.util.MethodProperty;
+import com.vaadin.event.ItemClickEvent;
+import com.vaadin.event.ItemClickEvent.ItemClickListener;
+import com.vaadin.terminal.ExternalResource;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.tests.util.Log;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Table;
+import com.vaadin.ui.Tree;
+
+public class ItemClickEvents extends TestBase {
+
+    Tree tree = new Tree();
+    Table table = new Table();
+    Log log = new Log(5);
+
+    @Override
+    public void setup() {
+        log.setNumberLogRows(true);
+        log.setDebugId("log");
+
+        HorizontalLayout ol = createHorizontalLayout(table);
+        Button b = new Button("icon", new Button.ClickListener() {
+            public void buttonClick(ClickEvent event) {
+                if (tree.getItemIconPropertyId() == null) {
+                    tree.setItemIconPropertyId("icon");
+                } else {
+                    tree.setItemIconPropertyId(null);
+                }
+
+            }
+        });
+        ol.addComponent(b);
+
+        tree.setImmediate(true);
+        tree.setNullSelectionAllowed(false);
+        tree.addItem("Root 1");
+        tree.addItem("1. Child 1");
+        tree.setParent("1. Child 1", "Root 1");
+        tree.addItem("1. Child 2");
+        tree.setParent("1. Child 2", "Root 1");
+        tree.addItem("Root 2");
+        tree.addItem("2. Child 1");
+        tree.setParent("2. Child 1", "Root 2");
+        tree.addItem("2. Child 2");
+        tree.setParent("2. Child 2", "Root 2");
+        tree.addContainerProperty("icon", ExternalResource.class,
+                new ExternalResource(
+                        "http://www.itmill.com/res/images/itmill_logo.gif"));
+
+        tree.addListener(new ItemClickListener() {
+            public void itemClick(ItemClickEvent event) {
+                logEvent(event, "tree");
+            }
+        });
+        tree.setDebugId("tree");
+
+        HorizontalLayout ol2 = createHorizontalLayout(table);
+        table.setWidth("150px");
+        table.setImmediate(true);
+        table.setSelectable(true);
+        table.setNullSelectionAllowed(false);
+        table.addContainerProperty("Column", String.class, "value");
+        for (int i = 0; i < 10; i++) {
+            Item item = table.addItem("Item " + i);
+            item.getItemProperty("Column").setValue("Row " + i);
+
+        }
+        table.addListener(new ItemClickListener() {
+            public void itemClick(ItemClickEvent event) {
+                logEvent(event, "table");
+            }
+        });
+        table.setDebugId("table");
+
+        addComponent(log);
+        addComponent(new Button("Clear log", new Button.ClickListener() {
+
+            public void buttonClick(ClickEvent event) {
+                log.clear();
+            }
+        }));
+        addComponent(ol);
+        addComponent(tree);
+        addComponent(ol2);
+        addComponent(table);
+    }
+
+    protected void logEvent(ItemClickEvent event, String targetComponent) {
+        String type = "click";
+        if (event.isDoubleClick()) {
+            type = "doubleClick";
+        }
+        String modifiers = "";
+        if (event.isAltKey()) {
+            modifiers += "alt ";
+        }
+        if (event.isMetaKey()) {
+            modifiers += "meta ";
+        }
+        if (event.isCtrlKey()) {
+            modifiers += "ctrl ";
+        }
+        if (event.isShiftKey()) {
+            modifiers += "shift ";
+        }
+        if (!"".equals(modifiers)) {
+            modifiers = " (" + modifiers.trim() + ")";
+        }
+
+        log.log(event.getButtonName() + " " + type + " on " + targetComponent
+                + "/" + event.getItemId() + modifiers);
+
+    }
+
+    private static HorizontalLayout createHorizontalLayout(Component c) {
+        HorizontalLayout layout = new HorizontalLayout();
+        Button b = new Button("immediate", new MethodProperty(c, "immediate"));
+        layout.addComponent(b);
+        b = new Button("selectable", new MethodProperty(c, "selectable"));
+        layout.addComponent(b);
+        b = new Button("nullsel", new MethodProperty(c, "nullSelectionAllowed"));
+        layout.addComponent(b);
+        b = new Button("multi", new MethodProperty(c, "multiSelect"));
+        layout.addComponent(b);
+        return layout;
+    }
+
+    @Override
+    protected String getDescription() {
+        return "Click events should always come trough no matter how the table is configured.";
+    }
+
+    @Override
+    protected Integer getTicketNumber() {
+        return 5458;
+    }
+
+}