summaryrefslogtreecommitdiffstats
path: root/uitest/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'uitest/src/com')
-rw-r--r--uitest/src/com/vaadin/tests/applicationservlet/MultipleServletConfigurationTest.java29
-rw-r--r--uitest/src/com/vaadin/tests/applicationservlet/NoApplicationClassTest.java24
-rw-r--r--uitest/src/com/vaadin/tests/applicationservlet/SystemMessages.java81
-rw-r--r--uitest/src/com/vaadin/tests/applicationservlet/SystemMessagesTest.java103
4 files changed, 145 insertions, 92 deletions
diff --git a/uitest/src/com/vaadin/tests/applicationservlet/MultipleServletConfigurationTest.java b/uitest/src/com/vaadin/tests/applicationservlet/MultipleServletConfigurationTest.java
new file mode 100644
index 0000000000..39e8d04ffc
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/applicationservlet/MultipleServletConfigurationTest.java
@@ -0,0 +1,29 @@
+package com.vaadin.tests.applicationservlet;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.vaadin.testbench.elements.LabelElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class MultipleServletConfigurationTest extends MultiBrowserTest {
+
+ @Override
+ protected void closeApplication() {
+ }
+
+ @Test
+ public void testMultipleServletConfiguration() throws Exception {
+ getDriver().get(getBaseURL() + "/embed1");
+ assertLabelText("A generic test for Buttons in different configurations");
+ getDriver().get(getBaseURL() + "/embed2");
+ assertLabelText("Margins inside labels should not be allowed to collapse out of the label as it causes problems with layotus measuring the label.");
+ getDriver().get(getBaseURL() + "/embed1");
+ assertLabelText("A generic test for Buttons in different configurations");
+ }
+
+ private void assertLabelText(String expected) {
+ Assert.assertEquals("Unexpected label text,", expected,
+ $(LabelElement.class).first().getText());
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/applicationservlet/NoApplicationClassTest.java b/uitest/src/com/vaadin/tests/applicationservlet/NoApplicationClassTest.java
index 8020870bdc..3faf5bde72 100644
--- a/uitest/src/com/vaadin/tests/applicationservlet/NoApplicationClassTest.java
+++ b/uitest/src/com/vaadin/tests/applicationservlet/NoApplicationClassTest.java
@@ -15,34 +15,34 @@
*/
package com.vaadin.tests.applicationservlet;
-import java.util.List;
-
import org.junit.Assert;
import org.junit.Test;
import org.openqa.selenium.By;
-import org.openqa.selenium.remote.DesiredCapabilities;
-import com.vaadin.testbench.parallel.Browser;
-import com.vaadin.tests.tb3.MultiBrowserTest;
+import com.vaadin.tests.tb3.SingleBrowserTest;
-public class NoApplicationClassTest extends MultiBrowserTest {
+public class NoApplicationClassTest extends SingleBrowserTest {
@Test
public void testInvalidApplicationClass() {
openTestURL();
String exceptionMessage = getDriver().findElement(By.xpath("//pre[2]"))
.getText();
- Assert.assertTrue(exceptionMessage
- .contains("ServletException: java.lang.ClassNotFoundException: ClassThatIsNotPresent"));
+ String expected = "ServletException: java.lang.ClassNotFoundException: ClassThatIsNotPresent";
+ Assert.assertTrue(
+ String.format(
+ "Unexpected error message.\n expected to contain: '%s'\n was: %s",
+ expected, exceptionMessage), exceptionMessage
+ .contains(expected));
}
@Override
- public List<DesiredCapabilities> getBrowsersToTest() {
- return getBrowserCapabilities(Browser.CHROME);
+ protected String getDeploymentPath() {
+ return "/run/ClassThatIsNotPresent";
}
@Override
- protected String getDeploymentPath() {
- return "/run/ClassThatIsNotPresent";
+ protected void openTestURL(String... parameters) {
+ driver.get(getTestUrl());
}
}
diff --git a/uitest/src/com/vaadin/tests/applicationservlet/SystemMessages.java b/uitest/src/com/vaadin/tests/applicationservlet/SystemMessages.java
new file mode 100644
index 0000000000..00547aa2d2
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/applicationservlet/SystemMessages.java
@@ -0,0 +1,81 @@
+package com.vaadin.tests.applicationservlet;
+
+import java.util.Locale;
+
+import com.vaadin.data.Property.ValueChangeEvent;
+import com.vaadin.data.Property.ValueChangeListener;
+import com.vaadin.launcher.ApplicationRunnerServlet;
+import com.vaadin.server.CustomizedSystemMessages;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.server.VaadinService;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.NativeSelect;
+
+public class SystemMessages extends AbstractTestUI {
+
+ public class MyButton extends Button {
+ private boolean fail = false;
+
+ @Override
+ public void beforeClientResponse(boolean initial) {
+ // Set the error message to contain the current locale.
+ VaadinService.getCurrentRequest().setAttribute(
+ ApplicationRunnerServlet.CUSTOM_SYSTEM_MESSAGES_PROPERTY,
+ new CustomizedSystemMessages() {
+ @Override
+ public String getInternalErrorMessage() {
+ return "MessagesInfo locale: " + getLocale();
+ }
+ });
+ super.beforeClientResponse(initial);
+ if (fail) {
+ throw new RuntimeException("Failed on purpose");
+ }
+ }
+ }
+
+ @Override
+ protected void setup(final VaadinRequest request) {
+ final NativeSelect localeSelect = new NativeSelect("UI locale");
+ localeSelect.setImmediate(true);
+ localeSelect.addItem(new Locale("en", "US"));
+ localeSelect.addItem(new Locale("fi", "FI"));
+ localeSelect.addItem(Locale.GERMANY);
+ localeSelect.addValueChangeListener(new ValueChangeListener() {
+
+ @Override
+ public void valueChange(ValueChangeEvent event) {
+ Locale locale = (Locale) localeSelect.getValue();
+ setLocale(locale);
+ }
+ });
+ localeSelect.setValue(new Locale("fi", "FI"));
+ addComponent(localeSelect);
+ final MyButton failButton = new MyButton();
+ failButton.setCaption("Generate server side error");
+ failButton.addClickListener(new ClickListener() {
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ failButton.fail = true;
+ failButton.markAsDirty();
+ }
+ });
+ addComponent(failButton);
+
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "SystemMessagesProvider.getSystemMessages should get an event object";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 10226;
+ }
+
+}
diff --git a/uitest/src/com/vaadin/tests/applicationservlet/SystemMessagesTest.java b/uitest/src/com/vaadin/tests/applicationservlet/SystemMessagesTest.java
index 047e465722..bbbb49b39c 100644
--- a/uitest/src/com/vaadin/tests/applicationservlet/SystemMessagesTest.java
+++ b/uitest/src/com/vaadin/tests/applicationservlet/SystemMessagesTest.java
@@ -1,91 +1,34 @@
package com.vaadin.tests.applicationservlet;
-import java.util.Locale;
+import org.junit.Assert;
+import org.junit.Test;
-import com.vaadin.data.Property.ValueChangeEvent;
-import com.vaadin.data.Property.ValueChangeListener;
-import com.vaadin.server.CustomizedSystemMessages;
-import com.vaadin.server.SystemMessages;
-import com.vaadin.server.SystemMessagesInfo;
-import com.vaadin.server.SystemMessagesProvider;
-import com.vaadin.server.VaadinRequest;
-import com.vaadin.tests.components.AbstractTestUI;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-import com.vaadin.ui.NativeSelect;
+import com.vaadin.testbench.elements.ButtonElement;
+import com.vaadin.testbench.elements.NativeSelectElement;
+import com.vaadin.testbench.elements.NotificationElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
-public class SystemMessagesTest extends AbstractTestUI {
-
- public class MyButton extends Button {
- private boolean fail = false;
-
- @Override
- public void beforeClientResponse(boolean initial) {
- super.beforeClientResponse(initial);
- if (fail) {
- throw new RuntimeException("Failed on purpose");
- }
- }
-
- }
-
- @Override
- protected void setup(VaadinRequest request) {
- final NativeSelect localeSelect = new NativeSelect("UI locale");
- localeSelect.setImmediate(true);
- localeSelect.addItem(new Locale("en", "US"));
- localeSelect.addItem(new Locale("fi", "FI"));
- localeSelect.addItem(Locale.GERMANY);
- localeSelect.addValueChangeListener(new ValueChangeListener() {
-
- @Override
- public void valueChange(ValueChangeEvent event) {
- setLocale((Locale) localeSelect.getValue());
- getSession().getService().setSystemMessagesProvider(
- new SystemMessagesProvider() {
-
- @Override
- public SystemMessages getSystemMessages(
- SystemMessagesInfo systemMessagesInfo) {
- CustomizedSystemMessages csm = new CustomizedSystemMessages();
- // csm.setInternalErrorCaption("Request query string: "
- // + ((VaadinServletRequest) systemMessagesInfo
- // .getRequest()).getQueryString());
- csm.setInternalErrorMessage("MessagesInfo locale: "
- + systemMessagesInfo.getLocale());
- return csm;
-
- }
- });
- }
- });
- localeSelect.setValue(new Locale("fi", "FI"));
- addComponent(localeSelect);
- final MyButton failButton = new MyButton();
- failButton.setCaption("Generate server side error");
- failButton.addClickListener(new ClickListener() {
-
- @Override
- public void buttonClick(ClickEvent event) {
- failButton.fail = true;
- failButton.markAsDirty();
- }
- });
- addComponent(failButton);
+public class SystemMessagesTest extends MultiBrowserTest {
+ @Test
+ public void testFinnishLocaleInSystemErrorMessage() throws Exception {
+ openTestURL();
+ verifyError("fi_FI");
}
- @Override
- protected String getTestDescription() {
- // TODO Auto-generated method stub
- return null;
+ @Test
+ public void testGermanLocaleInSystemErrorMessage() throws Exception {
+ openTestURL();
+ $(NativeSelectElement.class).first().selectByText("de_DE");
+ verifyError("de_DE");
}
- @Override
- protected Integer getTicketNumber() {
- // TODO Auto-generated method stub
- return null;
+ private void verifyError(String locale) {
+ $(ButtonElement.class).first().click();
+ NotificationElement notification = $(NotificationElement.class).first();
+ Assert.assertEquals("Incorrect notification caption,",
+ notification.getCaption(), "Internal error");
+ Assert.assertEquals("Incorrect notification description,",
+ notification.getDescription(), "MessagesInfo locale: " + locale);
}
-
}