Artur Signell [Fri, 27 Sep 2013 10:14:36 +0000 (13:14 +0300)]
Refactor how TB3 tests are written (#12572)
* openTestUrl() must be called in the beginning of each test. Before that setPush and setDebug can be used to determine whether /run-push or ?debug should be used in the URL
John Ahlroos [Thu, 19 Sep 2013 13:42:50 +0000 (16:42 +0300)]
Fixes issue with Table not scrolling completely to the end #12651
Made the Table notice if the user is trying to scroll to an item on the
last "page" and in those cases actually scroll to that item, not just to
the page's first item as it did before.
Artur Signell [Mon, 16 Sep 2013 11:31:37 +0000 (14:31 +0300)]
Refactored build scripts to support TB2, TB3 + integration tests (#12572)
* Main build configuration triggers unit tests for all modules and uitest/build.xml testbench tests in parallel
* uitest/build.xml triggers Jetty startup and integration (server) tests in parallel. After the server has started, TB2 and TB3 tests are run in parallel.
* Server integration tests for servlet containers are run using TB3 and the com.vaadin.tests.tb3.ServletIntegrationTests test suite.
* Portlet integration tests are still run using TB2 test scripts
Artur Signell [Wed, 18 Sep 2013 21:18:19 +0000 (00:18 +0300)]
Update release notes to more closely be like 7.0.x (#12544)
* Fixed ticket link and removed duplicate link
* Reordered sections to changes in this version comes before changes in old versions
* Updated browser versions
NullPointerException in DateToSqlDateConverter (#12284)
DateToSqlDateConverter throws a NullPointerException when the provided
value is null, thus violating the interface contract. If the provided
value is null, then the methods should return null.
Fabian Lange [Thu, 12 Sep 2013 12:16:37 +0000 (14:16 +0200)]
fixed incorrect name for close-pressed.png for windows in black theme (#12563)
The scss file and the light and normal style suggest that the name should be
"-pressed". This is what this patch fixes. I have considered renaming all
"-pressed" to "-active", to be consistent with e.g. "maximize-active.png"
but decided against due to compatibility concerns.
Fabian Lange [Mon, 2 Sep 2013 13:49:53 +0000 (15:49 +0200)]
Allow creating TextBox or SuggestionPopup when extending VFilterSelect (#12491)
This patch adds two methods, that one can override when extending VFilterSelect.
By doing so, the developer can for example change the behavior of setting text,
or performing clicks in the suggestion popup.
This change is backwards compatible, as it just offers two new methods to
override.
TestHideTimeAndSeparator didn't specify a locale, which
caused it to fail if the locale on the system where it
ran was different from the one on the system where the
test was created.
Henrik Paul [Tue, 20 Aug 2013 12:47:54 +0000 (15:47 +0300)]
Table ignores Container updates while painting (#12258)
Vaadin threw an IllegalStateException if a Container was updated while
Table was being painted. SQLContainer was known to invalidate its cached
size during a Table repaint, resulting in an ItemSetChangeEvent. This fix
has been copied over from how ComboBox handles this situation.
Avoid leaking memory from inherited ThreadLocales. Fixes #12401
The issue is fixed by changing the normal HashMap inside the inheritable
thread local to a map implementation holding only weak references to the
values (WeakValueMap).
Also included is a test UI that starts threads, which run until the JVM
is quit. This along with VisualVM was used to reproduce the issue and
verify the fix.
Henri Sara [Wed, 28 Aug 2013 09:34:53 +0000 (12:34 +0300)]
Use the add() path of CssLayout only when appending to the end (#11284)
This should get the benefits of the previous optimization on initial
rendering without negatively affecting the performance when modifying a
layout with complex non-leaf children.
Henri Sara [Thu, 22 Aug 2013 08:55:38 +0000 (11:55 +0300)]
Optimize large Vertical/HorizontalLayout client side (#12420, #10899)
Spacing is now only handled at the beginning and end of hierarchy
updates, not for every component separately.
Some more profiling data on potential hotspots is also generated when
Profiler is used.
Henri Sara [Thu, 22 Aug 2013 08:03:47 +0000 (11:03 +0300)]
Optimize resetting of state when detaching components (#10899, #11284)
This has a significant impact on some older browsers, especially IE8.
This change also adds hierarchy update profiling statements to
help find hotspots.
John Ahlroos [Thu, 22 Aug 2013 08:10:18 +0000 (11:10 +0300)]
Fixed failing TabKeyboardNavigation test #12433
The test fails on Opera 12 since the assertText is done before the
tabsheet has had time to change the tab content. Added a small waiting
period after the tab is changed before the assert is made to fix the
issue.
John Ahlroos [Wed, 21 Aug 2013 11:51:50 +0000 (14:51 +0300)]
Fixed test broken by PopupDateField communication change #6252
After #6252 the value is no longer communicated to the server
immediatly but only once the popup is closed. Changed the test to assume
the new behaviour.
John Ahlroos [Wed, 21 Aug 2013 10:34:37 +0000 (13:34 +0300)]
Fixed test broken by fixes to drag&drop #12406
Due to the fixes to the VDragAndDropManager the drop location became a
lot more accurate and so changed where the drops were made in the test.
To fix it I adjusted the pixel position within the drop target element to account for the
changed accuracy.
John Ahlroos [Tue, 20 Aug 2013 10:30:47 +0000 (13:30 +0300)]
Fixed DragAndDropWrapper using wrong drop target in IE8 #12406
VDragAndDropManager was assuming that the target element will always be
inside the cloned "drag image" element while dragging. This assumption
is false since the "drag image" can be 0x0px or transparent effectivly
disabling dragging.
Since Testbench 2 is also very flaky in using the Vaadin locators with
the drag/drop commands I replaced the locators with shorter locators
using a debug id to make the test more readable and stable.
Henrik Paul [Thu, 15 Aug 2013 05:59:03 +0000 (08:59 +0300)]
Make sure that no fileIds are replayed to the client (#12330)
Due to how ProxyReceivers are constructed and serialized, we don't want
to resend the ProxyReceivers for files that already are in the queue.
Either we needed to change the way ProxyReceivers behave, or just make
sure that they aren't resent. I chose the double-check method.
Disable failing calendar Actions Menu Test (#12181)
This test cannot be completed in a smart fashion until TestBench 3 is in
use, because of differences in the DOM structure created by GWT for IE
and Opera, versus Webkit and Gecko browsers. TB2 requires identical DOM
structure for assertion queries to work.
The session might be invalidated before lockSession() acquires the lock.
Check if the session is still valid after locking and ensure
SessionExpiredException is thrown if not.