Merge lp:~mterry/unity8/statsWelcomeScreen into lp:unity8
- statsWelcomeScreen
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Michael Terry |
Approved revision: | 286 |
Merged at revision: | 381 |
Proposed branch: | lp:~mterry/unity8/statsWelcomeScreen |
Merge into: | lp:unity8 |
Prerequisite: | lp:~mterry/unity8/greeter-wallpaper |
Diff against target: |
316 lines (+93/-15) 9 files modified
Greeter/GreeterContent.qml (+11/-7) Greeter/Infographics.qml (+10/-1) plugins/AccountsService/AccountsService.cpp (+19/-0) plugins/AccountsService/AccountsService.h (+7/-0) tests/mocks/AccountsService/AccountsService.cpp (+13/-1) tests/mocks/AccountsService/AccountsService.h (+8/-0) tests/mocks/libusermetrics/UserMetrics.cpp (+6/-2) tests/qmltests/Greeter/tst_Infographics.qml (+4/-4) tests/qmltests/Greeter/tst_Phone.qml (+15/-0) |
To merge this branch: | bzr merge lp:~mterry/unity8/statsWelcomeScreen |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
MichaĆ Sawicz | Needs Information | ||
Michael Zanetti (community) | Approve | ||
Review via email: mp+184153@code.launchpad.net |
This proposal supersedes a proposal from 2013-09-05.
Commit message
Listen to the system setting StatsWelcomeScreen, which tells us whether to show user-specific infographic data in the greeter.
Description of the change
(Whoops, forgot to set prerequisite branch again)
Listen to the system setting StatsWelcomeScreen, which tells us whether to show user-specific infographic data in the greeter.
In addition to the main attraction, I fixed a bug with animations when switching between data and no-data in the infographic (the change in Infographic.qml). And I added a tiny test for the new feature.
Support for StatsWelcomeScreen is part of bug 1207857, and the option can be seen in the Privacy section of the system settings. Note that toggling that value, as of this writing, doesn't actually work due to a policykit issue. But to manually change the setting, these dbus commands can be used:
To turn stats off:
dbus-send --system --print-reply --dest=
To turn back on again:
dbus-send --system --print-reply --dest=
PS Jenkins bot (ps-jenkins) wrote : | # |
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:276
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:/
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:277
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:278
http://
Executed test runs:
SUCCESS: http://
UNSTABLE: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
UNSTABLE: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:280
http://
Executed test runs:
UNSTABLE: http://
UNSTABLE: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:280
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:281
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:281
http://
Executed test runs:
None: http://
None: http://
None: http://
None: http://
None: http://
None: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:281
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
MichaĆ Sawicz (saviq) wrote : | # |
Please merge trunk.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:282
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Michael Terry (mterry) wrote : | # |
Merged from trunk. I think the jenkins failure was a one-off.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:282
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
UNSTABLE: http://
FAILURE: http://
SUCCESS: http://
deb: http://
FAILURE: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Michael Zanetti (mzanetti) wrote : | # |
mzanetti@noneyet ~/Development/
Scanning dependencies of target testPhone
Fontconfig warning: "/etc/fonts/
file://
********* Start testing of qmltestrunner *********
Config: Using QTest library 5.0.2, Qt 5.0.2
PASS : qmltestrunner:
PASS : qmltestrunner:
FAIL! : qmltestrunner:
Loc: [(0)]
PASS : qmltestrunner:
PASS : qmltestrunner:
PASS : qmltestrunner:
PASS : qmltestrunner:
PASS : qmltestrunner:
PASS : qmltestrunner:
QWARN : qmltestrunner:
QWARN : qmltestrunner:
PASS : qmltestrunner:
PASS : qmltestrunner:
Totals: 10 passed, 1 failed, 0 skipped
********* Finished testing of qmltestrunner *********
make[3]: *** [tests/
make[2]: *** [tests/
make[1]: *** [tests/
make: *** [testPhone] Error 2
Michael Zanetti (mzanetti) wrote : | # |
Hmm... when calling this method something weird happens:
the showAnimation and the hideAnimation start at the same time and fight each other, which causes the infographic being left with only half of the dots painted. Even though it looks quite nice I don't think this is intentional, is it?
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:283
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Michael Terry (mterry) wrote : | # |
OK, updated this branch to prevent overlapping animations. Except for the no-data -> data transition, where libusermetrics itself forces us to show immediately, since it signals itself that we're ready for the show animation (usually libusermetrics leaves that to us, but not in this case). So while that transition is abrupt, the data -> no-data looks good and neither shows overlapping animations like it used to.
Michael Zanetti (mzanetti) : | # |
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:284
http://
Executed test runs:
UNSTABLE: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
UNSTABLE: http://
UNSTABLE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
None: http://
UNSTABLE: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
UNSTABLE: http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
UNSTABLE: http://
UNSTABLE: http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
UNSTABLE: http://
UNSTABLE: http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
None: http://
SUCCESS: http://
UNSTABLE: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
UNSTABLE: http://
UNSTABLE: http://
MichaĆ Sawicz (saviq) wrote : | # |
OK it seems those test failures are valid... Or at least I can't get them to pass. Can you verify that autopilot tests pass on device?
Michael Terry (mterry) wrote : | # |
You're right... I don't see the extra 3 application_
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:285
http://
Executed test runs:
SUCCESS: http://
UNSTABLE: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
UNSTABLE: http://
UNSTABLE: http://
Click here to trigger a rebuild:
http://
- 286. By Michael Terry
-
Don't crash if we only ever set an empty username in our mock libusermetrics
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:286
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) : | # |
Preview Diff
1 | === modified file 'Greeter/GreeterContent.qml' |
2 | --- Greeter/GreeterContent.qml 2013-09-24 13:00:33 +0000 |
3 | +++ Greeter/GreeterContent.qml 2013-10-03 04:28:43 +0000 |
4 | @@ -135,19 +135,23 @@ |
5 | |
6 | Infographics { |
7 | id: infographics |
8 | + objectName: "infographics" |
9 | height: narrowMode ? parent.height : 0.75 * parent.height |
10 | model: greeterContentLoader.infographicModel |
11 | |
12 | - Component.onCompleted: infographics.updateUsername(greeterContentLoader.currentIndex) |
13 | + property string selectedUser |
14 | + property string infographicUser: AccountsService.statsWelcomeScreen ? selectedUser : "" |
15 | + onInfographicUserChanged: greeterContentLoader.infographicModel.username = infographicUser |
16 | + |
17 | + Component.onCompleted: { |
18 | + selectedUser = greeterContentLoader.model.data(greeterContentLoader.currentIndex, LightDM.UserRoles.NameRole) |
19 | + greeterContentLoader.infographicModel.username = infographicUser |
20 | + greeterContentLoader.infographicModel.readyForDataChange() |
21 | + } |
22 | |
23 | Connections { |
24 | target: root |
25 | - onSelected: infographics.updateUsername(uid) |
26 | - } |
27 | - |
28 | - function updateUsername(uid) { |
29 | - greeterContentLoader.infographicModel.username = greeterContentLoader.model.data(uid, LightDM.UserRoles.NameRole) |
30 | - greeterContentLoader.infographicModel.readyForDataChangeSlot(); |
31 | + onSelected: infographics.selectedUser = greeterContentLoader.model.data(uid, LightDM.UserRoles.NameRole) |
32 | } |
33 | |
34 | anchors { |
35 | |
36 | === modified file 'Greeter/Infographics.qml' |
37 | --- Greeter/Infographics.qml 2013-09-03 14:39:25 +0000 |
38 | +++ Greeter/Infographics.qml 2013-10-03 04:28:43 +0000 |
39 | @@ -29,21 +29,30 @@ |
40 | Connections { |
41 | target: model |
42 | |
43 | + onDataAboutToAppear: startHideAnimation() // hide "no data" label |
44 | onDataAppeared: startShowAnimation() |
45 | |
46 | onDataAboutToChange: startHideAnimation() |
47 | - |
48 | onDataChanged: startShowAnimation() |
49 | |
50 | onDataAboutToDisappear: startHideAnimation() |
51 | + onDataDisappeared: startShowAnimation() // show "no data" label |
52 | } |
53 | |
54 | function startShowAnimation() { |
55 | + dotHideAnimTimer.stop() |
56 | + circleShrinkAnimTimer.stop() |
57 | + notification.hideAnim.stop() |
58 | + |
59 | dotShowAnimTimer.startFromBeginning() |
60 | notification.showAnim.start() |
61 | } |
62 | |
63 | function startHideAnimation() { |
64 | + dotShowAnimTimer.stop() |
65 | + circleGrowAnimTimer.stop() |
66 | + notification.showAnim.stop() |
67 | + |
68 | dotHideAnimTimer.startFromBeginning() |
69 | notification.hideAnim.start() |
70 | } |
71 | |
72 | === modified file 'plugins/AccountsService/AccountsService.cpp' |
73 | --- plugins/AccountsService/AccountsService.cpp 2013-09-19 15:36:54 +0000 |
74 | +++ plugins/AccountsService/AccountsService.cpp 2013-10-03 04:28:43 +0000 |
75 | @@ -44,6 +44,7 @@ |
76 | |
77 | updateDemoEdges(); |
78 | updateBackgroundFile(); |
79 | + updateStatsWelcomeScreen(); |
80 | } |
81 | |
82 | bool AccountsService::demoEdges() const |
83 | @@ -62,6 +63,11 @@ |
84 | return m_backgroundFile; |
85 | } |
86 | |
87 | +bool AccountsService::statsWelcomeScreen() const |
88 | +{ |
89 | + return m_statsWelcomeScreen; |
90 | +} |
91 | + |
92 | void AccountsService::updateDemoEdges() |
93 | { |
94 | auto demoEdges = m_service->getUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges").toBool(); |
95 | @@ -80,6 +86,15 @@ |
96 | } |
97 | } |
98 | |
99 | +void AccountsService::updateStatsWelcomeScreen() |
100 | +{ |
101 | + bool statsWelcomeScreen = m_service->getUserProperty(m_user, "com.ubuntu.touch.AccountsService.SecurityPrivacy", "StatsWelcomeScreen").toBool(); |
102 | + if (m_statsWelcomeScreen != statsWelcomeScreen) { |
103 | + m_statsWelcomeScreen = statsWelcomeScreen; |
104 | + Q_EMIT statsWelcomeScreenChanged(); |
105 | + } |
106 | +} |
107 | + |
108 | void AccountsService::propertiesChanged(const QString &user, const QString &interface, const QStringList &changed) |
109 | { |
110 | if (m_user != user) { |
111 | @@ -90,6 +105,10 @@ |
112 | if (changed.contains("demo-edges")) { |
113 | updateDemoEdges(); |
114 | } |
115 | + } else if (interface == "com.ubuntu.touch.AccountsService.SecurityPrivacy") { |
116 | + if (changed.contains("StatsWelcomeScreen")) { |
117 | + updateStatsWelcomeScreen(); |
118 | + } |
119 | } |
120 | } |
121 | |
122 | |
123 | === modified file 'plugins/AccountsService/AccountsService.h' |
124 | --- plugins/AccountsService/AccountsService.h 2013-09-19 15:36:54 +0000 |
125 | +++ plugins/AccountsService/AccountsService.h 2013-10-03 04:28:43 +0000 |
126 | @@ -38,6 +38,9 @@ |
127 | Q_PROPERTY (QString backgroundFile |
128 | READ backgroundFile |
129 | NOTIFY backgroundFileChanged) |
130 | + Q_PROPERTY (bool statsWelcomeScreen |
131 | + READ statsWelcomeScreen |
132 | + NOTIFY statsWelcomeScreenChanged) |
133 | |
134 | public: |
135 | explicit AccountsService(QObject *parent = 0); |
136 | @@ -47,11 +50,13 @@ |
137 | bool demoEdges() const; |
138 | void setDemoEdges(bool demoEdges); |
139 | QString backgroundFile() const; |
140 | + bool statsWelcomeScreen() const; |
141 | |
142 | Q_SIGNALS: |
143 | void userChanged(); |
144 | void demoEdgesChanged(); |
145 | void backgroundFileChanged(); |
146 | + void statsWelcomeScreenChanged(); |
147 | |
148 | private Q_SLOTS: |
149 | void propertiesChanged(const QString &user, const QString &interface, const QStringList &changed); |
150 | @@ -60,11 +65,13 @@ |
151 | private: |
152 | void updateDemoEdges(); |
153 | void updateBackgroundFile(); |
154 | + void updateStatsWelcomeScreen(); |
155 | |
156 | AccountsServiceDBusAdaptor *m_service; |
157 | QString m_user; |
158 | bool m_demoEdges; |
159 | QString m_backgroundFile; |
160 | + bool m_statsWelcomeScreen; |
161 | }; |
162 | |
163 | #endif |
164 | |
165 | === modified file 'tests/mocks/AccountsService/AccountsService.cpp' |
166 | --- tests/mocks/AccountsService/AccountsService.cpp 2013-09-19 17:10:23 +0000 |
167 | +++ tests/mocks/AccountsService/AccountsService.cpp 2013-10-03 04:28:43 +0000 |
168 | @@ -20,7 +20,8 @@ |
169 | |
170 | AccountsService::AccountsService(QObject* parent) |
171 | : QObject(parent), |
172 | - m_backgroundFile(TOP_SRCDIR "/graphics/phone_background.jpg") |
173 | + m_backgroundFile(TOP_SRCDIR "/graphics/phone_background.jpg"), |
174 | + m_statsWelcomeScreen(true) |
175 | { |
176 | } |
177 | |
178 | @@ -54,3 +55,14 @@ |
179 | m_backgroundFile = backgroundFile; |
180 | backgroundFileChanged(); |
181 | } |
182 | + |
183 | +bool AccountsService::statsWelcomeScreen() const |
184 | +{ |
185 | + return m_statsWelcomeScreen; |
186 | +} |
187 | + |
188 | +void AccountsService::setStatsWelcomeScreen(bool statsWelcomeScreen) |
189 | +{ |
190 | + m_statsWelcomeScreen = statsWelcomeScreen; |
191 | + statsWelcomeScreenChanged(); |
192 | +} |
193 | |
194 | === modified file 'tests/mocks/AccountsService/AccountsService.h' |
195 | --- tests/mocks/AccountsService/AccountsService.h 2013-09-19 17:10:23 +0000 |
196 | +++ tests/mocks/AccountsService/AccountsService.h 2013-10-03 04:28:43 +0000 |
197 | @@ -39,6 +39,10 @@ |
198 | READ backgroundFile |
199 | WRITE setBackgroundFile // only available in mock |
200 | NOTIFY backgroundFileChanged) |
201 | + Q_PROPERTY (bool statsWelcomeScreen |
202 | + READ statsWelcomeScreen |
203 | + WRITE setStatsWelcomeScreen // only available in mock |
204 | + NOTIFY statsWelcomeScreenChanged) |
205 | |
206 | public: |
207 | explicit AccountsService(QObject *parent = 0); |
208 | @@ -49,14 +53,18 @@ |
209 | void setDemoEdges(bool demoEdges); |
210 | QString backgroundFile() const; |
211 | void setBackgroundFile(const QString &backgroundFile); |
212 | + bool statsWelcomeScreen() const; |
213 | + void setStatsWelcomeScreen(bool statsWelcomeScreen); |
214 | |
215 | Q_SIGNALS: |
216 | void userChanged(); |
217 | void demoEdgesChanged(); |
218 | void backgroundFileChanged(); |
219 | + void statsWelcomeScreenChanged(); |
220 | |
221 | private: |
222 | QString m_backgroundFile; |
223 | + bool m_statsWelcomeScreen; |
224 | }; |
225 | |
226 | #endif |
227 | |
228 | === modified file 'tests/mocks/libusermetrics/UserMetrics.cpp' |
229 | --- tests/mocks/libusermetrics/UserMetrics.cpp 2013-06-14 19:35:25 +0000 |
230 | +++ tests/mocks/libusermetrics/UserMetrics.cpp 2013-10-03 04:28:43 +0000 |
231 | @@ -228,7 +228,7 @@ |
232 | |
233 | void UserMetricsPrivate::setUsername(const QString &username) |
234 | { |
235 | - if (m_username == username) { |
236 | + if (m_username == username && m_newData) { |
237 | return; |
238 | } |
239 | |
240 | @@ -407,7 +407,11 @@ |
241 | |
242 | QString UserMetrics::label() const |
243 | { |
244 | - return d_ptr->m_label; |
245 | + if (d_ptr->m_label.isEmpty()) { |
246 | + return "No data"; |
247 | + } else { |
248 | + return d_ptr->m_label; |
249 | + } |
250 | } |
251 | |
252 | QString UserMetrics::username() const |
253 | |
254 | === modified file 'tests/qmltests/Greeter/tst_Infographics.qml' |
255 | --- tests/qmltests/Greeter/tst_Infographics.qml 2013-06-05 22:03:08 +0000 |
256 | +++ tests/qmltests/Greeter/tst_Infographics.qml 2013-10-03 04:28:43 +0000 |
257 | @@ -64,15 +64,15 @@ |
258 | |
259 | function test_set_username_data() { |
260 | return [ |
261 | - { username: "has-password" }, |
262 | - { username: "no-password" }, |
263 | - { username: "empty-name" } |
264 | + { username: "has-password", label: "<b>19</b> minutes talk time" }, |
265 | + { username: "two-factor", label: "No data" }, |
266 | + { username: "", label: "No data" }, |
267 | ] |
268 | } |
269 | |
270 | function test_set_username(data) { |
271 | infographicModel.username = data.username |
272 | - tryCompare(label, "text", "<b>19</b> minutes talk time") |
273 | + tryCompare(label, "text", data.label) |
274 | } |
275 | } |
276 | |
277 | |
278 | === modified file 'tests/qmltests/Greeter/tst_Phone.qml' |
279 | --- tests/qmltests/Greeter/tst_Phone.qml 2013-09-13 15:17:02 +0000 |
280 | +++ tests/qmltests/Greeter/tst_Phone.qml 2013-10-03 04:28:43 +0000 |
281 | @@ -19,6 +19,7 @@ |
282 | import ".." |
283 | import "../../../Greeter" |
284 | import AccountsService 0.1 |
285 | +import LightDM 0.1 as LightDM |
286 | import Ubuntu.Components 0.1 |
287 | import Unity.Test 0.1 as UT |
288 | |
289 | @@ -53,6 +54,10 @@ |
290 | name: "Greeter" |
291 | when: windowShown |
292 | |
293 | + function cleanup() { |
294 | + AccountsService.statsWelcomeScreen = true |
295 | + } |
296 | + |
297 | function test_properties() { |
298 | compare(greeter.multiUser, false) |
299 | compare(greeter.narrowMode, true) |
300 | @@ -105,6 +110,16 @@ |
301 | tryCompareFunction(function() { return greeter.x;}, 0); |
302 | } |
303 | |
304 | + function test_statsWelcomeScreen() { |
305 | + // Test logic in greeter that turns statsWelcomeScreen setting into infographic changes |
306 | + compare(AccountsService.statsWelcomeScreen, true) |
307 | + tryCompare(LightDM.Infographic, "username", "single") |
308 | + AccountsService.statsWelcomeScreen = false |
309 | + tryCompare(LightDM.Infographic, "username", "") |
310 | + AccountsService.statsWelcomeScreen = true |
311 | + tryCompare(LightDM.Infographic, "username", "single") |
312 | + } |
313 | + |
314 | function test_wallpaper_data() { |
315 | return [ |
316 | {tag: "set", accounts: "../tests/data/unity/backgrounds/blue.png", expected: "blue.png"}, |
FAILED: Continuous integration, rev:275 /code.launchpad .net/~mterry/ unity8/ statsWelcomeScr een/+merge/ 184153/ +edit-commit- message
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:/
http:// jenkins. qa.ubuntu. com/job/ unity8- ci/911/ jenkins. qa.ubuntu. com/job/ generic- mediumtests- saucy/3059/ console jenkins. qa.ubuntu. com/job/ generic- mediumtests- touch/620/ console jenkins. qa.ubuntu. com/job/ unity-phablet- qmluitests- saucy/1546/ console jenkins. qa.ubuntu. com/job/ unity8- saucy-armhf- ci/912/ console jenkins. qa.ubuntu. com/job/ unity8- saucy-i386- ci/911/ console jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- saucy-i386/ 3065/console jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- saucy-armhf/ 622/console
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ unity8- ci/911/ rebuild
http://