Merge lp:~aacid/unity/phablet_hud_results_test into lp:unity/phablet

Proposed by Albert Astals Cid
Status: Merged
Approved by: Michael Zanetti
Approved revision: no longer in the source branch.
Merged at revision: 477
Proposed branch: lp:~aacid/unity/phablet_hud_results_test
Merge into: lp:unity/phablet
Diff against target: 152 lines (+80/-2)
4 files modified
Hud/Hud.qml (+1/-0)
Hud/ResultList.qml (+3/-0)
tests/qmluitests/qml/HudClient/fake_libhud_client.cpp (+56/-1)
tests/qmluitests/tst_Hud.qml (+20/-1)
To merge this branch: bzr merge lp:~aacid/unity/phablet_hud_results_test
Reviewer Review Type Date Requested Status
Michael Zanetti (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+153816@code.launchpad.net

Commit message

Test that the HUD results show correctly

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:475
No commit message was specified in the merge proposal. Click on the following link and set the commit message (if you want a jenkins rebuild you need to trigger it yourself):
https://code.launchpad.net/~aacid/unity/phablet_hud_results_test/+merge/153816/+edit-commit-message

http://jenkins.qa.ubuntu.com/job/unity-phablet-ci/59/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-quantal-armhf-ci/60/console
        deb: http://jenkins.qa.ubuntu.com/job/unity-phablet-quantal-armhf-ci/60/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-quantal-i386-ci/59/console

Click here to trigger a rebuild:
http://jenkins.qa.ubuntu.com/job/unity-phablet-ci/59/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Michael Zanetti (mzanetti) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Hud/Hud.qml'
2--- Hud/Hud.qml 2013-03-14 14:39:26 +0000
3+++ Hud/Hud.qml 2013-03-18 14:50:26 +0000
4@@ -33,6 +33,7 @@
5 property alias shown: hudShowable.shown
6 property alias toolBar: toolBar
7 property alias appStack: appStack
8+ property alias resultList: resultList
9 property alias handleHeight: handle.height
10
11 readonly property variant outEasing: Easing.OutQuad
12
13=== modified file 'Hud/ResultList.qml'
14--- Hud/ResultList.qml 2013-02-25 03:37:00 +0000
15+++ Hud/ResultList.qml 2013-03-18 14:50:26 +0000
16@@ -19,6 +19,7 @@
17
18 Column {
19 property var model: undefined
20+ property alias __repeater: repeater
21
22 // Hud gives lots of results, make sure we have 5 at most
23 // FIXME This should use SortFilterProxyModel
24@@ -37,6 +38,8 @@
25 onCountChanged: updateModelTimer.restart()
26 }
27
28+ onModelChanged: updateModelTimer.restart()
29+
30 Timer {
31 id: updateModelTimer
32 interval: 30
33
34=== modified file 'tests/qmluitests/qml/HudClient/fake_libhud_client.cpp'
35--- tests/qmluitests/qml/HudClient/fake_libhud_client.cpp 2013-03-15 16:57:11 +0000
36+++ tests/qmluitests/qml/HudClient/fake_libhud_client.cpp 2013-03-18 14:50:26 +0000
37@@ -19,6 +19,19 @@
38 #include "libhud_client_stub.h"
39
40 /* Schema that is used in the DeeModel representing
41+ the results */
42+static const gchar * results_model_schema[] = {
43+ "v", /* Command ID */
44+ "s", /* Command Name */
45+ "a(ii)", /* Highlights in command name */
46+ "s", /* Description */
47+ "a(ii)", /* Highlights in description */
48+ "s", /* Shortcut */
49+ "u", /* Distance */
50+ "b", /* Parameterized */
51+};
52+
53+/* Schema that is used in the DeeModel representing
54 the appstack */
55 static const gchar * appstack_model_schema[] = {
56 "s", /* Application ID */
57@@ -26,6 +39,7 @@
58 "i", /* Item Type */
59 };
60
61+DeeModel *resultsModel = 0;
62 DeeModel *appStackModel = 0;
63
64 HudClientQuery *hud_client_query_new(const gchar *query)
65@@ -37,7 +51,48 @@
66 DeeModel *hud_client_query_get_results_model(HudClientQuery *cquery)
67 {
68 Q_UNUSED(cquery);
69- return 0;
70+ if (!resultsModel) {
71+ resultsModel = dee_sequence_model_new();
72+ dee_model_set_schema_full(resultsModel, results_model_schema, G_N_ELEMENTS(results_model_schema));
73+
74+ GVariant * columns[G_N_ELEMENTS(results_model_schema) + 1];
75+ columns[0] = g_variant_new_variant(g_variant_new_uint64(0));
76+ columns[1] = g_variant_new_string("Help");
77+ columns[2] = g_variant_new_array(G_VARIANT_TYPE("(ii)"), NULL, 0);
78+ columns[3] = g_variant_new_string("Get Help");
79+ columns[4] = g_variant_new_array(G_VARIANT_TYPE("(ii)"), NULL, 0);
80+ columns[5] = g_variant_new_string("");
81+ columns[6] = g_variant_new_uint32(3);
82+ columns[7] = g_variant_new_boolean(false);
83+ columns[8] = NULL;
84+ dee_model_append_row(resultsModel, columns);
85+
86+ columns[0] = g_variant_new_variant(g_variant_new_uint64(1));
87+ columns[1] = g_variant_new_string("About");
88+ columns[3] = g_variant_new_string("Show About");
89+ dee_model_append_row(resultsModel, columns);
90+
91+ columns[0] = g_variant_new_variant(g_variant_new_uint64(2));
92+ columns[1] = g_variant_new_string("Foo");
93+ columns[3] = g_variant_new_string("Show Foo");
94+ dee_model_append_row(resultsModel, columns);
95+
96+ columns[0] = g_variant_new_variant(g_variant_new_uint64(3));
97+ columns[1] = g_variant_new_string("Bar");
98+ columns[3] = g_variant_new_string("Show Bar");
99+ dee_model_append_row(resultsModel, columns);
100+
101+ columns[0] = g_variant_new_variant(g_variant_new_uint64(4));
102+ columns[1] = g_variant_new_string("FooBar");
103+ columns[3] = g_variant_new_string("Show FooBar");
104+ dee_model_append_row(resultsModel, columns);
105+
106+ columns[0] = g_variant_new_variant(g_variant_new_uint64(5));
107+ columns[1] = g_variant_new_string("UltraFooBar");
108+ columns[3] = g_variant_new_string("Show UltraFooBar");
109+ dee_model_append_row(resultsModel, columns);
110+ }
111+ return resultsModel;
112 }
113
114 DeeModel *hud_client_query_get_appstack_model(HudClientQuery *cquery)
115
116=== modified file 'tests/qmluitests/tst_Hud.qml'
117--- tests/qmluitests/tst_Hud.qml 2013-03-15 11:12:20 +0000
118+++ tests/qmluitests/tst_Hud.qml 2013-03-18 14:50:26 +0000
119@@ -22,7 +22,7 @@
120
121 Hud {
122 id: hud
123- height: units.gu(50)
124+ height: units.gu(80)
125 width: units.gu(50)
126
127 HudClientStub {
128@@ -96,5 +96,24 @@
129 mouseRelease(hud.appStack.__flickable, stop_x, 0)
130 tryCompare(hud.appStack.__specialItem, "visible", false)
131 }
132+
133+ function test_hud_results() {
134+ tryCompare(hud.resultList.__repeater, "count", 5)
135+
136+ compare(hud.resultList.__repeater.itemAt(0).children[1].nameText, "Help", "First result name")
137+ compare(hud.resultList.__repeater.itemAt(0).children[1].contextSnippetText, "Get Help", "First result description")
138+
139+ compare(hud.resultList.__repeater.itemAt(1).children[1].nameText, "About", "Second result name")
140+ compare(hud.resultList.__repeater.itemAt(1).children[1].contextSnippetText, "Show About", "Second result description")
141+
142+ compare(hud.resultList.__repeater.itemAt(2).children[1].nameText, "Foo", "Third result name")
143+ compare(hud.resultList.__repeater.itemAt(2).children[1].contextSnippetText, "Show Foo", "Third result description")
144+
145+ compare(hud.resultList.__repeater.itemAt(3).children[1].nameText, "Bar", "Fourth result name")
146+ compare(hud.resultList.__repeater.itemAt(3).children[1].contextSnippetText, "Show Bar", "Fourth result description")
147+
148+ compare(hud.resultList.__repeater.itemAt(4).children[1].nameText, "FooBar", "Fifth result name")
149+ compare(hud.resultList.__repeater.itemAt(4).children[1].contextSnippetText, "Show FooBar", "Fifth result description")
150+ }
151 }
152 }

Subscribers

People subscribed via source and target branches