]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fix position of font icons in ComboBox (#9638)
authorHenri Sara <henri.sara@gmail.com>
Tue, 18 Jul 2017 10:04:48 +0000 (13:04 +0300)
committerTeemu Suo-Anttila <tsuoanttila@users.noreply.github.com>
Tue, 18 Jul 2017 10:04:48 +0000 (13:04 +0300)
Fixes #9637

tests/screenshots
themes/src/main/themes/VAADIN/themes/valo/components/_combobox.scss
uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxVaadinIcons.java [new file with mode: 0644]
uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxVaadinIconsTest.java [new file with mode: 0644]

index 21ea7e4a0bf740bb34ef5916caf0473c12825a54..7d70f6d3fa34ae6fdbfb874994f24ba08abfe13b 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 21ea7e4a0bf740bb34ef5916caf0473c12825a54
+Subproject commit 7d70f6d3fa34ae6fdbfb874994f24ba08abfe13b
index b81b44eb9a4ed640d8f4f821848a9140315f4835..e7f837d4c8d86c8aa19430fafe474601cf7c8eaf 100644 (file)
     width: $unit-size;
     line-height: 1;
     padding-top: .12em;
+
+    $padding-width: ceil($unit-size/6);
+    @if $border-radius {
+      $padding-width: $padding-width + ceil($border-radius/3);
+    }
+    margin-left: $padding-width;
   }
 
   &[class*="prompt"] > [class*="input"] {
diff --git a/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxVaadinIcons.java b/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxVaadinIcons.java
new file mode 100644 (file)
index 0000000..c35aa2a
--- /dev/null
@@ -0,0 +1,26 @@
+package com.vaadin.tests.components.combobox;
+
+import java.util.Arrays;
+
+import com.vaadin.annotations.Widgetset;
+import com.vaadin.icons.VaadinIcons;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.ComboBox;
+
+@Widgetset("com.vaadin.DefaultWidgetSet")
+public class ComboBoxVaadinIcons extends AbstractTestUI {
+
+    public static final VaadinIcons[] icons = new VaadinIcons[] {
+            VaadinIcons.AMBULANCE, VaadinIcons.PAPERPLANE,
+            VaadinIcons.AIRPLANE };
+
+    @Override
+    protected void setup(VaadinRequest request) {
+        ComboBox<String> comboBox = new ComboBox<>();
+        comboBox.setItems(Arrays.stream(icons).map(VaadinIcons::name));
+        comboBox.setItemIconGenerator(VaadinIcons::valueOf);
+        addComponent(comboBox);
+    }
+
+}
diff --git a/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxVaadinIconsTest.java b/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxVaadinIconsTest.java
new file mode 100644 (file)
index 0000000..0e71475
--- /dev/null
@@ -0,0 +1,23 @@
+package com.vaadin.tests.components.combobox;
+
+import java.io.IOException;
+
+import org.junit.Test;
+import org.openqa.selenium.Keys;
+
+import com.vaadin.testbench.elements.ComboBoxElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class ComboBoxVaadinIconsTest extends MultiBrowserTest {
+
+    @Test
+    public void testComboBoxIconRendering() throws IOException {
+        openTestURL();
+        ComboBoxElement comboBox = $(ComboBoxElement.class).first();
+        comboBox.openPopup();
+        compareScreen(comboBox.getSuggestionPopup(), "popup");
+        comboBox.sendKeys(Keys.ARROW_DOWN, Keys.ARROW_DOWN, Keys.ENTER);
+        compareScreen(comboBox, "paperplane");
+    }
+
+}