@@ -16,7 +16,7 @@
1616
1717import QtQuick 2.0
1818import QtTest 1.0
19−import Unity 0.1
19+import Unity 0.2
2020import ".."
2121import "../../../qml/Dash"
2222import "../../../qml/Components"
@@ -26,7 +26,14 @@ import Unity.Test 0.1 as UT
2626Item {
2727 id: shell
2828 width: units.gu(120)
29− height: units.gu(80)
29+ height: units.gu(100)
30+
31+ // BEGIN To reduce warnings
32+ // TODO I think it we should pass down these variables
33+ // as needed instead of hoping they will be globally around
34+ property var greeter: null
35+ property var panel: null
36+ // BEGIN To reduce warnings
3037
3138 Scopes {
3239 id: scopes
@@ -41,24 +48,19 @@ Item {
4148 signal mainStageFocusedApplicationChanged()
4249 }
4350
44− DashContentOpenEffect {
45− id: openEffect
46− previewListView: previewListView
47− sourceItem: genericScopeView
48− }
49−
5051 PageHeaderLabel {
51− id: pageHeader
52+ id: testPageHeader
5253 searchHistory: SearchHistoryModel {}
54+ text: genericScopeView.scope ? genericScopeView.scope.name : ""
55+ width: parent.width
5356 }
5457
5558 GenericScopeView {
5659 id: genericScopeView
5760 anchors.fill: parent
5861 previewListView: previewListView
59− openEffect: openEffect
60− pageHeader: pageHeader
61− tabBarHeight: pageHeader.implicitHeight
62+ pageHeader: testPageHeader
63+ tabBarHeight: testPageHeader.implicitHeight
6264
6365 UT.UnityTestCase {
6466 name: "GenericScopeView"
@@ -67,15 +69,15 @@ Item {
6769 function init() {
6870 shell.width = units.gu(120)
6971 genericScopeView.categoryView.positionAtBeginning();
70− tryCompare(genericScopeView.categoryView.contentY, 0)
72+ tryCompare(genericScopeView.categoryView, "contentY", 0)
7173 }
7274
7375 function test_isCurrent() {
7476 genericScopeView.isCurrent = true
75− pageHeader.searchQuery = "test"
77+ testPageHeader.searchQuery = "test"
7678 previewListView.open = true
7779 genericScopeView.isCurrent = false
78− tryCompare(pageHeader, "searchQuery", "")
80+ tryCompare(testPageHeader, "searchQuery", "")
7981 tryCompare(previewListView, "open", false);
8082 }
8183
@@ -93,181 +95,14 @@ Item {
9395
9496 function test_showDash() {
9597 previewListView.open = true;
96− tryCompare(openEffect, "live", true);
9798 scopes.get(2).showDash();
9899 tryCompare(previewListView, "open", false);
99− tryCompare(openEffect, "live", true);
100100 }
101101
102102 function test_hideDash() {
103103 previewListView.open = true;
104104 scopes.get(2).hideDash();
105105 tryCompare(previewListView, "open", false);
106− tryCompare(openEffect, "gap", 0);
107− }
108−
109− function openPreview(filterGridName, willOpen) {
110− if (filterGridName === undefined)
111− filterGridName = "0";
112− if (willOpen === undefined)
113− willOpen = true;
114− tryCompareFunction(function() {
115− var filterGrid = findChild(genericScopeView, filterGridName);
116− if (filterGrid != null) {
117− var tile = findChild(filterGrid, "delegate0");
118− return tile != null;
119− }
120− return false;
121− },
122− true);
123− var tile = findChild(findChild(genericScopeView, filterGridName), "delegate0");
124− mouseClick(tile, tile.width / 2, tile.height / 2);
125− tryCompare(previewListView, "open", willOpen);
126− tryCompare(openEffect, "gap", willOpen ? 1 : 0);
127− }
128−
129− function checkArrowPosition(index) {
130− tryCompareFunction(function() {
131− var tile = findChild(findChild(genericScopeView, "0"), "delegate" + index);
132− return tile != null;
133− },
134− true);
135− var tile = findChild(findChild(genericScopeView, "0"), "delegate" + index);
136− var tileCenter = tile.x + tile.width/2;
137− var pointerArrow = findChild(previewListView, "pointerArrow");
138− var pointerArrowCenter = pointerArrow.x + pointerArrow.width/2;
139− compare(pointerArrowCenter, tileCenter, "Pointer did not move to tile");
140− }
141−
142− function closePreview() {
143− var closePreviewMouseArea = findChild(genericScopeView, "closePreviewMouseArea");
144− mouseClick(closePreviewMouseArea, closePreviewMouseArea.width / 2, closePreviewMouseArea.height / 2);
145−
146− tryCompare(previewListView, "open", false);
147− tryCompare(openEffect, "gap", 0);
148−
149− var categoryListView = findChild(genericScopeView, "categoryListView");
150− categoryListView.flick(0, units.gu(200));
151− tryCompare(categoryListView, "flicking", false);
152− }
153−
154− function test_previewOpenClose() {
155− tryCompare(previewListView, "open", false);
156− var categoryListView = findChild(genericScopeView, "categoryListView");
157− categoryListView.positionAtBeginning();
158−
159− openPreview();
160−
161− // check for it opening successfully
162− var currentPreviewItem = findChild(previewListView, "previewLoader0");
163− tryCompareFunction(function() {
164− var parts = currentPreviewItem.source.toString().split("/");
165− var name = parts[parts.length - 1];
166− return name == "DashPreviewPlaceholder.qml";
167− },
168− true);
169− tryCompareFunction(function() {
170− var parts = currentPreviewItem.source.toString().split("/");
171− var name = parts[parts.length - 1];
172− return name == "GenericPreview.qml";
173− },
174− true);
175− tryCompare(currentPreviewItem, "progress", 1);
176− tryCompare(previewListView, "open", true);
177−
178− closePreview();
179− tryCompare(previewListView, "open", false);
180− }
181−
182− function test_hiddenPreviewOpen() {
183− var categoryListView = findChild(genericScopeView, "categoryListView");
184− categoryListView.positionAtBeginning();
185− waitForRendering(categoryListView);
186− categoryListView.flick(0, -units.gu(60));
187− tryCompare(categoryListView.flicking, false);
188−
189− var tile = findChild(findChild(genericScopeView, "0"), "delegate0");
190− mouseClick(tile, tile.width / 2, tile.height - 1);
191− tryCompare(openEffect, "gap", 1);
192−
193− verify(openEffect.positionPx >= pageHeader.height + categoryListView.stickyHeaderHeight);
194− }
195−
196− function test_previewCycle() {
197− var categoryListView = findChild(genericScopeView, "categoryListView");
198− categoryListView.positionAtBeginning();
199−
200− tryCompare(previewListView, "open", false);
201− tryCompare(openEffect, "gap", 0);
202−
203− openPreview();
204−
205− // wait for it to be loaded
206− var currentPreviewItem = findChild(previewListView, "previewLoader0");
207− tryCompareFunction(function() {
208− var parts = currentPreviewItem.source.toString().split("/");
209− var name = parts[parts.length - 1];
210− return name == "GenericPreview.qml";
211− },
212− true);
213− tryCompare(currentPreviewItem, "progress", 1);
214− waitForRendering(currentPreviewItem);
215−
216− checkArrowPosition(0);
217−
218− // flick to the next previews
219− tryCompare(previewListView, "count", 15);
220− for (var i = 1; i < previewListView.count; ++i) {
221−
222− mouseFlick(previewListView, previewListView.width - units.gu(1),
223− previewListView.height / 2,
224− units.gu(2),
225− previewListView.height / 2);
226−
227− // wait for it to be loaded
228− var nextPreviewItem = findChild(previewListView, "previewLoader" + i);
229− tryCompareFunction(function() {
230− var parts = nextPreviewItem.source.toString().split("/");
231− var name = parts[parts.length - 1];
232− return name == "GenericPreview.qml";
233− },
234− true);
235− tryCompare(nextPreviewItem, "progress", 1);
236− waitForRendering(nextPreviewItem);
237− tryCompareFunction(function() {return nextPreviewItem.item !== null}, true);
238−
239− checkArrowPosition(i);
240−
241− // Make sure only the new one has isCurrent set to true
242− compare(nextPreviewItem.item.isCurrent, true);
243−
244− if (currentPreviewItem.item !== undefined && currentPreviewItem.item !== null) {
245− compare(currentPreviewItem.item.isCurrent, false);
246− }
247−
248− currentPreviewItem = nextPreviewItem;
249− }
250− closePreview();
251− }
252−
253− function test_show_spinner() {
254− var categoryListView = findChild(genericScopeView, "categoryListView");
255− waitForRendering(categoryListView);
256− categoryListView.contentY = units.gu(13);
257− openPreview();
258− var previewLoader = findChild(previewListView, "previewLoader0");
259− compare(previewLoader.source.toString().split("/").pop(), "DashPreviewPlaceholder.qml");
260− compare(categoryListView.contentY, 0)
261− tryCompare(previewLoader, "progress", 1.0);
262− tryCompareFunction(function() { return previewLoader.item != undefined; }, true);
263−
264− previewLoader.item.showProcessingAction = true;
265− var waitingForAction = findChild(previewListView, "waitingForActionMouseArea");
266− tryCompare(waitingForAction, "enabled", true);
267− previewLoader.closePreviewSpinner();
268− tryCompare(waitingForAction, "enabled", false);
269−
270− closePreview();
271106 }
272107
273108 function test_changeScope() {
@@ -300,59 +135,17 @@ Item {
300135 tryCompare(category, "filtered", true);
301136 }
302137
303− function test_getRendererCarouselGridFallback() {
304− var rendererId = "carousel"
305− var contentType = ""
306− var rendererHint = ""
307− var results = new Object()
308−
309− results.count = 7
310− var renderer = genericScopeView.getRenderer(rendererId, contentType, rendererHint, results)
311− compare(renderer, "Generic/GenericCarousel.qml")
312−
313− results.count = 6
314− renderer = genericScopeView.getRenderer(rendererId, contentType, rendererHint, results)
315− compare(renderer, "Generic/GenericFilterGrid.qml")
316− }
317−
318− function test_showPreviewCarousel() {
319− tryCompareFunction(function() { return findChild(genericScopeView, "carouselDelegate") != null; }, true);
320− var tile = findChild(genericScopeView, "carouselDelegate");
321− mouseClick(tile, tile.width / 2, tile.height / 2);
322− tryCompare(openEffect, "gap", 1);
323−
324− // check for it opening successfully
325− var currentPreviewItem = findChild(previewListView, "previewLoader0");
326− tryCompareFunction(function() {
327− var parts = currentPreviewItem.source.toString().split("/");
328− var name = parts[parts.length - 1];
329− return name == "DashPreviewPlaceholder.qml";
330− },
331− true);
332− tryCompareFunction(function() {
333− var parts = currentPreviewItem.source.toString().split("/");
334− var name = parts[parts.length - 1];
335− return name == "GenericPreview.qml";
336− },
337− true);
338− tryCompare(currentPreviewItem, "progress", 1);
339− tryCompare(previewListView, "open", true);
340−
341− closePreview();
342− tryCompare(previewListView, "open", false);
343− }
344−
345138 function test_filter_expand_expand_collapse() {
346139 // wait for the item to be there
347− tryCompareFunction(function() { return findChild(genericScopeView, "dashSectionHeaderapplications.scope") != null; }, true);
140+ tryCompareFunction(function() { return findChild(genericScopeView, "dashSectionHeader2") != null; }, true);
348141
349142 var categoryListView = findChild(genericScopeView, "categoryListView");
350143 categoryListView.contentY = categoryListView.height;
351144
352− var header2 = findChild(genericScopeView, "dashSectionHeaderapplications.scope")
353− var category2 = findChild(genericScopeView, "dashCategoryapplications.scope")
354− var category2FilterGrid = category2.children[0].children[0].children[0];
355− verify(UT.Util.isInstanceOf(category2FilterGrid, "FilterGrid"));
145+ var header2 = findChild(genericScopeView, "dashSectionHeader2")
146+ var category2 = findChild(genericScopeView, "dashCategory2")
147+ var category2FilterGrid = category2.children[1].children[2];
148+ verify(UT.Util.isInstanceOf(category2FilterGrid, "CardFilterGrid"));
356149
357150 waitForRendering(header2);
358151 verify(category2.expandable);
@@ -368,7 +161,7 @@ Item {
368161 tryCompareFunction(
369162 function() {
370163 var header0 = findChild(genericScopeView, "dashSectionHeader0")
371− return header0.y == pageHeader.height;
164+ return header0.y == testPageHeader.height;
372165 },
373166 true);
374167
@@ -383,21 +176,6 @@ Item {
383176 tryCompare(category2, "filtered", true);
384177 }
385178
386− function test_bug1271676_no_move_y_no_preview() {
387− waitForRendering(genericScopeView);
388− var categoryListView = findChild(genericScopeView, "categoryListView");
389− waitForRendering(categoryListView);
390− tryCompareFunction(function() { return findChild(genericScopeView, "dashCategoryapplications.scope") != null; }, true);
391− var category = findChild(genericScopeView, "dashCategoryapplications.scope")
392− categoryListView.contentY = category.y;
393− waitForRendering(categoryListView);
394− var contentYBefore = categoryListView.contentY
395− openPreview("applications.scope", false); // This actually doesn't open anything because we
396− // have code so that the item of installed
397− // does activate instead of preview and never shows a preview
398− compare(categoryListView.contentY, contentYBefore);
399− }
400−
401179 function test_narrow_delegate_ranges_expand() {
402180 tryCompareFunction(function() { return findChild(genericScopeView, "dashCategory0") != undefined; }, true);
403181 var category = findChild(genericScopeView, "dashCategory0")
@@ -419,8 +197,8 @@ Item {
419197 PreviewListView {
420198 id: previewListView
421199 anchors.fill: parent
422− openEffect: openEffect
423− categoryView: genericScopeView.categoryView
200+ visible: false
201+ pageHeader: testPageHeader
424202 scope: genericScopeView.scope
425203 }
426204}