aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quickcontrols/controls/data/tst_abstractbutton.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quickcontrols/controls/data/tst_abstractbutton.qml')
-rw-r--r--tests/auto/quickcontrols/controls/data/tst_abstractbutton.qml174
1 files changed, 105 insertions, 69 deletions
diff --git a/tests/auto/quickcontrols/controls/data/tst_abstractbutton.qml b/tests/auto/quickcontrols/controls/data/tst_abstractbutton.qml
index 663b152c70..822c703a42 100644
--- a/tests/auto/quickcontrols/controls/data/tst_abstractbutton.qml
+++ b/tests/auto/quickcontrols/controls/data/tst_abstractbutton.qml
@@ -1,5 +1,5 @@
// Copyright (C) 2017 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtTest
@@ -42,15 +42,17 @@ TestCase {
SignalSpy { }
}
- function test_defaults() {
+ function init() {
failOnWarning(/.?/)
+ }
+ function test_defaults() {
let control = createTemporaryObject(defaultComponent, testCase)
verify(control)
}
function test_text() {
- var control = createTemporaryObject(button, testCase);
+ let control = createTemporaryObject(button, testCase);
verify(control);
compare(control.text, "");
@@ -61,7 +63,7 @@ TestCase {
}
function test_baseline() {
- var control = createTemporaryObject(button, testCase, {padding: 6})
+ let control = createTemporaryObject(button, testCase, {padding: 6})
verify(control)
compare(control.baselineOffset, 0)
control.contentItem = item.createObject(control, {baselineOffset: 12})
@@ -69,7 +71,7 @@ TestCase {
}
function test_implicitSize() {
- var control = createTemporaryObject(button, testCase)
+ let control = createTemporaryObject(button, testCase)
verify(control)
compare(control.implicitWidth, 0)
@@ -96,22 +98,22 @@ TestCase {
}
function test_pressPoint(data) {
- var control = createTemporaryObject(button, testCase, {width: 100, height: 40})
+ let control = createTemporaryObject(button, testCase, {width: 100, height: 40})
verify(control)
- var pressXChanges = 0
- var pressYChanges = 0
+ let pressXChanges = 0
+ let pressYChanges = 0
- var pressXSpy = signalSpy.createObject(control, {target: control, signalName: "pressXChanged"})
+ let pressXSpy = signalSpy.createObject(control, {target: control, signalName: "pressXChanged"})
verify(pressXSpy.valid)
- var pressYSpy = signalSpy.createObject(control, {target: control, signalName: "pressYChanged"})
+ let pressYSpy = signalSpy.createObject(control, {target: control, signalName: "pressYChanged"})
verify(pressYSpy.valid)
compare(control.pressX, 0)
compare(control.pressY, 0)
- var touch = data.touch ? touchEvent(control) : null
+ let touch = data.touch ? touchEvent(control) : null
if (data.touch)
touch.press(0, control, control.width / 2, control.height / 2).commit()
@@ -196,10 +198,10 @@ TestCase {
}
function test_pressAndHold() {
- var control = createTemporaryObject(button, testCase, {checkable: true})
+ let control = createTemporaryObject(button, testCase, {checkable: true})
verify(control)
- var pressAndHoldSpy = signalSpy.createObject(control, {target: control, signalName: "pressAndHold"})
+ let pressAndHoldSpy = signalSpy.createObject(control, {target: control, signalName: "pressAndHold"})
verify(pressAndHoldSpy.valid)
mousePress(control)
@@ -215,8 +217,8 @@ TestCase {
Item {
property int lastKeyPress: -1
property int lastKeyRelease: -1
- Keys.onPressed: lastKeyPress = event.key
- Keys.onReleased: lastKeyRelease = event.key
+ Keys.onPressed: function (event) { lastKeyPress = event.key }
+ Keys.onReleased: function (event) { lastKeyRelease = event.key }
}
}
@@ -228,10 +230,10 @@ TestCase {
}
function test_keyEvents(data) {
- var container = createTemporaryObject(keyCatcher, testCase)
+ let container = createTemporaryObject(keyCatcher, testCase)
verify(container)
- var control = button.createObject(container)
+ let control = button.createObject(container)
verify(control)
control.forceActiveFocus()
@@ -245,7 +247,7 @@ TestCase {
}
function test_icon() {
- var control = createTemporaryObject(button, testCase)
+ let control = createTemporaryObject(button, testCase)
verify(control)
compare(control.icon.name, "")
compare(control.icon.source, "")
@@ -253,7 +255,7 @@ TestCase {
compare(control.icon.height, 0)
compare(control.icon.color, "#00000000")
- var iconSpy = signalSpy.createObject(control, { target: control, signalName: "iconChanged"} )
+ let iconSpy = signalSpy.createObject(control, { target: control, signalName: "iconChanged"} )
verify(iconSpy.valid)
control.icon.name = "test-name"
@@ -322,14 +324,14 @@ TestCase {
}
function test_action(data) {
- var control = createTemporaryObject(button, testCase)
+ let control = createTemporaryObject(button, testCase)
verify(control)
control[data.property] = data.initButton
- var act = action.createObject(control)
+ let act = action.createObject(control)
act[data.property] = data.initAction
- var spy = signalSpy.createObject(control, {target: control, signalName: data.property + "Changed"})
+ let spy = signalSpy.createObject(control, {target: control, signalName: data.property + "Changed"})
verify(spy.valid)
// assign action
@@ -362,23 +364,23 @@ TestCase {
}
function test_actionIcon_data() {
- var data = []
+ let data = []
// Save duplicating the rows by reusing them with different properties of the same type.
// This means that the first loop will test icon.name and the second one will test icon.source.
- var stringPropertyValueSuffixes = [
+ let stringPropertyValueSuffixes = [
{ propertyName: "name", valueSuffix: "IconName" },
{ propertyName: "source", valueSuffix: "IconSource" }
]
- for (var i = 0; i < stringPropertyValueSuffixes.length; ++i) {
- var propertyName = stringPropertyValueSuffixes[i].propertyName
- var valueSuffix = stringPropertyValueSuffixes[i].valueSuffix
+ for (let i = 0; i < stringPropertyValueSuffixes.length; ++i) {
+ let propertyName = stringPropertyValueSuffixes[i].propertyName
+ let valueSuffix = stringPropertyValueSuffixes[i].valueSuffix
- var buttonPropertyValue = "Button" + valueSuffix
- var buttonPropertyValue2 = "Button" + valueSuffix + "2"
- var actionPropertyValue = "Action" + valueSuffix
- var actionPropertyValue2 = "Action" + valueSuffix + "2"
+ let buttonPropertyValue = "Button" + valueSuffix
+ let buttonPropertyValue2 = "Button" + valueSuffix + "2"
+ let actionPropertyValue = "Action" + valueSuffix
+ let actionPropertyValue2 = "Action" + valueSuffix + "2"
data.push({ tag: "implicit " + propertyName, property: propertyName,
initButton: undefined, initAction: actionPropertyValue,
@@ -420,19 +422,19 @@ TestCase {
resetExpected: buttonPropertyValue, resetChanged: false })
}
- var intPropertyNames = [
+ let intPropertyNames = [
"width",
"height",
]
- for (i = 0; i < intPropertyNames.length; ++i) {
- propertyName = intPropertyNames[i]
+ for (let i = 0; i < intPropertyNames.length; ++i) {
+ let propertyName = intPropertyNames[i]
- buttonPropertyValue = 20
- buttonPropertyValue2 = 21
- actionPropertyValue = 40
- actionPropertyValue2 = 41
- var defaultValue = 0
+ let buttonPropertyValue = 20
+ let buttonPropertyValue2 = 21
+ let actionPropertyValue = 40
+ let actionPropertyValue2 = 41
+ let defaultValue = 0
data.push({ tag: "implicit " + propertyName, property: propertyName,
initButton: undefined, initAction: actionPropertyValue,
@@ -474,12 +476,12 @@ TestCase {
resetExpected: buttonPropertyValue, resetChanged: false })
}
- propertyName = "color"
- buttonPropertyValue = "#aa0000"
- buttonPropertyValue2 = "#ff0000"
- actionPropertyValue = "#0000aa"
- actionPropertyValue2 = "#0000ff"
- defaultValue = "#00000000"
+ let propertyName = "color"
+ let buttonPropertyValue = "#aa0000"
+ let buttonPropertyValue2 = "#ff0000"
+ let actionPropertyValue = "#0000aa"
+ let actionPropertyValue2 = "#0000ff"
+ let defaultValue = "#00000000"
data.push({ tag: "implicit " + propertyName, property: propertyName,
initButton: undefined, initAction: actionPropertyValue,
@@ -524,14 +526,14 @@ TestCase {
}
function test_actionIcon(data) {
- var control = createTemporaryObject(button, testCase)
+ let control = createTemporaryObject(button, testCase)
verify(control)
control.icon[data.property] = data.initButton
- var act = action.createObject(control)
+ let act = action.createObject(control)
act.icon[data.property] = data.initAction
- var spy = signalSpy.createObject(control, {target: control, signalName: "iconChanged"})
+ let spy = signalSpy.createObject(control, {target: control, signalName: "iconChanged"})
verify(spy.valid)
// assign action
@@ -580,7 +582,7 @@ TestCase {
}
function test_actionButton() {
- var control = createTemporaryObject(actionButton, testCase)
+ let control = createTemporaryObject(actionButton, testCase)
verify(control)
// initial values
@@ -590,7 +592,7 @@ TestCase {
compare(control.enabled, false)
compare(control.icon.name, "checked")
- var textSpy = signalSpy.createObject(control, { target: control, signalName: "textChanged" })
+ let textSpy = signalSpy.createObject(control, { target: control, signalName: "textChanged" })
verify(textSpy.valid)
// changes via action
@@ -631,7 +633,7 @@ TestCase {
// setting an action while button has a particular property set
// shouldn't cause a change in the button's effective property value
- var secondAction = createTemporaryObject(action, testCase)
+ let secondAction = createTemporaryObject(action, testCase)
verify(secondAction)
secondAction.text = "SecondAction"
control.action = secondAction
@@ -639,7 +641,7 @@ TestCase {
compare(textSpy.count, 2)
// test setting an action whose properties aren't set
- var thirdAction = createTemporaryObject(action, testCase)
+ let thirdAction = createTemporaryObject(action, testCase)
verify(thirdAction)
control.action = thirdAction
compare(control.text, "Button")
@@ -657,7 +659,7 @@ TestCase {
}
function test_checkable_button() {
- var control = createTemporaryObject(checkableButton, testCase)
+ let control = createTemporaryObject(checkableButton, testCase)
verify(control)
control.checked = false
control.forceActiveFocus()
@@ -681,9 +683,9 @@ TestCase {
compare(control.action.checked, false)
compare(control.checked, false)
- var checkedSpy = signalSpy.createObject(control, {target: control.action, signalName: "checkedChanged"})
- var toggledSpy = signalSpy.createObject(control, {target: control, signalName: "toggled"})
- var actionToggledSpy = signalSpy.createObject(control, {target: control.action, signalName: "toggled"})
+ let checkedSpy = signalSpy.createObject(control, {target: control.action, signalName: "checkedChanged"})
+ let toggledSpy = signalSpy.createObject(control, {target: control, signalName: "toggled"})
+ let actionToggledSpy = signalSpy.createObject(control, {target: control.action, signalName: "toggled"})
verify(checkedSpy.valid)
verify(toggledSpy.valid)
@@ -723,16 +725,16 @@ TestCase {
}
function test_trigger(data) {
- var control = createTemporaryObject(actionButton, testCase, {"action.enabled": data.action, "enabled": data.button})
+ let control = createTemporaryObject(actionButton, testCase, {"action.enabled": data.action, "enabled": data.button})
verify(control)
compare(control.enabled, data.button)
compare(control.action.enabled, data.action)
- var buttonSpy = signalSpy.createObject(control, {target: control, signalName: "clicked"})
+ let buttonSpy = signalSpy.createObject(control, {target: control, signalName: "clicked"})
verify(buttonSpy.valid)
- var actionSpy = signalSpy.createObject(control, {target: control.action, signalName: "triggered"})
+ let actionSpy = signalSpy.createObject(control, {target: control.action, signalName: "triggered"})
verify(actionSpy.valid)
if (data.click)
@@ -748,13 +750,13 @@ TestCase {
if (Qt.platform.os === "osx" || Qt.platform.os === "macos")
skip("Mnemonics are not used on macOS")
- var control = createTemporaryObject(button, testCase)
+ let control = createTemporaryObject(button, testCase)
verify(control)
control.text = "&Hello"
compare(control.text, "&Hello")
- var clickSpy = signalSpy.createObject(control, {target: control, signalName: "clicked"})
+ let clickSpy = signalSpy.createObject(control, {target: control, signalName: "clicked"})
verify(clickSpy.valid)
keyClick(Qt.Key_H, Qt.AltModifier)
@@ -789,7 +791,7 @@ TestCase {
control.text = undefined
control.action = action.createObject(control, {text: "&Action"})
- var actionSpy = signalSpy.createObject(control, {target: control.action, signalName: "triggered"})
+ let actionSpy = signalSpy.createObject(control, {target: control.action, signalName: "triggered"})
verify(actionSpy.valid)
keyClick(Qt.Key_A, Qt.AltModifier)
@@ -814,12 +816,12 @@ TestCase {
}
function test_actionGroup() {
- var group = createTemporaryObject(actionGroup, testCase)
+ let group = createTemporaryObject(actionGroup, testCase)
verify(group)
- var button1 = createTemporaryObject(button, testCase, {action: group.actions[0], width: 10, height: 10})
- var button2 = createTemporaryObject(button, testCase, {action: group.actions[1], width: 10, height: 10, y: 10})
- var button3 = createTemporaryObject(button, testCase, {action: group.actions[2], width: 10, height: 10, y: 20})
+ let button1 = createTemporaryObject(button, testCase, {action: group.actions[0], width: 10, height: 10})
+ let button2 = createTemporaryObject(button, testCase, {action: group.actions[1], width: 10, height: 10, y: 10})
+ let button3 = createTemporaryObject(button, testCase, {action: group.actions[2], width: 10, height: 10, y: 20})
verify(button1)
compare(button1.checked, true)
@@ -846,10 +848,10 @@ TestCase {
}
function test_clickedAfterLongPress() {
- var control = createTemporaryObject(button, testCase, { text: "Hello" })
+ let control = createTemporaryObject(button, testCase, { text: "Hello" })
verify(control)
- var clickedSpy = signalSpy.createObject(control, { target: control, signalName: "clicked" })
+ let clickedSpy = signalSpy.createObject(control, { target: control, signalName: "clicked" })
verify(clickedSpy.valid)
mousePress(control)
@@ -967,5 +969,39 @@ TestCase {
verify(control)
verify(!control.checkable)
- }
+ }
+
+ function test_rightMouseButton() {
+ let control = createTemporaryObject(button, testCase)
+ verify(control)
+
+ let pressedSpy = signalSpy.createObject(control, { target: control, signalName: "pressed" })
+ verify(pressedSpy.valid)
+
+ let releasedSpy = signalSpy.createObject(control, { target: control, signalName: "released" })
+ verify(releasedSpy.valid)
+
+ let clickedSpy = signalSpy.createObject(control, { target: control, signalName: "clicked" })
+ verify(clickedSpy.valid)
+
+ // button should not react on the right mouse button by defualt
+ mousePress(control, control.width / 2, control.height / 2, Qt.RightButton)
+ mouseRelease(control, control.width / 2, control.height / 2, Qt.RightButton)
+
+ compare(pressedSpy.count, 0)
+ compare(releasedSpy.count, 0)
+ compare(clickedSpy.count, 0)
+
+ // QTBUG-116289 - adding a HoverHandler into the button should not affect the handling of the right mouse button
+ let hoverHandler = createTemporaryQmlObject("import QtQuick; HoverHandler {}", control)
+ verify(hoverHandler)
+ compare(hoverHandler.target, control)
+
+ mousePress(control, control.width / 2, control.height / 2, Qt.RightButton)
+ mouseRelease(control, control.width / 2, control.height / 2, Qt.RightButton)
+
+ compare(pressedSpy.count, 0)
+ compare(releasedSpy.count, 0)
+ compare(clickedSpy.count, 0)
+ }
}