]> source.dussan.org Git - vaadin-framework.git/commitdiff
#5881 - InlineDateField without a set value shows a value in the UI but returns null
authorArtur Signell <artur.signell@itmill.com>
Mon, 7 Feb 2011 11:15:07 +0000 (11:15 +0000)
committerArtur Signell <artur.signell@itmill.com>
Mon, 7 Feb 2011 11:15:07 +0000 (11:15 +0000)
svn changeset:17177/svn branch:6.5

src/com/vaadin/terminal/gwt/client/ui/VCalendarPanel.java
tests/src/com/vaadin/tests/components/datefield/InlineDateFieldSecondValueChange.html [deleted file]
tests/src/com/vaadin/tests/components/datefield/InlineDateFieldValueChange.html [new file with mode: 0644]

index b230220eaafa16dc53aac89f2c3fd1fab2d8eb47..1f9bffac66465edde012cd2ae2db07424dc395a2 100644 (file)
@@ -254,6 +254,11 @@ public class VCalendarPanel extends FocusableFlexTable implements
      */\r
     private void selectFocused() {\r
         if (focusedDate != null) {\r
+            if (value == null) {\r
+                // No previously selected value (set to null on server side).\r
+                // Create a new date using current date and time\r
+                value = new Date();\r
+            }\r
             /*\r
              * #5594 set Date (day) to 1 in order to prevent any kind of\r
              * wrapping of months when later setting the month. (e.g. 31 ->\r
diff --git a/tests/src/com/vaadin/tests/components/datefield/InlineDateFieldSecondValueChange.html b/tests/src/com/vaadin/tests/components/datefield/InlineDateFieldSecondValueChange.html
deleted file mode 100644 (file)
index d82d4e0..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-<?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">InlineDateFieldSecondValueChange</td></tr>
-</thead><tbody>
-<tr>
-    <td>open</td>
-    <td>/run/com.vaadin.tests.components.datefield.InlineDateFieldTest?restartApplication</td>
-    <td></td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_Smenu#item0</td>
-    <td>8,6</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[0]/VMenuBar[0]#item4</td>
-    <td>30,8</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[1]/VMenuBar[0]#item0</td>
-    <td>72,10</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[2]/VMenuBar[0]#item2</td>
-    <td>23,12</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_Smenu#item0</td>
-    <td>42,7</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[0]/VMenuBar[0]#item4</td>
-    <td>46,10</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[1]/VMenuBar[0]#item4</td>
-    <td>58,6</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[2]/VMenuBar[0]#item2</td>
-    <td>96,13</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_Smenu#item0</td>
-    <td>29,13</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[0]/VMenuBar[0]#item3</td>
-    <td>43,8</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[1]/VMenuBar[0]#item2</td>
-    <td>68,2</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/domChild[0]/domChild[1]/domChild[1]/domChild[0]/domChild[0]/domChild[1]/domChild[3]/domChild[3]/domChild[0]</td>
-    <td>15,11</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
-    <td>325,15</td>
-</tr>
-<tr>
-    <td>assertText</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
-    <td>3. ValueChangeEvent, new value: Dec 14, 2010 12:00:00.000</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/domChild[0]/domChild[1]/domChild[1]/domChild[0]/domChild[0]/domChild[1]/domChild[3]/domChild[2]/domChild[0]</td>
-    <td>20,6</td>
-</tr>
-<tr>
-    <td>assertText</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
-    <td>4. ValueChangeEvent, new value: Dec 13, 2010 12:00:00.000</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]</td>
-    <td>11,13</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/domChild[0]/domChild[1]/domChild[1]/domChild[0]/domChild[0]/domChild[1]/domChild[3]/domChild[2]/domChild[0]</td>
-    <td>18,12</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
-    <td>145,9</td>
-</tr>
-<tr>
-    <td>assertText</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
-    <td>5. ValueChangeEvent, new value: Dec 14, 2009 12:00:00.000</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/domChild[0]/domChild[1]/domChild[0]/domChild[3]/domChild[0]</td>
-    <td>11,5</td>
-</tr>
-<tr>
-    <td>mouseClick</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/domChild[0]/domChild[1]/domChild[1]/domChild[0]/domChild[0]/domChild[1]/domChild[3]/domChild[3]/domChild[0]</td>
-    <td>20,9</td>
-</tr>
-<tr>
-    <td>assertText</td>
-    <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
-    <td>6. ValueChangeEvent, new value: Jan 12, 2010 12:00:00.000</td>
-</tr>
-
-</tbody></table>
-</body>
-</html>
diff --git a/tests/src/com/vaadin/tests/components/datefield/InlineDateFieldValueChange.html b/tests/src/com/vaadin/tests/components/datefield/InlineDateFieldValueChange.html
new file mode 100644 (file)
index 0000000..6464750
--- /dev/null
@@ -0,0 +1,231 @@
+<?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">InlineDateFieldValueChange</td></tr>
+</thead><tbody>
+<tr>
+       <td>open</td>
+       <td>/run/com.vaadin.tests.components.datefield.InlineDateFieldTest?restartApplication</td>
+       <td></td>
+</tr>
+<!--Use FI locale as DATE functions on the test clients use FI locale (for some reason...)-->
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_Smenu#item0</td>
+       <td>36,14</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[0]/VMenuBar[0]#item0</td>
+       <td>37,10</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[1]/VMenuBar[0]#item5</td>
+       <td>45,5</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[2]/VMenuBar[0]#item1</td>
+       <td>34,10</td>
+</tr>
+<!--Day resolution-->
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_Smenu#item0</td>
+       <td>8,6</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[0]/VMenuBar[0]#item4</td>
+       <td>30,8</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[1]/VMenuBar[0]#item0</td>
+       <td>72,10</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[2]/VMenuBar[0]#item2</td>
+       <td>23,12</td>
+</tr>
+<!--value=2010-12-12 12:00:00-->
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_Smenu#item0</td>
+       <td>42,7</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[0]/VMenuBar[0]#item4</td>
+       <td>46,10</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[1]/VMenuBar[0]#item4</td>
+       <td>58,6</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[2]/VMenuBar[0]#item2</td>
+       <td>96,13</td>
+</tr>
+<!--Value change listener-->
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_Smenu#item0</td>
+       <td>29,13</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[0]/VMenuBar[0]#item3</td>
+       <td>43,8</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[1]/VMenuBar[0]#item2</td>
+       <td>68,2</td>
+</tr>
+<!--Start actual test-->
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/VCalendarPanel[0]#day14</td>
+       <td>15,11</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
+       <td>4. ValueChangeEvent, new value: Dec 14, 2010 12:00:00.000</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/VCalendarPanel[0]#day13</td>
+       <td>20,6</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
+       <td>5. ValueChangeEvent, new value: Dec 13, 2010 12:00:00.000</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]</td>
+       <td>11,13</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/VCalendarPanel[0]#day14</td>
+       <td>18,12</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
+       <td>145,9</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
+       <td>6. ValueChangeEvent, new value: Dec 14, 2009 12:00:00.000</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/domChild[0]/domChild[1]/domChild[0]/domChild[3]/domChild[0]</td>
+       <td>11,5</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/VCalendarPanel[0]#day12</td>
+       <td>20,9</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
+       <td>7. ValueChangeEvent, new value: Jan 12, 2010 12:00:00.000</td>
+</tr>
+<!--Set value to null and ensure nothing is selected-->
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_Smenu#item0</td>
+       <td>46,9</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[0]/VMenuBar[0]#item4</td>
+       <td>49,5</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[1]/VMenuBar[0]#item4</td>
+       <td>41,5</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[2]/VMenuBar[0]#item0</td>
+       <td>62,3</td>
+</tr>
+<!--Null should show the current year/month without anything selected but with current day highlighted-->
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]</td>
+       <td>DATE(MMMM YYYY)</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_Smenu#item1</td>
+       <td>27,10</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[0]/VMenuBar[0]#item3</td>
+       <td>65,5</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::Root/VOverlay[1]/VMenuBar[0]#item0</td>
+       <td>37,10</td>
+</tr>
+<!--assert current year/month/day is selected-->
+<tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
+       <td>10. InlineDateField value: null</td>
+</tr>
+<tr>
+       <td>assertCSSClass</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/VCalendarPanel[0]#dayDATE(D)</td>
+       <td>today</td>
+</tr>
+<!--select 1st and assert that the value changes (today should still be the same)-->
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/VCalendarPanel[0]#day1</td>
+       <td>11,10</td>
+</tr>
+<tr>
+       <td>assertCSSClass</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/VCalendarPanel[0]#dayDATE(D)</td>
+       <td>today</td>
+</tr>
+<!--select today and assert that the value changes (today should still be the same)-->
+<tr>
+       <td>mouseClick</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_StestComponent/VCalendarPanel[0]#day1</td>
+       <td>11,10</td>
+<!-- Cannot validate month here as we use FI locale and this is printed in EN locale (#6409)... -->
+</tr><tr>
+       <td>assertText</td>
+       <td>vaadin=runcomvaadintestscomponentsdatefieldInlineDateFieldTest::PID_SLog_row_0</td>
+       <td>11. ValueChangeEvent, new value: * 1, DATE(YYYY) *</td>
+</tr>
+</tbody></table>
+</body>
+</html>