# HG changeset patch # Parent a83aa0a73ee54ab58a6dc26b913ab4ee34df6fa3 [TEST-ONLY] unit test for RT-37787: Sizing fonts with CSS em can result in wrong size font being displayed diff -r a83aa0a73ee5 modules/controls/src/test/java/com/sun/javafx/scene/control/skin/LabeledTextTest.java --- a/modules/controls/src/test/java/com/sun/javafx/scene/control/skin/LabeledTextTest.java Thu Jul 03 15:09:13 2014 +0300 +++ b/modules/controls/src/test/java/com/sun/javafx/scene/control/skin/LabeledTextTest.java Thu Jul 03 16:05:11 2014 -0400 @@ -27,16 +27,12 @@ import javafx.css.CssMetaData; import com.sun.javafx.css.Stylesheet; -import java.util.List; -import javafx.beans.value.ChangeListener; -import javafx.beans.value.ObservableValue; -import javafx.beans.value.WritableValue; import javafx.scene.Cursor; +import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.effect.BlendMode; import javafx.scene.paint.Color; -import javafx.scene.paint.Paint; import javafx.scene.text.Font; import javafx.scene.text.TextAlignment; import javafx.stage.Stage; @@ -371,5 +367,30 @@ labeledText = ((com.sun.javafx.scene.control.skin.LabeledSkinBase)label.getSkin()).text; assertTrue(labeledText.isUnderline()); } - + + + @Test public void test_RT_37787() { + + label = new Label("test_RT_37787"); + label.getStyleClass().clear(); + label.setId("test-rt-37787"); + + scene = new Scene(new Group(label)); + String url = getClass().getResource("LabeledTextTest.css").toExternalForm(); + scene.getStylesheets().add(url); + + label.setFont(Font.font(10)); + assertEquals(10, label.getFont().getSize(), .0001); + + stage.setScene(scene); + stage.show(); + + // If the actual size is 10 * 1.5 * 1.5 = 22.5, then we've encountered RT-37787! + double expected = Font.getDefault().getSize() * 1.5; + double actual = label.getFont().getSize(); + assertEquals(expected, actual, .0001); + + } + + } diff -r a83aa0a73ee5 modules/controls/src/test/resources/com/sun/javafx/scene/control/skin/LabeledTextTest.css --- a/modules/controls/src/test/resources/com/sun/javafx/scene/control/skin/LabeledTextTest.css Thu Jul 03 15:09:13 2014 +0300 +++ b/modules/controls/src/test/resources/com/sun/javafx/scene/control/skin/LabeledTextTest.css Thu Jul 03 16:05:11 2014 -0400 @@ -12,3 +12,5 @@ -fx-underline: true; } +#test-rt-37787 { -fx-font-size: 1.5em; } +