Merge lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/hideInputHandlersWhileTyping into lp:ubuntu-ui-toolkit/staging
- hideInputHandlersWhileTyping
- Merge into staging
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Cris Dywan | ||||
Approved revision: | 1196 | ||||
Merged at revision: | 1257 | ||||
Proposed branch: | lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/hideInputHandlersWhileTyping | ||||
Merge into: | lp:ubuntu-ui-toolkit/staging | ||||
Diff against target: |
469 lines (+275/-35) 11 files modified
modules/Ubuntu/Components/InputHandler.qml (+12/-1) modules/Ubuntu/Components/TextCursor.qml (+10/-0) modules/Ubuntu/Components/Themes/Ambiance/TextCursorStyle.qml (+1/-0) modules/Ubuntu/Components/Themes/Ambiance/TextSelectionEndCursorStyle.qml (+1/-0) tests/autopilot/ubuntuuitoolkit/base.py (+25/-1) tests/autopilot/ubuntuuitoolkit/tests/__init__.py (+10/-4) tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py (+98/-0) tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textarea.qml (+36/-0) tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield.qml (+35/-0) tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield_custom.qml (+43/-0) tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py (+4/-29) |
||||
To merge this branch: | bzr merge lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/hideInputHandlersWhileTyping | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot | continuous-integration | Approve | |
Zsombor Egri | Approve | ||
Review via email: mp+230318@code.launchpad.net |
Commit message
Hide text input handlers while typing
Description of the change
PS Jenkins bot (ps-jenkins) wrote : | # |
Zsombor Egri (zsombi) wrote : | # |
Tested on the device with Contacts app. The caret is hidden when typing is started, but does appear only after few taps-cursor position changes later. Even if the focus is taken away from the input and then given back it won't appear.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1187
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
Timo Jyrinki (timo-jyrinki) wrote : | # |
Unstable tests, or failing?
ubuntuuitoo
ubuntuuitoo
ubuntuuitoo
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1188
http://
Executed test runs:
UNSTABLE: http://
FAILURE: http://
SUCCESS: http://
deb: http://
FAILURE: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1190
http://
Executed test runs:
UNSTABLE: http://
FAILURE: http://
SUCCESS: http://
deb: http://
FAILURE: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1192
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1193
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1194
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1196
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Zsombor Egri (zsombi) wrote : | # |
Looks brilliant now! Thank you!
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
PS Jenkins bot (ps-jenkins) : | # |
Preview Diff
1 | === modified file 'modules/Ubuntu/Components/InputHandler.qml' |
2 | --- modules/Ubuntu/Components/InputHandler.qml 2014-06-28 17:26:49 +0000 |
3 | +++ modules/Ubuntu/Components/InputHandler.qml 2014-09-17 16:07:15 +0000 |
4 | @@ -50,6 +50,9 @@ |
5 | |
6 | // signal triggered when popup should be opened |
7 | signal pressAndHold(int pos) |
8 | + signal tap(int pos) |
9 | + property string oldText: "" |
10 | + signal textModified() |
11 | |
12 | function activateInput() { |
13 | if (!input.activeFocus) { |
14 | @@ -307,7 +310,13 @@ |
15 | Connections { |
16 | target: input |
17 | onCursorRectangleChanged: ensureVisible() |
18 | - onTextChanged: textChanged = true; |
19 | + onTextChanged: { |
20 | + textChanged = true; |
21 | + if (oldText != input.text) { |
22 | + textModified() |
23 | + oldText = text |
24 | + } |
25 | + } |
26 | // make sure we show the OSK |
27 | onActiveFocusChanged: showInputPanel() |
28 | } |
29 | @@ -369,6 +378,8 @@ |
30 | if (event.button === Qt.RightButton) { |
31 | // open the popover |
32 | inputHandler.pressAndHold(input.cursorPosition); |
33 | + } else { |
34 | + inputHandler.tap(input.cursorPosition); |
35 | } |
36 | } |
37 | function handleMove(event, touch ) { |
38 | |
39 | === modified file 'modules/Ubuntu/Components/TextCursor.qml' |
40 | --- modules/Ubuntu/Components/TextCursor.qml 2014-08-21 05:24:14 +0000 |
41 | +++ modules/Ubuntu/Components/TextCursor.qml 2014-09-17 16:07:15 +0000 |
42 | @@ -64,6 +64,8 @@ |
43 | Connections { |
44 | target: inputHandler |
45 | onPressAndHold: openPopover() |
46 | + onTextModified: typing = true |
47 | + onTap: typing = false |
48 | } |
49 | |
50 | function openPopover() { |
51 | @@ -85,6 +87,8 @@ |
52 | "target": handler.main |
53 | }) |
54 | } |
55 | + contextMenuVisible = true; |
56 | + popup.onVisibleChanged.connect(contextMenuHidden.bind(undefined, popup)); |
57 | // do not grab focus! |
58 | popup.__foreground.activeFocusOnPress = false; |
59 | } |
60 | @@ -124,6 +128,12 @@ |
61 | when: caret |
62 | property: "visible" |
63 | value: QuickUtils.touchScreenAvailable |
64 | + && (contextMenuVisible || !typing) |
65 | + } |
66 | + property bool typing: false |
67 | + property bool contextMenuVisible: false |
68 | + function contextMenuHidden(p) { |
69 | + contextMenuVisible = false |
70 | } |
71 | onXChanged: if (draggedItem.state === "") draggedItem.moveToCaret() |
72 | onYChanged: if (draggedItem.state === "") draggedItem.moveToCaret() |
73 | |
74 | === modified file 'modules/Ubuntu/Components/Themes/Ambiance/TextCursorStyle.qml' |
75 | --- modules/Ubuntu/Components/Themes/Ambiance/TextCursorStyle.qml 2014-08-12 08:09:04 +0000 |
76 | +++ modules/Ubuntu/Components/Themes/Ambiance/TextCursorStyle.qml 2014-09-17 16:07:15 +0000 |
77 | @@ -78,6 +78,7 @@ |
78 | Image { |
79 | id: caretItem |
80 | source: "artwork/caret_noshadow.png" |
81 | + objectName: "text_cursor_style_caret" |
82 | anchors { |
83 | top: parent.bottom |
84 | horizontalCenter: parent.horizontalCenter |
85 | |
86 | === modified file 'modules/Ubuntu/Components/Themes/Ambiance/TextSelectionEndCursorStyle.qml' |
87 | --- modules/Ubuntu/Components/Themes/Ambiance/TextSelectionEndCursorStyle.qml 2014-08-12 08:09:04 +0000 |
88 | +++ modules/Ubuntu/Components/Themes/Ambiance/TextSelectionEndCursorStyle.qml 2014-09-17 16:07:15 +0000 |
89 | @@ -63,6 +63,7 @@ |
90 | Image { |
91 | id: caretItem |
92 | source: "artwork/caret_noshadow.png" |
93 | + objectName: "text_cursor_style_caret_end" |
94 | anchors { |
95 | top: parent.bottom |
96 | horizontalCenter: parent.horizontalCenter |
97 | |
98 | === modified file 'tests/autopilot/ubuntuuitoolkit/base.py' |
99 | --- tests/autopilot/ubuntuuitoolkit/base.py 2014-07-12 03:17:23 +0000 |
100 | +++ tests/autopilot/ubuntuuitoolkit/base.py 2014-09-17 16:07:15 +0000 |
101 | @@ -16,8 +16,11 @@ |
102 | |
103 | """Base classes for Autopilot tests using the Ubuntu UI Toolkit.""" |
104 | |
105 | +import logging |
106 | + |
107 | import os |
108 | import subprocess |
109 | +import ubuntuuitoolkit |
110 | |
111 | from autopilot import ( |
112 | input, |
113 | @@ -26,6 +29,9 @@ |
114 | ) |
115 | |
116 | |
117 | +logger = logging.getLogger(__name__) |
118 | + |
119 | + |
120 | def get_host_multiarch(): |
121 | if 'deb_host_multiarch' not in os.environ: |
122 | # Discard errors: the one known message is "GCC not installed" |
123 | @@ -36,7 +42,12 @@ |
124 | |
125 | |
126 | def get_qmlscene_launch_command(): |
127 | - """Return the command to launch qmlscene for autopilot tests.""" |
128 | + """Return the command to launch qmlscene for autopilot tests. |
129 | + |
130 | + This function is deprecated. Use get_toolkit_launcher_command() instead. |
131 | + """ |
132 | + logger.warn('This function is deprecated. ' |
133 | + 'Use get_toolkit_launcher_command() instead.') |
134 | # We need to specify qt5 because qtchooser doesn't have a default |
135 | # configuration on devices and it seems the environment variable |
136 | # QT_SELECT=qt5 doesn't work for autopilot tests. --Mirv - 2013-10-03 |
137 | @@ -44,6 +55,19 @@ |
138 | return '/usr/lib/{}/qt5/bin/qmlscene'.format(arch) |
139 | |
140 | |
141 | +def get_toolkit_launcher_command(): |
142 | + root = ubuntuuitoolkit.tests.get_path_to_source_root() |
143 | + path_to_local_launcher = os.path.join( |
144 | + root, 'tests', 'launcher', 'launcher') |
145 | + if os.path.exists(path_to_local_launcher): |
146 | + return path_to_local_launcher |
147 | + else: |
148 | + arch = ubuntuuitoolkit.base.get_host_multiarch() |
149 | + path_to_installed_launcher = os.path.join( |
150 | + '/', 'usr', 'lib', arch, 'ubuntu-ui-toolkit', 'launcher') |
151 | + return path_to_installed_launcher |
152 | + |
153 | + |
154 | class UbuntuUIToolkitAppTestCase(testcase.AutopilotTestCase): |
155 | """Autopilot test case for applications using the Ubuntu UI Toolkit.""" |
156 | |
157 | |
158 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/__init__.py' |
159 | --- tests/autopilot/ubuntuuitoolkit/tests/__init__.py 2014-08-28 21:34:04 +0000 |
160 | +++ tests/autopilot/ubuntuuitoolkit/tests/__init__.py 2014-09-17 16:07:15 +0000 |
161 | @@ -141,13 +141,19 @@ |
162 | self.pointing_device = Pointer(self.input_device_class.create()) |
163 | self.launch_application() |
164 | |
165 | + def get_command_line(self, command_line): |
166 | + return command_line |
167 | + |
168 | def launch_application(self): |
169 | desktop_file_path = self._get_desktop_file_path() |
170 | + command_line = [ |
171 | + base.get_toolkit_launcher_command(), |
172 | + "-I", _get_module_include_path(), |
173 | + self.test_qml_file_path, |
174 | + '--desktop_file_hint={0}'.format(desktop_file_path) |
175 | + ] |
176 | self.app = self.launch_test_application( |
177 | - base.get_qmlscene_launch_command(), |
178 | - "-I" + _get_module_include_path(), |
179 | - self.test_qml_file_path, |
180 | - '--desktop_file_hint={0}'.format(desktop_file_path), |
181 | + *self.get_command_line(command_line), |
182 | emulator_base=ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase, |
183 | app_type='qt') |
184 | |
185 | |
186 | === added file 'tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py' |
187 | --- tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py 1970-01-01 00:00:00 +0000 |
188 | +++ tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py 2014-09-17 16:07:15 +0000 |
189 | @@ -0,0 +1,98 @@ |
190 | +# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- |
191 | +# |
192 | +# Copyright (C) 2014 Canonical Ltd. |
193 | +# |
194 | +# This program is free software; you can redistribute it and/or modify |
195 | +# it under the terms of the GNU Lesser General Public License as published by |
196 | +# the Free Software Foundation; version 3. |
197 | +# |
198 | +# This program is distributed in the hope that it will be useful, |
199 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
200 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
201 | +# GNU Lesser General Public License for more details. |
202 | +# |
203 | +# You should have received a copy of the GNU Lesser General Public License |
204 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
205 | + |
206 | +"""Tests for the Ubuntu UI Toolkit Header component.""" |
207 | + |
208 | +import os |
209 | + |
210 | +from autopilot.introspection import dbus |
211 | + |
212 | +from ubuntuuitoolkit import tests |
213 | + |
214 | + |
215 | +class CaretTextInputTestCase(tests.QMLFileAppTestCase): |
216 | + |
217 | + path = os.path.abspath(__file__) |
218 | + dir_path = os.path.dirname(path) |
219 | + textfield_qml_file_path = os.path.join( |
220 | + dir_path, 'test_textinput.textfield.qml') |
221 | + textarea_qml_file_path = os.path.join( |
222 | + dir_path, 'test_textinput.textarea.qml') |
223 | + customfield_qml_file_path = os.path.join( |
224 | + dir_path, 'test_textinput.textfield_custom.qml') |
225 | + |
226 | + scenarios = [ |
227 | + ('textfield', |
228 | + dict(test_qml_file_path=textfield_qml_file_path, |
229 | + objectName='textfield')), |
230 | + ('textarea', |
231 | + dict(test_qml_file_path=textarea_qml_file_path, |
232 | + objectName='textarea')), |
233 | + ('customfield', |
234 | + dict(test_qml_file_path=customfield_qml_file_path, |
235 | + objectName='textfield')), |
236 | + ] |
237 | + |
238 | + def get_command_line(self, command_line): |
239 | + command_line.append('-touch') |
240 | + return command_line |
241 | + |
242 | + def setUp(self): |
243 | + super(CaretTextInputTestCase, self).setUp() |
244 | + self.textfield = self.main_view.select_single( |
245 | + objectName=self.objectName) |
246 | + self.assertFalse(self.textfield.focus) |
247 | + |
248 | + def test_caret_visible_on_focus(self): |
249 | + try: |
250 | + cursor = self.main_view.select_single( |
251 | + objectName='text_cursor_style_caret') |
252 | + # cursor.visible is always True if the select succeeds |
253 | + self.assertFalse(cursor.visible) |
254 | + except dbus.StateNotFoundError: |
255 | + # Caret can't be selected because it's hidden |
256 | + pass |
257 | + |
258 | + self.pointing_device.click_object(self.textfield) |
259 | + self.assertTrue(self.textfield.focus) |
260 | + cursor = self.main_view.select_single( |
261 | + objectName='text_cursor_style_caret') |
262 | + self.assertTrue(cursor.visible) |
263 | + |
264 | + def test_caret_hide_while_typing(self): |
265 | + self.pointing_device.click_object(self.textfield) |
266 | + self.assertTrue(self.textfield.focus) |
267 | + cursor = self.main_view.select_single( |
268 | + objectName='text_cursor_style_caret') |
269 | + self.assertTrue(cursor.visible) |
270 | + |
271 | + self.textfield.keyboard.type('Lorem ipsum') |
272 | + self.assertFalse(cursor.visible) |
273 | + |
274 | + def test_caret_visible_after_tapping(self): |
275 | + self.test_caret_hide_while_typing() |
276 | + self.pointing_device.click_object(self.textfield) |
277 | + cursor = self.main_view.select_single( |
278 | + objectName='text_cursor_style_caret') |
279 | + self.assertTrue(cursor.visible) |
280 | + |
281 | + def test_caret_visible_after_selecting(self): |
282 | + self.test_caret_hide_while_typing() |
283 | + # Select a character |
284 | + self.keyboard.press_and_release('Shift+Left') |
285 | + cursor = self.main_view.select_single( |
286 | + objectName='text_cursor_style_caret_end') |
287 | + self.assertTrue(cursor.visible) |
288 | |
289 | === added file 'tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textarea.qml' |
290 | --- tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textarea.qml 1970-01-01 00:00:00 +0000 |
291 | +++ tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textarea.qml 2014-09-17 16:07:15 +0000 |
292 | @@ -0,0 +1,36 @@ |
293 | +/* |
294 | + * Copyright 2014 Canonical Ltd. |
295 | + * |
296 | + * This program is free software; you can redistribute it and/or modify |
297 | + * it under the terms of the GNU Lesser General Public License as published by |
298 | + * the Free Software Foundation; version 3. |
299 | + * |
300 | + * This program is distributed in the hope that it will be useful, |
301 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
302 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
303 | + * GNU Lesser General Public License for more details. |
304 | + * |
305 | + * You should have received a copy of the GNU Lesser General Public License |
306 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
307 | + */ |
308 | + |
309 | +import QtQuick 2.0 |
310 | +import Ubuntu.Components 1.1 |
311 | + |
312 | +MainView { |
313 | + width: units.gu(48) |
314 | + height: units.gu(60) |
315 | + |
316 | + Page { |
317 | + title: "Textarea" |
318 | + |
319 | + Column { |
320 | + TextArea { |
321 | + objectName: "textarea" |
322 | + text: "Lorem ipsum dolor sit amet." |
323 | + width: units.gu(25) |
324 | + height: units.gu(25) |
325 | + } |
326 | + } |
327 | + } |
328 | +} |
329 | |
330 | === added file 'tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield.qml' |
331 | --- tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield.qml 1970-01-01 00:00:00 +0000 |
332 | +++ tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield.qml 2014-09-17 16:07:15 +0000 |
333 | @@ -0,0 +1,35 @@ |
334 | +/* |
335 | + * Copyright 2014 Canonical Ltd. |
336 | + * |
337 | + * This program is free software; you can redistribute it and/or modify |
338 | + * it under the terms of the GNU Lesser General Public License as published by |
339 | + * the Free Software Foundation; version 3. |
340 | + * |
341 | + * This program is distributed in the hope that it will be useful, |
342 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
343 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
344 | + * GNU Lesser General Public License for more details. |
345 | + * |
346 | + * You should have received a copy of the GNU Lesser General Public License |
347 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
348 | + */ |
349 | + |
350 | +import QtQuick 2.0 |
351 | +import Ubuntu.Components 1.1 |
352 | + |
353 | +MainView { |
354 | + width: units.gu(48) |
355 | + height: units.gu(60) |
356 | + |
357 | + Page { |
358 | + title: "Textfield" |
359 | + |
360 | + Column { |
361 | + TextField { |
362 | + objectName: "textfield" |
363 | + placeholderText: "Type here" |
364 | + width: units.gu(15) |
365 | + } |
366 | + } |
367 | + } |
368 | +} |
369 | |
370 | === added file 'tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield_custom.qml' |
371 | --- tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield_custom.qml 1970-01-01 00:00:00 +0000 |
372 | +++ tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield_custom.qml 2014-09-17 16:07:15 +0000 |
373 | @@ -0,0 +1,43 @@ |
374 | +/* |
375 | + * Copyright 2014 Canonical Ltd. |
376 | + * |
377 | + * This program is free software; you can redistribute it and/or modify |
378 | + * it under the terms of the GNU Lesser General Public License as published by |
379 | + * the Free Software Foundation; version 3. |
380 | + * |
381 | + * This program is distributed in the hope that it will be useful, |
382 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
383 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
384 | + * GNU Lesser General Public License for more details. |
385 | + * |
386 | + * You should have received a copy of the GNU Lesser General Public License |
387 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
388 | + */ |
389 | + |
390 | +import QtQuick 2.0 |
391 | +import Ubuntu.Components 1.1 |
392 | +import Ubuntu.Components.Themes.Ambiance 0.1 |
393 | + |
394 | +MainView { |
395 | + width: units.gu(48) |
396 | + height: units.gu(60) |
397 | + |
398 | + Page { |
399 | + title: "Textfield" |
400 | + |
401 | + Column { |
402 | + TextField { |
403 | + objectName: "textfield" |
404 | + placeholderText: "Type here" |
405 | + width: units.gu(15) |
406 | + |
407 | + style: TextFieldStyle { |
408 | + overlaySpacing: 0 |
409 | + frameSpacing: 0 |
410 | + background: Item {} |
411 | + color: UbuntuColors.lightAubergine |
412 | + } |
413 | + } |
414 | + } |
415 | + } |
416 | +} |
417 | |
418 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py' |
419 | --- tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py 2014-08-04 15:29:28 +0000 |
420 | +++ tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py 2014-09-17 16:07:15 +0000 |
421 | @@ -14,11 +14,9 @@ |
422 | # You should have received a copy of the GNU Lesser General Public License |
423 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
424 | |
425 | -import os |
426 | - |
427 | import testtools |
428 | import ubuntuuitoolkit |
429 | -from ubuntuuitoolkit import fixture_setup, tests |
430 | +from ubuntuuitoolkit import tests |
431 | from ubuntuuitoolkit._custom_proxy_objects import _common |
432 | |
433 | |
434 | @@ -200,32 +198,9 @@ |
435 | } |
436 | """) |
437 | |
438 | - def launch_application(self): |
439 | - fake_application = fixture_setup.FakeApplication( |
440 | - qml_file_contents=self.test_qml) |
441 | - self.useFixture(fake_application) |
442 | - |
443 | - self.app = self.launch_test_application( |
444 | - self.get_alternate_launch_command(), |
445 | - '-engine', |
446 | - '-I', tests._get_module_include_path(), |
447 | - fake_application.qml_file_path, |
448 | - '--desktop_file_hint={0}'.format( |
449 | - fake_application.desktop_file_path), |
450 | - emulator_base=ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase, |
451 | - app_type='qt') |
452 | - |
453 | - def get_alternate_launch_command(self): |
454 | - root = tests.get_path_to_source_root() |
455 | - path_to_local_launcher = os.path.join( |
456 | - root, 'tests', 'launcher', 'launcher') |
457 | - if os.path.exists(path_to_local_launcher): |
458 | - return path_to_local_launcher |
459 | - else: |
460 | - arch = ubuntuuitoolkit.base.get_host_multiarch() |
461 | - path_to_installed_launcher = os.path.join( |
462 | - '/', 'usr', 'lib', arch, 'ubuntu-ui-toolkit', 'launcher') |
463 | - return path_to_installed_launcher |
464 | + def get_command_line(self, command_line): |
465 | + command_line.append('-engine') |
466 | + return command_line |
467 | |
468 | def test_get_unity_top_container(self): |
469 | """Test that we can get the top cointainer in Unity.""" |
FAILED: Continuous integration, rev:1184 jenkins. qa.ubuntu. com/job/ ubuntu- sdk-team- ubuntu- ui-toolkit- staging- ci/773/ jenkins. qa.ubuntu. com/job/ generic- deb-autopilot- utopic- touch/3322 jenkins. qa.ubuntu. com/job/ generic- mediumtests- utopic/ 2600 jenkins. qa.ubuntu. com/job/ ubuntu- sdk-team- ubuntu- ui-toolkit- staging- utopic- amd64-ci/ 605/console jenkins. qa.ubuntu. com/job/ ubuntu- sdk-team- ubuntu- ui-toolkit- staging- utopic- armhf-ci/ 605 jenkins. qa.ubuntu. com/job/ ubuntu- sdk-team- ubuntu- ui-toolkit- staging- utopic- armhf-ci/ 605/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ ubuntu- sdk-team- ubuntu- ui-toolkit- staging- utopic- i386-ci/ 605/console jenkins. qa.ubuntu. com/job/ generic- deb-autopilot- runner- mako/3263 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- utopic- armhf/4568 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- utopic- armhf/4568/ artifact/ work/output/ *zip*/output. zip s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 11252 jenkins. qa.ubuntu. com/job/ autopilot- testrunner- otto-utopic/ 2108 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- utopic- amd64/2874 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- utopic- amd64/2874/ artifact/ work/output/ *zip*/output. zip
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/ubuntu- sdk-team- ubuntu- ui-toolkit- staging- ci/773/ rebuild
http://