aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qquickmaterialstyle
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2016-08-23 16:33:21 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-09-02 14:40:34 +0000
commit33904b63ce9971efc3763a0048a084ec3324dfc4 (patch)
treee2ad51da97a0a904bda0304659bdc618e95ed877 /tests/auto/qquickmaterialstyle
parentc8372be0b96b1aaa9f8cb8737f8d4a662252d446 (diff)
Material: ignore Material.background unless explicitly set
Doing Material.background: "red" in an ApplicationWindow shouldn't affect the background color of e.g. a Button. The background property should still propagate though, so we change buttonColor() to ignore the value of background if it wasn't explicitly set. Change-Id: I09b4df142935b19de35a77bd68c6c062417b74fc Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'tests/auto/qquickmaterialstyle')
-rw-r--r--tests/auto/qquickmaterialstyle/data/tst_material.qml29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/qquickmaterialstyle/data/tst_material.qml b/tests/auto/qquickmaterialstyle/data/tst_material.qml
index 7305b732..1cd1d16d 100644
--- a/tests/auto/qquickmaterialstyle/data/tst_material.qml
+++ b/tests/auto/qquickmaterialstyle/data/tst_material.qml
@@ -74,6 +74,11 @@ TestCase {
}
Component {
+ id: applicationWindow
+ ApplicationWindow { }
+ }
+
+ Component {
id: styledWindow
Window {
Material.theme: Material.Dark
@@ -600,4 +605,28 @@ TestCase {
window.destroy()
}
+
+ function test_buttonBackground() {
+ var appWindow = applicationWindow.createObject(testCase)
+ verify(appWindow)
+ appWindow.visible = true
+
+ var childButton = button.createObject(appWindow)
+ verify(childButton)
+
+ var buttonBackgroundColor = childButton.background.color
+ appWindow.Material.background = "red"
+ // We wait the length of the color animation to be sure that it hasn't actually changed.
+ wait(400)
+ // We want childButton.Material.background to be equal to appWindow.Material.background,
+ // because we want the color to propagate to items that might actually use it...
+ // but Button doesn't use the background color unless explicitly set,
+ // so we compare the actual background rect color instead.
+ compare(childButton.background.color, buttonBackgroundColor)
+
+ childButton.Material.background = "#0000ff"
+ tryCompare(childButton.background, "color", "#0000ff")
+
+ appWindow.destroy()
+ }
}