aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/material/data/tst_material.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/material/data/tst_material.qml')
-rw-r--r--tests/auto/material/data/tst_material.qml506
1 files changed, 0 insertions, 506 deletions
diff --git a/tests/auto/material/data/tst_material.qml b/tests/auto/material/data/tst_material.qml
deleted file mode 100644
index 6e9d742e..00000000
--- a/tests/auto/material/data/tst_material.qml
+++ /dev/null
@@ -1,506 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.2
-import QtQuick.Window 2.2
-import QtTest 1.0
-import Qt.labs.controls 1.0
-import Qt.labs.controls.material 1.0
-
-TestCase {
- id: testCase
- width: 200
- height: 200
- visible: true
- when: windowShown
- name: "Material"
-
- Component {
- id: button
- Button { }
- }
-
- Component {
- id: styledButton
- Button {
- Material.theme: Material.Dark
- Material.primary: Material.DeepOrange
- Material.accent: Material.DeepPurple
- }
- }
-
- Component {
- id: window
- Window { }
- }
-
- Component {
- id: styledWindow
- Window {
- Material.theme: Material.Dark
- Material.primary: Material.Brown
- Material.accent: Material.Green
- }
- }
-
- Component {
- id: loader
- Loader {
- active: false
- sourceComponent: Button { }
- }
- }
-
- Component {
- id: swipeView
- SwipeView {
- Material.theme: Material.Dark
- Button { }
- }
- }
-
- Component {
- id: menu
- ApplicationWindow {
- Material.primary: Material.Blue
- Material.accent: Material.Red
- property alias menu: popup
- Menu {
- id: popup
- Material.theme: Material.Dark
- MenuItem { }
- }
- }
- }
-
- Component {
- id: popupComponent
- ApplicationWindow {
- Material.primary: Material.Blue
- Material.accent: Material.Red
- visible: true
- property alias popup: popupInstance
- property alias label: labelInstance
- Popup {
- id: popupInstance
- Label {
- id: labelInstance
- text: "test"
- color: popupInstance.Material.textSelectionColor
- }
- Component.onCompleted: open()
- }
- }
- }
-
- Component {
- id: comboBox
- ApplicationWindow {
- width: 200
- height: 200
- visible: true
- Material.primary: Material.Blue
- Material.accent: Material.Red
- property alias combo: box
- ComboBox {
- id: box
- Material.theme: Material.Dark
- model: 1
- }
- }
- }
-
- Component {
- id: windowPane
- ApplicationWindow {
- width: 200
- height: 200
- visible: true
- property alias pane: pane
- Pane { id: pane }
- }
- }
-
- function test_defaults() {
- var control = button.createObject(testCase)
- verify(control)
- verify(control.Material)
- compare(control.Material.primary, Material.color(Material.Indigo))
- compare(control.Material.accent, Material.color(Material.Pink))
- compare(control.Material.theme, Material.Light)
- control.destroy()
- }
-
- function test_set() {
- var control = button.createObject(testCase)
- verify(control)
- control.Material.primary = Material.Green
- control.Material.accent = Material.Brown
- control.Material.theme = Material.Dark
- compare(control.Material.primary, Material.color(Material.Green))
- compare(control.Material.accent, Material.color(Material.Brown))
- compare(control.Material.theme, Material.Dark)
- control.destroy()
- }
-
- function test_reset() {
- var control = styledButton.createObject(testCase)
- verify(control)
- compare(control.Material.primary, Material.color(Material.DeepOrange))
- compare(control.Material.accent, Material.color(Material.DeepPurple))
- compare(control.Material.theme, Material.Dark)
- control.Material.primary = undefined
- control.Material.accent = undefined
- control.Material.theme = undefined
- compare(control.Material.primary, testCase.Material.primary)
- compare(control.Material.accent, testCase.Material.accent)
- compare(control.Material.theme, testCase.Material.theme)
- control.destroy()
- }
-
- function test_inheritance_data() {
- return [
- { tag: "primary", value1: Material.color(Material.Amber), value2: Material.color(Material.Indigo) },
- { tag: "accent", value1: Material.color(Material.Amber), value2: Material.color(Material.Indigo) },
- { tag: "theme", value1: Material.Dark, value2: Material.Light },
- ]
- }
-
- function test_inheritance(data) {
- var prop = data.tag
- var parent = button.createObject(testCase)
- parent.Material[prop] = data.value1
- compare(parent.Material[prop], data.value1)
-
- var child1 = button.createObject(parent)
- compare(child1.Material[prop], data.value1)
-
- parent.Material[prop] = data.value2
- compare(parent.Material[prop], data.value2)
- compare(child1.Material[prop], data.value2)
-
- var child2 = button.createObject(parent)
- compare(child2.Material[prop], data.value2)
-
- child2.Material[prop] = data.value1
- compare(child2.Material[prop], data.value1)
- compare(child1.Material[prop], data.value2)
- compare(parent.Material[prop], data.value2)
-
- parent.Material[prop] = undefined
- verify(parent.Material[prop] !== data.value1)
- verify(parent.Material[prop] !== undefined)
- compare(child1.Material[prop], parent.Material[prop])
- verify(child2.Material[prop] !== parent.Material[prop])
-
- var grandChild1 = button.createObject(child1)
- var grandChild2 = button.createObject(child2)
- compare(grandChild1.Material[prop], child1.Material[prop])
- compare(grandChild2.Material[prop], child2.Material[prop])
-
- var themelessGrandGrandChild = button.createObject(grandChild1)
- var grandGrandGrandChild1 = button.createObject(themelessGrandGrandChild)
- compare(grandGrandGrandChild1.Material[prop], parent.Material[prop])
-
- child1.Material[prop] = data.value2
- compare(child1.Material[prop], data.value2)
- compare(grandChild1.Material[prop], data.value2)
- compare(grandGrandGrandChild1.Material[prop], data.value2)
-
- parent.destroy()
- }
-
- function test_inheritance_popup_data() {
- return [
- { tag: "primary", value1: Material.color(Material.Amber), value2: Material.color(Material.Indigo) },
- { tag: "accent", value1: Material.color(Material.Amber), value2: Material.color(Material.Indigo) },
- { tag: "theme", value1: Material.Dark, value2: Material.Light },
- ]
- }
-
- function test_inheritance_popup(data) {
- var prop = data.tag
- var popupObject = popupComponent.createObject(testCase)
- compare(popupObject.popup.Material.textSelectionColor.toString(), popupObject.Material.textSelectionColor.toString())
- compare(popupObject.label.color.toString(), popupObject.Material.textSelectionColor.toString())
-
- popupObject.Material[prop] = data.value1
- compare(popupObject.Material[prop], data.value1)
- compare(popupObject.popup.Material.textSelectionColor.toString(), popupObject.Material.textSelectionColor.toString())
- compare(popupObject.label.color.toString(), popupObject.Material.textSelectionColor.toString())
-
- popupObject.Material[prop] = data.value2
- compare(popupObject.Material[prop], data.value2)
- compare(popupObject.popup.Material.textSelectionColor.toString(), popupObject.Material.textSelectionColor.toString())
- compare(popupObject.label.color.toString(), popupObject.Material.textSelectionColor.toString())
-
- popupObject.destroy()
- }
-
- function test_window() {
- var parent = window.createObject()
-
- var control = button.createObject(parent.contentItem)
- compare(control.Material.primary, parent.Material.primary)
- compare(control.Material.accent, parent.Material.accent)
- compare(control.Material.theme, parent.Material.theme)
-
- var styledChild = styledWindow.createObject(window)
- verify(styledChild.Material.primary !== parent.Material.primary)
- verify(styledChild.Material.accent !== parent.Material.accent)
- verify(styledChild.Material.theme !== parent.Material.theme)
-
- var unstyledChild = window.createObject(window)
- compare(unstyledChild.Material.primary, parent.Material.primary)
- compare(unstyledChild.Material.accent, parent.Material.accent)
- compare(unstyledChild.Material.theme, parent.Material.theme)
-
- parent.Material.primary = Material.Lime
- compare(control.Material.primary, Material.color(Material.Lime))
- verify(styledChild.Material.primary !== Material.color(Material.Lime))
- // ### TODO: compare(unstyledChild.Material.primary, Material.color(Material.Lime))
-
- parent.Material.accent = Material.Cyan
- compare(control.Material.accent, Material.color(Material.Cyan))
- verify(styledChild.Material.accent !== Material.color(Material.Cyan))
- // ### TODO: compare(unstyledChild.Material.accent, Material.color(Material.Cyan))
-
- parent.destroy()
- }
-
- function test_loader() {
- var control = loader.createObject(testCase)
- control.Material.primary = Material.Yellow
- control.Material.accent = Material.Lime
- control.active = true
- compare(control.item.Material.primary, Material.color(Material.Yellow))
- compare(control.item.Material.accent, Material.color(Material.Lime))
- control.Material.primary = Material.Red
- control.Material.accent = Material.Pink
- compare(control.item.Material.primary, Material.color(Material.Red))
- compare(control.item.Material.accent, Material.color(Material.Pink))
- control.active = false
- control.Material.primary = Material.Orange
- control.Material.accent = Material.Brown
- control.active = true
- compare(control.item.Material.primary, Material.color(Material.Orange))
- compare(control.item.Material.accent, Material.color(Material.Brown))
- control.destroy()
- }
-
- function test_swipeView() {
- var control = swipeView.createObject(testCase)
- verify(control)
- var child = control.itemAt(0)
- verify(child)
- compare(control.Material.theme, Material.Dark)
- compare(child.Material.theme, Material.Dark)
- control.destroy()
- }
-
- function test_menu() {
- var container = menu.createObject(testCase)
- verify(container)
- verify(container.menu)
- container.menu.open()
- verify(container.menu.visible)
- var child = container.menu.itemAt(0)
- verify(child)
- compare(container.Material.theme, Material.Light)
- compare(container.menu.Material.theme, Material.Dark)
- compare(child.Material.theme, Material.Dark)
- compare(container.Material.primary, Material.color(Material.Blue))
- compare(container.menu.Material.primary, Material.color(Material.Blue))
- compare(child.Material.primary, Material.color(Material.Blue))
- compare(container.Material.accent, Material.color(Material.Red))
- compare(container.menu.Material.accent, Material.color(Material.Red))
- compare(child.Material.accent, Material.color(Material.Red))
- container.destroy()
- }
-
- function test_comboBox() {
- var window = comboBox.createObject(testCase)
- verify(window)
- verify(window.combo)
- waitForRendering(window.combo)
- window.combo.forceActiveFocus()
- verify(window.combo.activeFocus)
- keyClick(Qt.Key_Space)
- verify(window.combo.popup.visible)
- var listView = window.combo.popup.contentItem
- verify(listView)
- var child = listView.contentItem.children[0]
- verify(child)
- compare(window.Material.theme, Material.Light)
- compare(window.combo.Material.theme, Material.Dark)
- compare(child.Material.theme, Material.Dark)
- compare(window.Material.primary, Material.color(Material.Blue))
- compare(window.combo.Material.primary, Material.color(Material.Blue))
- compare(child.Material.primary, Material.color(Material.Blue))
- compare(window.Material.accent, Material.color(Material.Red))
- compare(window.combo.Material.accent, Material.color(Material.Red))
- compare(child.Material.accent, Material.color(Material.Red))
- window.destroy()
- }
-
-
- function test_colors_data() {
- return [
- { tag: "primary" }, { tag: "accent" }
- ]
- }
-
- function test_colors(data) {
- var control = button.createObject(testCase)
- verify(control)
-
- var prop = data.tag
-
- // Material.Color - enum
- control.Material[prop] = Material.Red
- compare(control.Material[prop], "#f44336")
-
- // Material.Color - string
- control.Material[prop] = "BlueGrey"
- compare(control.Material[prop], "#607d8b")
-
- // SVG named color
- control.Material[prop] = "tomato"
- compare(control.Material[prop], "#ff6347")
-
- // #rrggbb
- control.Material[prop] = "#123456"
- compare(control.Material[prop], "#123456")
-
- // #aarrggbb
- control.Material[prop] = "#12345678"
- compare(control.Material[prop], "#12345678")
-
- // Qt.rgba() - no alpha
- control.Material[prop] = Qt.rgba(0.5, 0.5, 0.5)
- compare(control.Material[prop], "#808080")
-
- // Qt.rgba() - with alpha
- control.Material[prop] = Qt.rgba(0.5, 0.5, 0.5, 0.5)
- compare(control.Material[prop], "#80808080")
-
- // unknown
- ignoreWarning(Qt.resolvedUrl("tst_material.qml") + ":57:9: QML Button: unknown Material." + prop + " value: 123")
- control.Material[prop] = 123
- ignoreWarning(Qt.resolvedUrl("tst_material.qml") + ":57:9: QML Button: unknown Material." + prop + " value: foo")
- control.Material[prop] = "foo"
- ignoreWarning(Qt.resolvedUrl("tst_material.qml") + ":57:9: QML Button: unknown Material." + prop + " value: #1")
- control.Material[prop] = "#1"
-
- control.destroy()
- }
-
- function test_font_data() {
- return [
- {tag: "Button:pixelSize", type: "Button", attribute: "pixelSize", value: 14, window: 20, pane: 10},
- {tag: "Button:weight", type: "Button", attribute: "weight", value: Font.Medium, window: Font.Black, pane: Font.Bold},
- {tag: "Button:capitalization", type: "Button", attribute: "capitalization", value: Font.AllUppercase, window: Font.Capitalize, pane: Font.AllLowercase},
-
- {tag: "TabButton:pixelSize", type: "TabButton", attribute: "pixelSize", value: 14, window: 20, pane: 10},
- {tag: "TabButton:weight", type: "TabButton", attribute: "weight", value: Font.Medium, window: Font.Black, pane: Font.Bold},
- {tag: "TabButton:capitalization", type: "TabButton", attribute: "capitalization", value: Font.AllUppercase, window: Font.Capitalize, pane: Font.AllLowercase},
-
- {tag: "ToolButton:pixelSize", type: "ToolButton", attribute: "pixelSize", value: 14, window: 20, pane: 10},
- {tag: "ToolButton:weight", type: "ToolButton", attribute: "weight", value: Font.Medium, window: Font.Black, pane: Font.Bold},
- {tag: "ToolButton:capitalization", type: "ToolButton", attribute: "capitalization", value: Font.AllUppercase, window: Font.Capitalize, pane: Font.AllLowercase},
-
- {tag: "ItemDelegate:pixelSize", type: "ItemDelegate", attribute: "pixelSize", value: 14, window: 20, pane: 10},
- {tag: "ItemDelegate:weight", type: "ItemDelegate", attribute: "weight", value: Font.Medium, window: Font.Black, pane: Font.Bold},
- {tag: "ItemDelegate:capitalization", type: "ItemDelegate", attribute: "capitalization", value: Font.MixedCase, window: Font.Capitalize, pane: Font.AllLowercase},
-
- {tag: "Label:pixelSize", type: "Label", attribute: "pixelSize", value: 14, window: 20, pane: 10},
- {tag: "Label:weight", type: "Label", attribute: "weight", value: Font.Normal, window: Font.Black, pane: Font.Bold},
- {tag: "Label:capitalization", type: "Label", attribute: "capitalization", value: Font.MixedCase, window: Font.Capitalize, pane: Font.AllLowercase},
-
- {tag: "CheckBox:pixelSize", type: "CheckBox", attribute: "pixelSize", value: 14, window: 20, pane: 10},
- {tag: "CheckBox:weight", type: "CheckBox", attribute: "weight", value: Font.Normal, window: Font.Black, pane: Font.Bold},
- {tag: "CheckBox:capitalization", type: "CheckBox", attribute: "capitalization", value: Font.MixedCase, window: Font.Capitalize, pane: Font.AllLowercase},
-
- {tag: "RadioButton:pixelSize", type: "RadioButton", attribute: "pixelSize", value: 14, window: 20, pane: 10},
- {tag: "RadioButton:weight", type: "RadioButton", attribute: "weight", value: Font.Normal, window: Font.Black, pane: Font.Bold},
- {tag: "RadioButton:capitalization", type: "RadioButton", attribute: "capitalization", value: Font.MixedCase, window: Font.Capitalize, pane: Font.AllLowercase},
-
- {tag: "Switch:pixelSize", type: "Switch", attribute: "pixelSize", value: 14, window: 20, pane: 10},
- {tag: "Switch:weight", type: "Switch", attribute: "weight", value: Font.Normal, window: Font.Black, pane: Font.Bold},
- {tag: "Switch:capitalization", type: "Switch", attribute: "capitalization", value: Font.MixedCase, window: Font.Capitalize, pane: Font.AllLowercase},
-
- {tag: "MenuItem:pixelSize", type: "MenuItem", attribute: "pixelSize", value: 16, window: 20, pane: 10},
- {tag: "MenuItem:weight", type: "MenuItem", attribute: "weight", value: Font.Normal, window: Font.Black, pane: Font.Bold},
- {tag: "MenuItem:capitalization", type: "MenuItem", attribute: "capitalization", value: Font.MixedCase, window: Font.Capitalize, pane: Font.AllLowercase},
-
- {tag: "ComboBox:pixelSize", type: "ComboBox", attribute: "pixelSize", value: 16, window: 20, pane: 10},
- {tag: "ComboBox:weight", type: "ComboBox", attribute: "weight", value: Font.Normal, window: Font.Black, pane: Font.Bold},
- {tag: "ComboBox:capitalization", type: "ComboBox", attribute: "capitalization", value: Font.MixedCase, window: Font.Capitalize, pane: Font.AllLowercase}
- ]
- }
-
- function test_font(data) {
- var window = windowPane.createObject(testCase)
- verify(window)
- verify(window.pane)
-
- var control = Qt.createQmlObject("import Qt.labs.controls 1.0; " + data.type + " { }", window.pane)
- verify(control)
-
- compare(control.font[data.attribute], data.value)
-
- window.font[data.attribute] = data.window
- compare(window.font[data.attribute], data.window)
- compare(window.pane.font[data.attribute], data.window)
- compare(control.font[data.attribute], data.window)
-
- window.pane.font[data.attribute] = data.pane
- compare(window.font[data.attribute], data.window)
- compare(window.pane.font[data.attribute], data.pane)
- compare(control.font[data.attribute], data.pane)
-
- window.pane.font = undefined
- compare(window.font[data.attribute], data.window)
- compare(window.pane.font[data.attribute], data.window)
- compare(control.font[data.attribute], data.window)
-
- window.destroy()
- }
-}