diff options
Diffstat (limited to 'uitest/src/com/vaadin/tests/components/ui')
7 files changed, 272 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/ui/DynamicViewport.java b/uitest/src/com/vaadin/tests/components/ui/DynamicViewport.java new file mode 100644 index 0000000000..ca9ebcd451 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/ui/DynamicViewport.java @@ -0,0 +1,43 @@ +/* + * 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.components.ui; + +import com.vaadin.annotations.ViewportGeneratorClass; +import com.vaadin.server.VaadinRequest; +import com.vaadin.server.ViewportGenerator; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.tests.components.ui.DynamicViewport.MyViewportGenerator; +import com.vaadin.ui.Label; + +@ViewportGeneratorClass(MyViewportGenerator.class) +public class DynamicViewport extends AbstractTestUI { + public static class MyViewportGenerator implements ViewportGenerator { + @Override + public String getViewport(VaadinRequest request) { + String userAgent = request.getHeader("User-Agent"); + System.out.println(userAgent); + if (userAgent == null || userAgent.contains("Chrome")) { + return null; + } + return userAgent; + } + } + + @Override + protected void setup(VaadinRequest request) { + addComponent(new Label("I should have a dynamic viewport tag")); + } +} diff --git a/uitest/src/com/vaadin/tests/components/ui/DynamicViewportEmptyTest.java b/uitest/src/com/vaadin/tests/components/ui/DynamicViewportEmptyTest.java new file mode 100644 index 0000000000..40ec937c1c --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/ui/DynamicViewportEmptyTest.java @@ -0,0 +1,52 @@ +/* + * 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.components.ui; + +import java.util.Arrays; +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.remote.DesiredCapabilities; + +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class DynamicViewportEmptyTest extends MultiBrowserTest { + + @Override + protected Class<?> getUIClass() { + return DynamicViewport.class; + } + + @Override + public List<DesiredCapabilities> getBrowsersToTest() { + return Arrays.asList(Browser.CHROME.getDesiredCapabilities()); + } + + @Test + public void testGeneratedEmptyViewport() { + openTestURL(); + + List<WebElement> viewportElements = findElements(By + .cssSelector("meta[name=viewport]")); + + Assert.assertTrue("There should be no viewport tags", + viewportElements.isEmpty()); + } + +} diff --git a/uitest/src/com/vaadin/tests/components/ui/DynamicViewportTest.java b/uitest/src/com/vaadin/tests/components/ui/DynamicViewportTest.java new file mode 100644 index 0000000000..f1d9efdbd1 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/ui/DynamicViewportTest.java @@ -0,0 +1,37 @@ +/* + * 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.components.ui; + +import org.junit.Assert; +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; + +import com.vaadin.tests.tb3.SingleBrowserTest; + +public class DynamicViewportTest extends SingleBrowserTest { + + @Test + public void testGeneratedViewport() { + openTestURL(); + + WebElement viewportElement = findElement(By + .cssSelector("meta[name=viewport]")); + + Assert.assertTrue(viewportElement.getAttribute("content").contains( + "PhantomJS")); + } +} diff --git a/uitest/src/com/vaadin/tests/components/ui/InvalidViewport.java b/uitest/src/com/vaadin/tests/components/ui/InvalidViewport.java new file mode 100644 index 0000000000..9557a2d2b0 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/ui/InvalidViewport.java @@ -0,0 +1,36 @@ +/* + * 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.components.ui; + +import com.vaadin.annotations.Viewport; +import com.vaadin.annotations.ViewportGeneratorClass; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.tests.components.ui.DynamicViewport.MyViewportGenerator; +import com.vaadin.ui.Label; + +@ViewportGeneratorClass(MyViewportGenerator.class) +@Viewport("myViewport") +public class InvalidViewport extends AbstractTestUI { + + @Override + protected void setup(VaadinRequest request) { + addComponent(new Label( + "I shouldn't load because of conflicting viewport definitions")); + + } + +} diff --git a/uitest/src/com/vaadin/tests/components/ui/InvalidViewportTest.java b/uitest/src/com/vaadin/tests/components/ui/InvalidViewportTest.java new file mode 100644 index 0000000000..9d0aac49f7 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/ui/InvalidViewportTest.java @@ -0,0 +1,36 @@ +/* + * 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.components.ui; + +import org.junit.Assert; +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; + +import com.vaadin.tests.tb3.SingleBrowserTest; + +public class InvalidViewportTest extends SingleBrowserTest { + + @Test + public void testInvalidViewport() { + openTestURL(); + + WebElement heading = findElement(By.tagName("h2")); + + Assert.assertEquals("HTTP ERROR 500", heading.getText()); + } + +} diff --git a/uitest/src/com/vaadin/tests/components/ui/StaticViewport.java b/uitest/src/com/vaadin/tests/components/ui/StaticViewport.java new file mode 100644 index 0000000000..813206dbe8 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/ui/StaticViewport.java @@ -0,0 +1,31 @@ +/* + * 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.components.ui; + +import com.vaadin.annotations.Viewport; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Label; + +@Viewport("myViewport") +public class StaticViewport extends AbstractTestUI { + + @Override + protected void setup(VaadinRequest request) { + addComponent(new Label("I should have a static viewport tag")); + } + +} diff --git a/uitest/src/com/vaadin/tests/components/ui/StaticViewportTest.java b/uitest/src/com/vaadin/tests/components/ui/StaticViewportTest.java new file mode 100644 index 0000000000..61b3c944c9 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/ui/StaticViewportTest.java @@ -0,0 +1,37 @@ +/* + * 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.components.ui; + +import org.junit.Assert; +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; + +import com.vaadin.tests.tb3.SingleBrowserTest; + +public class StaticViewportTest extends SingleBrowserTest { + + @Test + public void testStaticViewport() { + openTestURL(); + + WebElement viewportElement = findElement(By + .cssSelector("meta[name=viewport]")); + + Assert.assertEquals("myViewport", + viewportElement.getAttribute("content")); + } +} |