aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/com/vaadin/tests/push
diff options
context:
space:
mode:
authorJohannes Dahlström <johannesd@vaadin.com>2014-05-02 18:29:42 +0300
committerArtur Signell <artur@vaadin.com>2014-05-08 17:36:22 +0000
commitf21c10882e74ec58260cae289c4180c19ff8a816 (patch)
treeefd2f091b72a04bc17cdf308539e1d2767f1a3a4 /uitest/src/com/vaadin/tests/push
parent3184af5ac142b81ee656f0d5ea84272ac7e0ded8 (diff)
downloadvaadin-framework-f21c10882e74ec58260cae289c4180c19ff8a816.tar.gz
vaadin-framework-f21c10882e74ec58260cae289c4180c19ff8a816.zip
Fix improper merge of 3d0ff32b from 7.1 to master (#13620)
Correctly call PushConnection.disconnect instead of setting to null. Also remove the obsolete PushHandler.disconnectCallback. Change-Id: Ied055d489a269b016318947cd89cf0b46003c596
Diffstat (limited to 'uitest/src/com/vaadin/tests/push')
-rw-r--r--uitest/src/com/vaadin/tests/push/PushWithPreserveOnRefresh.java48
-rw-r--r--uitest/src/com/vaadin/tests/push/PushWithPreserveOnRefreshTest.java38
2 files changed, 86 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/push/PushWithPreserveOnRefresh.java b/uitest/src/com/vaadin/tests/push/PushWithPreserveOnRefresh.java
new file mode 100644
index 0000000000..8834a05069
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/push/PushWithPreserveOnRefresh.java
@@ -0,0 +1,48 @@
+package com.vaadin.tests.push;
+
+import com.vaadin.annotations.PreserveOnRefresh;
+import com.vaadin.annotations.Push;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.tests.util.Log;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.Label;
+
+@PreserveOnRefresh
+@Push
+public class PushWithPreserveOnRefresh extends AbstractTestUI {
+
+ private Log log = new Log(5);
+ private int times = 0;
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ // Internal parameter sent by vaadinBootstrap.js,
+ addComponent(new Label("window.name: " + request.getParameter("v-wn")));
+ addComponent(new Label("UI id: " + getUIId()));
+ addComponent(log);
+
+ Button b = new Button("click me");
+ b.addClickListener(new ClickListener() {
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ log.log("Button has been clicked " + (++times) + " times");
+ }
+ });
+
+ addComponent(b);
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "Refreshing the browser window should preserve the state and push should continue to work";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return Integer.valueOf(13620);
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/push/PushWithPreserveOnRefreshTest.java b/uitest/src/com/vaadin/tests/push/PushWithPreserveOnRefreshTest.java
new file mode 100644
index 0000000000..3c532b2e55
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/push/PushWithPreserveOnRefreshTest.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.push;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.vaadin.testbench.elements.ButtonElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class PushWithPreserveOnRefreshTest extends MultiBrowserTest {
+
+ @Test
+ public void ensurePushWorksAfterRefresh() {
+ openTestURL();
+ $(ButtonElement.class).first().click();
+ $(ButtonElement.class).first().click();
+ Assert.assertEquals("2. Button has been clicked 2 times", getLogRow(0));
+ openTestURL();
+ Assert.assertEquals("2. Button has been clicked 2 times", getLogRow(0));
+ $(ButtonElement.class).first().click();
+ Assert.assertEquals("3. Button has been clicked 3 times", getLogRow(0));
+
+ }
+}