diff options
author | Martin Vysny <martin@vysny.me> | 2019-06-13 15:03:00 +0300 |
---|---|---|
committer | Zhe Sun <31067185+ZheSun88@users.noreply.github.com> | 2019-06-13 15:02:59 +0300 |
commit | d18f8ddbaab2d192dacf7d7485d87b51fe1e7cb9 (patch) | |
tree | aa78b0bfe5a059c6ebca31616020c77b1880a3f6 /uitest/src/test | |
parent | 4665d366472055c2eeb74dc444346b99b3729ecf (diff) | |
download | vaadin-framework-d18f8ddbaab2d192dacf7d7485d87b51fe1e7cb9.tar.gz vaadin-framework-d18f8ddbaab2d192dacf7d7485d87b51fe1e7cb9.zip |
Improved fix for #11614 (#11618)
* #11614: Added test which demonstrates that the fix is incomplete
* #11614: UI.doRefresh() only calls navigator when the navigation state actually changes
* Added javadoc to Navigator.getCurrentNavigationState()
* Minor: Removed accidental star imports
Diffstat (limited to 'uitest/src/test')
-rw-r--r-- | uitest/src/test/java/com/vaadin/tests/components/ui/RefreshUITest.java | 25 | ||||
-rw-r--r-- | uitest/src/test/java/com/vaadin/tests/tb3/AbstractTB3Test.java | 9 |
2 files changed, 31 insertions, 3 deletions
diff --git a/uitest/src/test/java/com/vaadin/tests/components/ui/RefreshUITest.java b/uitest/src/test/java/com/vaadin/tests/components/ui/RefreshUITest.java index 16f279e1e5..db42bc71f8 100644 --- a/uitest/src/test/java/com/vaadin/tests/components/ui/RefreshUITest.java +++ b/uitest/src/test/java/com/vaadin/tests/components/ui/RefreshUITest.java @@ -1,5 +1,6 @@ package com.vaadin.tests.components.ui; +import com.vaadin.testbench.elements.ButtonElement; import org.junit.Test; import com.vaadin.testbench.elements.LabelElement; @@ -17,9 +18,31 @@ public class RefreshUITest extends MultiBrowserTest { $(LabelElement.class).first().getText()); // Reload the page; UI.refresh should be invoked - openTestURL(); + reloadPage(); assertEquals("The Label content is not matching", "This is instance no 1", $(LabelElement.class).first().getText()); } + + @Test + public void testViewNotRecreatedAfterNavigation() { + openTestURL(); + assertEquals("This is instance no 1", + $(LabelElement.class).first().getText()); + + // Reload the page; UI.refresh should be invoked + reloadPage(); + assertEquals("This is instance no 1", + $(LabelElement.class).first().getText()); + + // now open the other view using the navigator + $(ButtonElement.class).first().click(); + assertEquals("This is otherview instance no 1", + $(LabelElement.class).first().getText()); + + // Reload the page; UI.refresh should be invoked + reloadPage(); + assertEquals("This is otherview instance no 1", + $(LabelElement.class).first().getText()); + } } diff --git a/uitest/src/test/java/com/vaadin/tests/tb3/AbstractTB3Test.java b/uitest/src/test/java/com/vaadin/tests/tb3/AbstractTB3Test.java index 548ac78e78..c835696470 100644 --- a/uitest/src/test/java/com/vaadin/tests/tb3/AbstractTB3Test.java +++ b/uitest/src/test/java/com/vaadin/tests/tb3/AbstractTB3Test.java @@ -31,10 +31,8 @@ import org.junit.rules.TestName; import org.junit.runner.Description; import org.junit.runner.RunWith; import org.openqa.selenium.By; -import org.openqa.selenium.Dimension; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.NoSuchElementException; -import org.openqa.selenium.Point; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; @@ -254,6 +252,13 @@ public abstract class AbstractTB3Test extends ParallelTest { openTestURL(uiClass, new HashSet<>(Arrays.asList(parameters))); } + /** + * Reloads the current page, as if the user pressed F5. + */ + protected void reloadPage() { + driver.navigate().refresh(); + } + private void openTestURL(Class<?> uiClass, Set<String> parameters) { String url = getTestURL(uiClass); |