diff options
author | Artur Signell <artur@vaadin.com> | 2013-10-07 18:12:06 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2013-10-08 12:25:17 +0000 |
commit | f488825d46c984cea841534178b094be3a562eea (patch) | |
tree | 2fe8898d4bb7a520ddfdb7b81e0392abe7a505da /uitest/src/com/vaadin/tests/push/PushConfiguration.java | |
parent | 63e16e6547b4a7c067a9a1fa53dcecb9d704016b (diff) | |
download | vaadin-framework-f488825d46c984cea841534178b094be3a562eea.tar.gz vaadin-framework-f488825d46c984cea841534178b094be3a562eea.zip |
Update TB3+ convention to use a separate *Test file
For any issue there should be a UI class, e.g. LabelSomething and a
Test class which has the name of the UI + Test, e.g. LabelSomethingTest.
The LabelSomethingTest contains ALL tests which depend on LabelSomething
and are named accordingly to what they test.
For special and legacy cases also LegacyApplication and UIProvider are
supported in addition to UI classes
Change-Id: Ifc0180b377284bbd029202494ad194d324f8213b
Diffstat (limited to 'uitest/src/com/vaadin/tests/push/PushConfiguration.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/push/PushConfiguration.java | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/push/PushConfiguration.java b/uitest/src/com/vaadin/tests/push/PushConfiguration.java new file mode 100644 index 0000000000..a7ba4e43ba --- /dev/null +++ b/uitest/src/com/vaadin/tests/push/PushConfiguration.java @@ -0,0 +1,117 @@ +/* + * Copyright 2000-2013 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 java.util.Date; +import java.util.Timer; +import java.util.TimerTask; + +import com.vaadin.data.util.ObjectProperty; +import com.vaadin.server.VaadinRequest; +import com.vaadin.shared.ui.label.ContentMode; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Label; + +public class PushConfiguration extends AbstractTestUI { + + private ObjectProperty<Integer> counter = new ObjectProperty<Integer>(0); + + private ObjectProperty<Integer> counter2 = new ObjectProperty<Integer>(0); + + private final Timer timer = new Timer(true); + + private final TimerTask task = new TimerTask() { + + @Override + public void run() { + access(new Runnable() { + @Override + public void run() { + counter2.setValue(counter2.getValue() + 1); + } + }); + } + }; + + @Override + protected void setup(VaadinRequest request) { + addComponent(new PushConfigurator(this)); + spacer(); + + /* + * Client initiated push. + */ + Label lbl = new Label(counter); + lbl.setCaption("Client counter (click 'increment' to update):"); + addComponent(lbl); + + addComponent(new Button("Increment", new Button.ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + counter.setValue(counter.getValue() + 1); + } + })); + + spacer(); + + /* + * Server initiated push. + */ + lbl = new Label(counter2); + lbl.setCaption("Server counter (updates each 1s by server thread) :"); + addComponent(lbl); + + addComponent(new Button("Reset", new Button.ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + counter2.setValue(0); + } + })); + } + + @Override + protected String getTestDescription() { + return "This test tests the very basic operations of push. " + + "It tests that client initiated changes are " + + "recieved back to the client as well as server " + + "initiated changes are correctly updated to the client."; + } + + @Override + protected Integer getTicketNumber() { + return 11494; + } + + private void spacer() { + addComponent(new Label("<hr/>", ContentMode.HTML)); + } + + @Override + public void attach() { + super.attach(); + timer.scheduleAtFixedRate(task, new Date(), 1000); + } + + @Override + public void detach() { + super.detach(); + timer.cancel(); + } +} |