aboutsummaryrefslogtreecommitdiffstats
path: root/tests/system/sys_listview.qtt
blob: 21a742d2ad3deac2646656c79a692e17429cb266 (plain)
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/

//TESTED_COMPONENT=qtdeclarative

testcase = {

    using_section_delegates: function()
    {
        // Test Meta-data
        testTitle = "Using and changing section delegate properties";
        testBinary = "sections.qml";
        testSource: "$QTDIR/qtdeclarative/tests/system/listview";
        testGoal = "Verify that a Component can be set as a section header, using various properties for different collections.";
        testPreconditions = "None";
        testGroups = "BAT,QtQuick 2.0";

        // Test Steps
        prompt(twiki('---+++ ' + testTitle + '<br><br>
        *Goal:* ' + testGoal + '<br>
        *Pre-Requisites:* ' + testPreconditions + '<br>
        *Tested Binary:* ' + testBinary + '<br>
    | *Step* | *Verification* |
    | Run '+testBinary+' | Application has started, showing a ListView |
    | | The view shows a single character section header for each element |
    | Press the Criteria button | The section headers now show the full name of each item |
    | Press Property | The section headers now show the id value for the items |
    | Press Criteria | The section headers now only show i - the first character of id |
    | Press Property | The section headers show the first character of the item names |'));
    },

    updating_sections: function()
    {
        // Test Meta-data
        testTitle = "Updating Collected Sections";
        testBinary = "sections.qml";
        testSource: "$QTDIR/qtdeclarative/tests/system/listview";
        testGoal = "Verify that a section is updated when items are added.";
        testPreconditions = "None";
        testGroups = "BAT,QtQuick 2.0";

        // Test Steps
        prompt(twiki('---+++ ' + testTitle + '<br><br>
        *Goal:* ' + testGoal + '<br>
        *Pre-Requisites:* ' + testPreconditions + '<br>
        *Tested Binary:* ' + testBinary + '<br>
    | *Step* | *Verification* |
    | Run '+testBinary+' | Application has started, showing a ListView |
    | | The view shows a single character section header for each element |
    | Press the + button | A duplicate of every name is added |
    |  | Each duplicate is place in the same section as the original |'));
    },

    changing_section_delegates: function()
    {
        // Test Meta-data
        testTitle = "Changing Section Delegates";
        testBinary = "sections.qml";
        testSource: "$QTDIR/qtdeclarative/tests/system/listview";
        testGoal = "Verify that a section delegate can be changed.";
        testPreconditions = "None";
        testGroups = "BAT,QtQuick 2.0";

        // Test Steps
        prompt(twiki('---+++ ' + testTitle + '<br><br>
        *Goal:* ' + testGoal + '<br>
        *Pre-Requisites:* ' + testPreconditions + '<br>
        *Tested Binary:* ' + testBinary + '<br>
    | *Step* | *Verification* |
    | Run '+testBinary+' | Application has started, showing a ListView |
    | | The view shows a single character section header for each element |
    | Press the Delegate button | The section headers now show as light blue rectangles |
    | Press the Criteria button | The headers show as full names, still within light blue rectangles |'));
    },

    altering_listview_primary_properties: function()
    {
        // Test Meta-data
        testTitle = "Altering ListView primary properties";
        testBinary = "alteredViews.qml";
        testSource: "$QTDIR/qtdeclarative/tests/system/listview";
        testGoal = "Verify that the model and delegate for a ListView can be changed";
        testPreconditions = "None";
        testGroups = "BAT,QtQuick 2.0";

        // Test Steps
        prompt(twiki('---+++ ' + testTitle + '<br><br>
        *Goal:* ' + testGoal + '<br>
        *Pre-Requisites:* ' + testPreconditions + '<br>
        *Tested Binary:* ' + testBinary + '<br>
    | *Step* | *Verification* |
    | Run '+testBinary+' | Application has started, showing a ListView |
    | | The view shows items named Model1_1 - 5, and the delegates are white with a black border |
    | Press the Mod button | The view now shows items named Model2_1 - 5 |
    | Press Del | The delegates are now golden with a black border |
    | Press Mod, then Del | The view again shows items named Model1_1 - 5, and are white |'));
    },

    altering_listview_orientation: function()
    {
        // Test Meta-data
        testTitle = "Altering ListView orientation";
        testBinary = "alteredViews.qml";
        testSource: "$QTDIR/qtdeclarative/tests/system/listview";
        testGoal = "Verify that the orientation of a listview can be changed at runtime";
        testPreconditions = "None";
        testGroups = "BAT,QtQuick 2.0";

        // Test Steps
        prompt(twiki('---+++ ' + testTitle + '<br><br>
        *Goal:* ' + testGoal + '<br>
        *Pre-Requisites:* ' + testPreconditions + '<br>
        *Tested Binary:* ' + testBinary + '<br>
    | *Step* | *Verification* |
    | Run '+testBinary+' | Application has started, showing a ListView |
    | | The view shows items named Model1_1 - 5, and the delegates are white with a black border |
    | Press the Ori button | The view is now displayed in a horizontal orientation |
    |  | The delegates should have resized quickly and smoothly, and the text rotated anticlockwise (both animated) |
    | Press Del | The delegates are now golden with a black border, still in horizontal orientation |
    | Press Ori | The view again shows in a vertical orientation, with the golden delegates |'));
    },

    basic_view_transition: function()
    {
        // Test Meta-data
        testTitle = "Basic View Transitions";
        testBinary = "viewTransitions.qml";
        testSource: "$QTDIR/qtdeclarative/tests/system/listview";
        testGoal = "Verify a basic transition can be applied to a ListView action";
        testPreconditions = "None";
        testGroups = "BAT,QtQuick 2.0";
        testRequirements = "QTBUG-21504: Enable transitions for add/move/remove operations on views";

        // Test Steps
        prompt(twiki('---+++ ' + testTitle + '<br><br>
        *Goal:* ' + testGoal + '<br>
        *Pre-Requisites:* ' + testPreconditions + '<br>
        *Tested Binary:* ' + testBinary + '<br>
    | *Step* | *Verification* |
    | Run '+testBinary+' | Application has started, showing a ListView |
    | Press the Set A button | The Set A button shows green |
    | Press Add | A new yellow item fades in after the currently selected item |
    |  | The other items slide down, with a slight delay for each item, giving it a flowing effect |
    | Select the new item | |
    | Press To Top | The item changes to light blue and moves to the top, curving out to the right of the ListView |
    | Select an item near the top and press Remove | The selected item fades out |
    |  | The other items slide up, with a slight delay for each item, giving it a flowing effect |'));
    },

    switching_view_transition: function() {
        // Test Meta-data
        testTitle = "Switching View Transitions";
        testBinary = "viewTransitions.qml";
        testSource: "$QTDIR/qtdeclarative/tests/system/listview";
        testGoal = "Verify a basic ListView transition can be changed to another";
        testPreconditions = "None";
        testGroups = "BAT,QtQuick 2.0";
        testRequirements = "QTBUG-21504: Enable transitions for add/move/remove operations on views";

        // Test Steps
        prompt(twiki('---+++ ' + testTitle + '<br><br>
        *Goal:* ' + testGoal + '<br>
        *Pre-Requisites:* ' + testPreconditions + '<br>
        *Tested Binary:* ' + testBinary + '<br>
    | *Step* | *Verification* |
    | Run '+testBinary+' | Application has started, showing a ListView |
    | Press the Set A button | The Set A button shows green |
    | Press Add | A new yellow item fades in after the currently selected item |
    |  | The other items slide down, with a slight delay for each item, giving it a flowing effect |
    | Select the new item | |
    | Press To Top | The item changes to light blue and moves to the top, curving out to the right of the ListView |
    | Select an item near the top and press Remove | The selected item fades out |
    |  | The other items slide up, with a slight delay for each item, giving it a flowing effect |
    | Press the Set B button | The Set B button shows green |
        | Press Add | A new yellow item pops in after the currently selected item |
    |  | The other items tumble down in a disorderly manner |
    | Select the new item | |
    | Press To Top | The item changes from red to light blue and curves out to the right of the ListView, bouncing in at the top |
    | Select an item near the top and press Remove | The selected item pops out |
    |  | The other items slide up, with a slight delay for each item, giving it a flowing effect |'));
    },

    different_transitions_for_every_operation: function() {
        // Test Meta-data
        testTitle = "Different Transitions for all Operations";
        testBinary = "viewTransitions.qml";
        testSource: "$QTDIR/qtdeclarative/tests/system/listview";
        testGoal = "Verify a different Transition can be applied to displacement from adding, moving and removing.";
        testPreconditions = "None";
        testGroups = "BAT,QtQuick 2.0";
        testRequirements = "QTBUG-21504: Enable transitions for add/move/remove operations on views";

        // Test Steps
        prompt(twiki('---+++ ' + testTitle + '<br><br>
        *Goal:* ' + testGoal + '<br>
        *Pre-Requisites:* ' + testPreconditions + '<br>
        *Tested Binary:* ' + testBinary + '<br>
    | *Step* | *Verification* |
    | Run '+testBinary+' | Application has started, showing a ListView |
    | Press the Set C button | The Set C button shows green |
    | Press Add | A new yellow item swoops in from the side |
    |  | The other items jitter down, with a slight delay for each item |
    | Select the new item | |
    | Press To Top | The item changes from red to light blue and moves to the top, curving out to the right of the ListView |
    | | The other items bounce down in a solid block |
    | Select an item near the top and press Remove | The selected item fades out in a flashing manner |
    |  | The other items snap up, with a slight delay for each item |
    | Press the Append button a few times | Each added item swoops in from alternating sides | '));
    },

    delegates_and_effects: function() {
        testTitle = "Delegates and effects";
        testBinary = "viewTransitions.qml";
        testSource: "$QTDIR/qtdeclarative/tests/system/listview";
        testGoal = "Verify a delegate in transition can show effects.";
        testPreconditions = "None";
        testGroups = "BAT,QtQuick 2.0";
        testRequirements = "QTBUG-21504: Enable transitions for add/move/remove operations on views";

        // Test Steps
        prompt(twiki('---+++ ' + testTitle + '<br><br>
        *Goal:* ' + testGoal + '<br>
        *Pre-Requisites:* ' + testPreconditions + '<br>
        *Tested Binary:* ' + testBinary + '<br>
    | *Step* | *Verification* |
    | Run '+testBinary+' | Application has started, showing a ListView |
    | Press the Set D button | The Set D button shows green |
    | Select a lower item | The item is highlighted |
    | Press To Top | The item fades to red particles, shifts to the top, and fades back to a normal delegate |
    | | The other items shuffle down |'));
    },

    attached_onremove_property: function() {
        testTitle = "Using the attached onRemove property";
        testBinary = "onRemove.qml";
        testSource: "$QTDIR/qtdeclarative/tests/system/listview";
        testGoal = "Verify the onRemove attached property can be assigned.";
        testPreconditions = "None";
        testGroups = "BAT,QtQuick 2.0";
        testRequirements = "QTBUG-21504: Enable transitions for add/move/remove operations on views";

        // Test Steps
        prompt(twiki('---+++ ' + testTitle + '<br><br>
        *Goal:* ' + testGoal + '<br>
        *Pre-Requisites:* ' + testPreconditions + '<br>
        *Tested Binary:* ' + testBinary + '<br>
    | *Step* | *Verification* |
    | Run '+testBinary+' | Application has started, showing a ListView |
    | Press the <b>-</b> button | The selected item disappears in a shower of sparks |'));
    }
}