From 94a72099e2173701f187ee0801a65c96d4a354ab Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Mon, 24 Jan 2011 13:05:23 +0000 Subject: [PATCH] Test for #6316 svn changeset:17003/svn branch:6.5 --- .../tests/application/ErrorInUnloadEvent.java | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 tests/src/com/vaadin/tests/application/ErrorInUnloadEvent.java diff --git a/tests/src/com/vaadin/tests/application/ErrorInUnloadEvent.java b/tests/src/com/vaadin/tests/application/ErrorInUnloadEvent.java new file mode 100644 index 0000000000..f212e74ca3 --- /dev/null +++ b/tests/src/com/vaadin/tests/application/ErrorInUnloadEvent.java @@ -0,0 +1,103 @@ +package com.vaadin.tests.application; + +import com.vaadin.event.ShortcutAction.KeyCode; +import com.vaadin.tests.components.AbstractTestCase; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; +import com.vaadin.ui.Component; +import com.vaadin.ui.FormLayout; +import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.Label; +import com.vaadin.ui.TextField; +import com.vaadin.ui.VerticalLayout; +import com.vaadin.ui.Window; + +public class ErrorInUnloadEvent extends AbstractTestCase { + + private Window mainWindow; + + @Override + public void init() { + if (getUser() == null) { + showLoginWindow(); + } else { + showMainWindow(); + } + } + + private void showLoginWindow() { + if (mainWindow == null) { + mainWindow = new Window(); + } else { + mainWindow.removeAllComponents(); + } + mainWindow.setCaption("Please login"); + + FormLayout formLayout = new FormLayout(); + final TextField userField = new TextField("Username"); + userField.setDebugId("user"); + final TextField passwordField = new TextField("Password"); + passwordField.setDebugId("pwd"); + passwordField.setSecret(true); + Button login = new Button("login"); + login.setDebugId("loginButton"); + login.setClickShortcut(KeyCode.ENTER); + formLayout.addComponent(userField); + formLayout.addComponent(passwordField); + formLayout.addComponent(login); + mainWindow.setContent(formLayout); + + login.addListener(new ClickListener() { + public void buttonClick(final ClickEvent event) { + String username = (String) userField.getValue(); + String password = (String) passwordField.getValue(); + + setUser(username); + showMainWindow(); + } + }); + + setMainWindow(mainWindow); + } + + private void showMainWindow() { + if (mainWindow == null) { + mainWindow = new Window(); + } else { + mainWindow.removeAllComponents(); + } + VerticalLayout root = new VerticalLayout(); + root.addComponent(createHeader()); + + mainWindow.addComponent(root); + } + + private Component createHeader() { + HorizontalLayout header = new HorizontalLayout(); + header.addStyleName("header-background"); + Label title = new Label("...Title..."); + title.addStyleName("header-title"); + header.addComponent(title); + Button logout = new Button("Logout"); + logout.addListener(new ClickListener() { + public void buttonClick(final ClickEvent event) { + setUser(null); + showLoginWindow(); + } + + }); + header.addComponent(logout); + return header; + } + + @Override + protected String getDescription() { + return "Enter a text in the password field and press enter. Then reload the page. No error message should be printed about ignoring a variable change."; + } + + @Override + protected Integer getTicketNumber() { + return 6316; + } +} \ No newline at end of file -- 2.39.5