]> source.dussan.org Git - vaadin-framework.git/commitdiff
Test for #10155
authorArtur Signell <artur@vaadin.com>
Wed, 7 Nov 2012 13:16:05 +0000 (15:16 +0200)
committerArtur Signell <artur@vaadin.com>
Wed, 7 Nov 2012 13:16:14 +0000 (15:16 +0200)
Change-Id: I63428b4ae8492aba253dc3ac1c024bd61b692818

uitest/src/com/vaadin/tests/components/absolutelayout/AbsoluteLayoutHideComponent.java [new file with mode: 0644]

diff --git a/uitest/src/com/vaadin/tests/components/absolutelayout/AbsoluteLayoutHideComponent.java b/uitest/src/com/vaadin/tests/components/absolutelayout/AbsoluteLayoutHideComponent.java
new file mode 100644 (file)
index 0000000..b08d27e
--- /dev/null
@@ -0,0 +1,161 @@
+/*
+ * Copyright 2011 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.absolutelayout;
+
+import com.vaadin.server.ThemeResource;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.AbsoluteLayout;
+import com.vaadin.ui.Alignment;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Embedded;
+import com.vaadin.ui.GridLayout;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.PasswordField;
+import com.vaadin.ui.TextField;
+import com.vaadin.ui.VerticalLayout;
+
+public class AbsoluteLayoutHideComponent extends AbstractTestUI {
+
+    private AbsoluteLayout mainLayout;
+    private VerticalLayout topBar = new VerticalLayout();
+    private GridLayout menu;
+    private TextField editEmail = new TextField();
+    private PasswordField editPassword = new PasswordField();
+
+    @Override
+    protected void setup(VaadinRequest request) {
+        mainLayout = new AbsoluteLayout();
+        mainLayout.setImmediate(true);
+        mainLayout.setWidth("100%");
+        mainLayout.setHeight("100%");
+
+        topBar.setHeight("50px");
+        topBar.setWidth("100%");
+
+        HorizontalLayout layoutLogin = new HorizontalLayout();
+        layoutLogin.setSpacing(true);
+        layoutLogin.setHeight("100%");
+
+        Label label_eMail = new Label("e-Mail:");
+        layoutLogin.addComponent(label_eMail);
+        editEmail.setWidth("200px");
+        editEmail.setTabIndex(1);
+        layoutLogin.addComponent(editEmail);
+        layoutLogin.addComponent(new Label(" "));
+
+        layoutLogin.addComponent(new Label(" "));
+        Label label_password = new Label("password:");
+        layoutLogin.addComponent(label_password);
+        editPassword.setWidth("100px");
+        editPassword.setTabIndex(2);
+        layoutLogin.addComponent(editPassword);
+        layoutLogin.addComponent(new Label(" "));
+
+        // btnLogin
+        Button btnLogin = new Button();
+        btnLogin.setCaption("Login");
+        btnLogin.setImmediate(false);
+        btnLogin.setWidth("-1px");
+        btnLogin.setHeight("-1px");
+        btnLogin.addClickListener(new Button.ClickListener() {
+            public void buttonClick(Button.ClickEvent event) {
+                login();
+            }
+        });
+        layoutLogin.addComponent(btnLogin);
+
+        for (int index = 0; index < layoutLogin.getComponentCount(); index++) {
+            layoutLogin.setComponentAlignment(layoutLogin.getComponent(index),
+                    Alignment.MIDDLE_CENTER);
+        }
+
+        // =====> THIS CODE generates error
+        // WITHOUT THIS CODE works fine
+
+        Embedded e = new Embedded("", new ThemeResource(
+                "../runo/icons/64/ok.png"));
+        // e.setMimeType("image/jpg");
+        e.setWidth("100%");
+        e.setHeight("100%");
+        mainLayout.addComponent(e);
+
+        // =======
+
+        topBar.addComponent(layoutLogin);
+        mainLayout.addComponent(topBar, "left:0px;top:0px;");
+
+        menu = buildMenu();
+        menu.setVisible(false);
+        mainLayout.addComponent(menu, "left:20px;top:70px;");
+
+        setContent(mainLayout);
+    }
+
+    private GridLayout buildMenu() {
+        GridLayout gridButtons = new GridLayout(2, 3);
+
+        Button btn1 = new Button("Button one");
+        btn1.setImmediate(true);
+        btn1.addClickListener(new Button.ClickListener() {
+
+            @Override
+            public void buttonClick(ClickEvent event) {
+            }
+        });
+        gridButtons.addComponent(btn1, 0, 0);
+
+        Button btn2 = new Button("Button two");
+        btn2.setImmediate(true);
+        btn2.addClickListener(new Button.ClickListener() {
+
+            @Override
+            public void buttonClick(ClickEvent event) {
+            }
+        });
+        gridButtons.addComponent(btn2, 0, 1);
+
+        Button btn3 = new Button("Button three");
+        btn3.setImmediate(true);
+        btn3.addClickListener(new Button.ClickListener() {
+
+            @Override
+            public void buttonClick(ClickEvent event) {
+            }
+        });
+        gridButtons.addComponent(btn3, 1, 0);
+
+        return gridButtons;
+    }
+
+    private void login() {
+        menu.setVisible(true);
+        topBar.setVisible(false);
+    }
+
+    @Override
+    protected String getTestDescription() {
+        return "Clicking on the button should hide the fields and the button but leave the image";
+    }
+
+    @Override
+    protected Integer getTicketNumber() {
+        return 10155;
+    }
+
+}