1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
/*
* Copyright 2014 Canonical Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.0
import QtTest 1.0
import Lomiri.Test 1.0
import Lomiri.Components 1.3
MainView {
id: main
width: units.gu(40)
height: units.gu(71)
Column {
Switch {
id: testSwitch
checked: true
property bool checkedNow: true
onClicked: checkedNow = checked
}
CheckBox {
id: testCheck
checked: true
property bool checkedNow: true
onClicked: checkedNow = checked
}
CheckBox {
id: testCheckLbl
checked: true
text: "This a checkbox label"
property bool checkedNow: true
onClicked: checkedNow = checked
}
CheckBox {
id: testCheckLblDisabled
checked: false
enabled: false
text: "This a checkbox label"
property bool checkedNow: false
onClicked: checkedNow = checked
}
}
LomiriTestCase {
name: "Toggles13"
when: windowShown
SignalSpy {
id: clickedSpy
signalName: "clicked"
}
function cleanup() {
clickedSpy.clear();
clickedSpy.target = null;
}
function test_toggle_checked_delayed_bug1524234_data() {
return [
{tag: "CheckBox", testItem: testCheck, mouse: true},
{tag: "Switch", testItem: testSwitch, mouse: true},
{tag: "CheckBox, space key", testItem: testCheck, key: Qt.Key_Space},
{tag: "Switch, space key", testItem: testSwitch, key: Qt.Key_Space},
];
}
function test_toggle_checked_delayed_bug1524234(data) {
data.testItem.checkedNow = data.testItem.checked;
data.testItem.forceActiveFocus();
clickedSpy.target = data.testItem;
if (data.key) {
keyClick(data.key);
} else {
mouseClick(data.testItem, centerOf(data.testItem).x, centerOf(data.testItem).y);
}
clickedSpy.wait(400);
compare(data.testItem.checkedNow, data.testItem.checked);
}
function test_toggle_lbl_checked_data() {
return [
{tag: "CheckBox", testItem: testCheckLbl, mouse: true},
];
}
function test_toggle_lbl_checked(data) {
data.testItem.checkedNow = data.testItem.checked;
data.testItem.forceActiveFocus();
clickedSpy.target = data.testItem;
mouseClick(data.testItem, centerOf(data.testItem).x, centerOf(data.testItem).y);
clickedSpy.wait(400);
compare(data.testItem.checkedNow, data.testItem.checked);
}
function test_toggle_lbl_checked_disabled_data() {
return [
{tag: "CheckBox", testItem: testCheckLblDisabled, mouse: true},
];
}
function test_toggle_lbl_checked_disabled(data) {
data.testItem.checkedNow = data.testItem.checked;
data.testItem.forceActiveFocus();
clickedSpy.target = data.testItem;
mouseClick(data.testItem, centerOf(data.testItem).x, centerOf(data.testItem).y);
compare(clickedSpy.count, 0);
compare(data.testItem.checkedNow, data.testItem.checked);
}
}
}
|