on xenial help sign in
Add small tests
commite53328c5f44c1709b9eba5832b267c9c71dfdd6b authorAndrea Cimitan <andrea.cimitan@gmail.com> dateMon 11 Aug 2014, 11:07 (12 years ago) parentd8064d5
5 files changed+98−7
qml/Dash/DashContent.qml+2−2 qml/Dash/ScopeSettings/ScopeSettingSwitch.qml+1 tests/qmltests/CMakeLists.txt+2 tests/qmltests/Dash/ScopeSettings/tst_ScopeSettingLabel.qml+58 tests/qmltests/Dash/ScopeSettings/tst_ScopeSettingSwitch.qml+35−5
qml/Dash/DashContent.qml+2−2
@@ -96,8 +96,7 @@ Item {
9696 id: dashContentList
9797 objectName: "dashContentList"
9898
99− interactive: dashContent.scopes.loaded && currentItem && !currentItem.moving && !currentItem.navigationShown
100−
99+ interactive: dashContent.scopes.loaded && currentItem && !currentItem.moving && !currentItem.navigationShown && !currentItem.settingsShown
101100 anchors.fill: parent
102101 orientation: ListView.Horizontal
103102 boundsBehavior: Flickable.DragAndOvershootBounds
@@ -139,6 +138,7 @@ Item {
139138 readonly property bool navigationShown: item ? item.navigationShown : false
140139 readonly property var categoryView: item ? item.categoryView : null
141140 readonly property var theScope: scope
141+ readonly property bool settingsShown: item ? item.settingsShown : false
142142
143143 // these are needed for autopilot tests
144144 readonly property string scopeId: scope.id
qml/Dash/ScopeSettings/ScopeSettingSwitch.qml+1
@@ -36,6 +36,7 @@ ScopeSetting {
3636
3737 Switch {
3838 id: control
39+ objectName: "control"
3940 anchors {
4041 right: parent.right
4142 rightMargin: __margins
tests/qmltests/CMakeLists.txt+2
@@ -53,6 +53,8 @@ add_qml_test(Dash/Previews PreviewTextSummary)
5353add_qml_test(Dash/Previews PreviewVideoPlayback)
5454add_qml_test(Dash/Previews PreviewWidgetFactory)
5555add_qml_test(Dash/Previews PreviewZoomableImage)
56+add_qml_test(Dash/ScopeSettings ScopeSettingLabel)
57+add_qml_test(Dash/ScopeSettings ScopeSettingSwitch)
5658add_qml_test(Greeter Lockscreen ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/full")
5759add_qml_test(Greeter MultiGreeter ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/full")
5860add_qml_test(Greeter SingleGreeter ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/single")
tests/qmltests/Dash/ScopeSettings/tst_ScopeSettingLabel.qmlnew file+58
@@ -0,0 +1,58 @@
1+/*
2+ * Copyright 2014 Canonical Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.0
18+import QtTest 1.0
19+import "../../../../qml/Dash/ScopeSettings"
20+import Unity.Test 0.1 as UT
21+
22+Rectangle {
23+ id: root
24+ width: units.gu(40)
25+ height: units.gu(80)
26+
27+ property var settingData: {
28+ "displayName" : "Fake label setting",
29+ "value": "fake label"
30+ }
31+
32+ ScopeSettingLabel {
33+ id: scopeSettingLabel
34+ widgetData: settingData
35+ width: units.gu(40)
36+
37+ Rectangle {
38+ anchors.fill: parent
39+ color: "red"
40+ opacity: 0.1
41+ }
42+ }
43+
44+ SignalSpy {
45+ id: triggeredSpy
46+ target: scopeSettingSwitch
47+ signalName: "triggered"
48+ }
49+
50+ UT.UnityTestCase {
51+ id: testCase
52+ name: "ScopeSettingLabelTest"
53+ when: windowShown
54+
55+ function test_triggered() {
56+ }
57+ }
58+}
tests/qmltests/Dash/ScopeSettings/tst_ScopeSettingSwitch.qml+35−5
@@ -21,12 +21,42 @@ import Unity.Test 0.1 as UT
2121
2222Rectangle {
2323 id: root
24− width: units.gu(60)
24+ width: units.gu(40)
2525 height: units.gu(80)
2626
27− property var widgetData: {
28− "title": "THE TITLE",
29− "subtitle": "Something catchy",
30− "mascot": "../graphics/play_button.png"
27+ property var settingData: {
28+ "displayName" : "Fake boolean setting",
29+ "value": true
30+ }
31+
32+ ScopeSettingSwitch {
33+ id: scopeSettingSwitch
34+ widgetData: settingData
35+ width: units.gu(40)
36+
37+ Rectangle {
38+ anchors.fill: parent
39+ color: "red"
40+ opacity: 0.1
41+ }
42+ }
43+
44+ SignalSpy {
45+ id: triggeredSpy
46+ target: scopeSettingSwitch
47+ signalName: "triggered"
48+ }
49+
50+ UT.UnityTestCase {
51+ id: testCase
52+ name: "ScopeSettingSwitchTest"
53+ when: windowShown
54+
55+ function test_triggered() {
56+ var control = findChild(scopeSettingSwitch, "control");
57+ mouseClick(control, control.width / 2, control.height / 2);
58+ triggeredSpy.wait();
59+ compare(triggeredSpy.signalArguments[0][0], false);
60+ }
3161 }
3262}