Merge lp:~tpeeters/ubuntu-ui-toolkit/revert-ap16 into lp:ubuntu-ui-toolkit/staging
- revert-ap16
- Merge into staging
Status: | Merged |
---|---|
Approved by: | Tim Peeters |
Approved revision: | 1645 |
Merged at revision: | 1646 |
Proposed branch: | lp:~tpeeters/ubuntu-ui-toolkit/revert-ap16 |
Merge into: | lp:ubuntu-ui-toolkit/staging |
Diff against target: |
624 lines (+56/-152) 16 files modified
tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_common.py (+1/-6) tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_header.py (+3/-5) tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_mainview.py (+1/-2) tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_ubuntulistview.py (+5/-8) tests/autopilot/ubuntuuitoolkit/tests/__init__.py (+6/-14) tests/autopilot/ubuntuuitoolkit/tests/components/test_popover.py (+2/-5) tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py (+13/-30) tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_actionbar.py (+1/-1) tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_dialog.py (+2/-5) tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py (+8/-34) tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_header.py (+7/-23) tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_listitem.py (+3/-6) tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_main_view.py (+0/-2) tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_qquicklistview.py (+1/-4) tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_sections.py (+1/-1) tests/autopilot/ubuntuuitoolkit/tests/gallery/test_ubuntulistview.py (+2/-6) |
To merge this branch: | bzr merge lp:~tpeeters/ubuntu-ui-toolkit/revert-ap16 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot | continuous-integration | Approve | |
Tim Peeters | Approve | ||
Zoltan Balogh | Approve | ||
Review via email:
|
Commit message
Undo the MR to support AP1.6.
Description of the change
Undo the MR to support AP1.6 because AP1.6 is not ready yet.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Tim Peeters (tpeeters) wrote : | # |
I tried some random AP tests that were broken by r1642 and they work again.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:1645
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Preview Diff
1 | === modified file 'tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_common.py' | |||
2 | --- tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_common.py 2015-09-21 11:19:06 +0000 | |||
3 | +++ tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_common.py 2015-09-22 15:58:52 +0000 | |||
4 | @@ -29,7 +29,6 @@ | |||
5 | 29 | platform | 29 | platform |
6 | 30 | ) | 30 | ) |
7 | 31 | from autopilot.introspection import dbus | 31 | from autopilot.introspection import dbus |
8 | 32 | import ubuntuuitoolkit | ||
9 | 33 | 32 | ||
10 | 34 | logger = logging.getLogger(__name__) | 33 | logger = logging.getLogger(__name__) |
11 | 35 | 34 | ||
12 | @@ -243,7 +242,6 @@ | |||
13 | 243 | parent = self.get_parent() | 242 | parent = self.get_parent() |
14 | 244 | root = self.get_root_instance() | 243 | root = self.get_root_instance() |
15 | 245 | while parent.id != root.id: | 244 | while parent.id != root.id: |
16 | 246 | parent = ubuntuuitoolkit.QQuickFlickable.from_proxy_object(parent) | ||
17 | 247 | if parent.is_flickable(): | 245 | if parent.is_flickable(): |
18 | 248 | return parent | 246 | return parent |
19 | 249 | parent = parent.get_parent() | 247 | parent = parent.get_parent() |
20 | @@ -265,7 +263,4 @@ | |||
21 | 265 | if top_container is None: | 263 | if top_container is None: |
22 | 266 | raise ToolkitException('Could not find the top-most container.') | 264 | raise ToolkitException('Could not find the top-most container.') |
23 | 267 | else: | 265 | else: |
28 | 268 | from ubuntuuitoolkit._custom_proxy_objects._mainview import ( | 266 | return top_container |
25 | 269 | MainView | ||
26 | 270 | ) | ||
27 | 271 | return MainView.from_proxy_object(top_container) | ||
29 | 272 | 267 | ||
30 | === modified file 'tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_header.py' | |||
31 | --- tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_header.py 2015-09-21 13:54:37 +0000 | |||
32 | +++ tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_header.py 2015-09-22 15:58:52 +0000 | |||
33 | @@ -20,10 +20,8 @@ | |||
34 | 20 | from autopilot.introspection import dbus | 20 | from autopilot.introspection import dbus |
35 | 21 | 21 | ||
36 | 22 | from ubuntuuitoolkit._custom_proxy_objects import ( | 22 | from ubuntuuitoolkit._custom_proxy_objects import ( |
37 | 23 | _actionbar, | ||
38 | 24 | _common, | 23 | _common, |
41 | 25 | _sections, | 24 | _tabbar |
40 | 26 | _tabbar, | ||
42 | 27 | ) | 25 | ) |
43 | 28 | 26 | ||
44 | 29 | 27 | ||
45 | @@ -92,7 +90,7 @@ | |||
46 | 92 | try: | 90 | try: |
47 | 93 | # Ubuntu.Components >=1.3 | 91 | # Ubuntu.Components >=1.3 |
48 | 94 | sections = self.select_single( | 92 | sections = self.select_single( |
50 | 95 | _sections.Sections, objectName='headerSectionsItem') | 93 | 'Sections', objectName='headerSectionsItem') |
51 | 96 | sections.click_section_button(index) | 94 | sections.click_section_button(index) |
52 | 97 | except dbus.StateNotFoundError: | 95 | except dbus.StateNotFoundError: |
53 | 98 | # Ubuntu.Components < 1.3, has no headerSectionsItem. | 96 | # Ubuntu.Components < 1.3, has no headerSectionsItem. |
54 | @@ -252,7 +250,7 @@ | |||
55 | 252 | try: | 250 | try: |
56 | 253 | # for Ubuntu.Components 1.3 | 251 | # for Ubuntu.Components 1.3 |
57 | 254 | actionbar = self.select_single( | 252 | actionbar = self.select_single( |
59 | 255 | _actionbar.ActionBar, objectName='headerActionBar') | 253 | 'ActionBar', objectName='headerActionBar') |
60 | 256 | actionbar.click_action_button(action_object_name) | 254 | actionbar.click_action_button(action_object_name) |
61 | 257 | except dbus.StateNotFoundError: | 255 | except dbus.StateNotFoundError: |
62 | 258 | # for Ubuntu.Components < 1.3 | 256 | # for Ubuntu.Components < 1.3 |
63 | 259 | 257 | ||
64 | === modified file 'tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_mainview.py' | |||
65 | --- tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_mainview.py 2015-09-21 11:19:06 +0000 | |||
66 | +++ tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_mainview.py 2015-09-22 15:58:52 +0000 | |||
67 | @@ -23,7 +23,6 @@ | |||
68 | 23 | from autopilot import introspection | 23 | from autopilot import introspection |
69 | 24 | 24 | ||
70 | 25 | from ubuntuuitoolkit._custom_proxy_objects import ( | 25 | from ubuntuuitoolkit._custom_proxy_objects import ( |
71 | 26 | AppHeader, | ||
72 | 27 | _common, | 26 | _common, |
73 | 28 | popups, | 27 | popups, |
74 | 29 | _tabs, | 28 | _tabs, |
75 | @@ -65,7 +64,7 @@ | |||
76 | 65 | def get_header(self): | 64 | def get_header(self): |
77 | 66 | """Return the AppHeader custom proxy object of the MainView.""" | 65 | """Return the AppHeader custom proxy object of the MainView.""" |
78 | 67 | try: | 66 | try: |
80 | 68 | return self.select_single(AppHeader, objectName='MainView_Header') | 67 | return self.select_single(objectName='MainView_Header') |
81 | 69 | except dbus.StateNotFoundError: | 68 | except dbus.StateNotFoundError: |
82 | 70 | raise _common.ToolkitException('The main view has no header.') | 69 | raise _common.ToolkitException('The main view has no header.') |
83 | 71 | 70 | ||
84 | 72 | 71 | ||
85 | === modified file 'tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_ubuntulistview.py' | |||
86 | --- tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_ubuntulistview.py 2015-06-19 05:28:48 +0000 | |||
87 | +++ tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_ubuntulistview.py 2015-09-22 15:58:52 +0000 | |||
88 | @@ -14,21 +14,18 @@ | |||
89 | 14 | # You should have received a copy of the GNU Lesser General Public License | 14 | # You should have received a copy of the GNU Lesser General Public License |
90 | 15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | 15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
91 | 16 | 16 | ||
96 | 17 | from ubuntuuitoolkit._custom_proxy_objects import ( | 17 | from ubuntuuitoolkit._custom_proxy_objects import _qquicklistview |
93 | 18 | _flickable, | ||
94 | 19 | _qquicklistview | ||
95 | 20 | ) | ||
97 | 21 | 18 | ||
98 | 22 | 19 | ||
99 | 23 | class UbuntuListView11(_qquicklistview.QQuickListView): | 20 | class UbuntuListView11(_qquicklistview.QQuickListView): |
100 | 24 | """Autopilot helper for the UbuntuListView 1.1.""" | 21 | """Autopilot helper for the UbuntuListView 1.1.""" |
101 | 25 | 22 | ||
102 | 26 | def pull_to_refresh_enabled(self): | 23 | def pull_to_refresh_enabled(self): |
104 | 27 | refresh = self.select_single(_flickable.PullToRefresh) | 24 | refresh = self.select_single('PullToRefresh') |
105 | 28 | return refresh.enabled | 25 | return refresh.enabled |
106 | 29 | 26 | ||
107 | 30 | def manual_refresh_wait(self): | 27 | def manual_refresh_wait(self): |
109 | 31 | refresh = self.select_single(_flickable.PullToRefresh) | 28 | refresh = self.select_single('PullToRefresh') |
110 | 32 | if refresh.enabled: | 29 | if refresh.enabled: |
111 | 33 | self.pull_to_refresh() | 30 | self.pull_to_refresh() |
112 | 34 | refresh.wait_for_refresh() | 31 | refresh.wait_for_refresh() |
113 | @@ -36,14 +33,14 @@ | |||
114 | 36 | return False | 33 | return False |
115 | 37 | 34 | ||
116 | 38 | def manual_refresh_nowait(self): | 35 | def manual_refresh_nowait(self): |
118 | 39 | refresh = self.select_single(_flickable.PullToRefresh) | 36 | refresh = self.select_single('PullToRefresh') |
119 | 40 | if refresh.enabled: | 37 | if refresh.enabled: |
120 | 41 | self.pull_to_refresh() | 38 | self.pull_to_refresh() |
121 | 42 | return True | 39 | return True |
122 | 43 | return False | 40 | return False |
123 | 44 | 41 | ||
124 | 45 | def wait_refresh_completed(self): | 42 | def wait_refresh_completed(self): |
126 | 46 | refresh = self.select_single(_flickable.PullToRefresh) | 43 | refresh = self.select_single('PullToRefresh') |
127 | 47 | if refresh.enabled: | 44 | if refresh.enabled: |
128 | 48 | refresh.wait_for_refresh() | 45 | refresh.wait_for_refresh() |
129 | 49 | return True | 46 | return True |
130 | 50 | 47 | ||
131 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/__init__.py' | |||
132 | --- tests/autopilot/ubuntuuitoolkit/tests/__init__.py 2015-09-22 10:13:12 +0000 | |||
133 | +++ tests/autopilot/ubuntuuitoolkit/tests/__init__.py 2015-09-22 15:58:52 +0000 | |||
134 | @@ -25,7 +25,6 @@ | |||
135 | 25 | 25 | ||
136 | 26 | import ubuntuuitoolkit | 26 | import ubuntuuitoolkit |
137 | 27 | from ubuntuuitoolkit import base, fixture_setup | 27 | from ubuntuuitoolkit import base, fixture_setup |
138 | 28 | from ubuntuuitoolkit._custom_proxy_objects._mainview import MainView | ||
139 | 29 | 28 | ||
140 | 30 | 29 | ||
141 | 31 | _DESKTOP_FILE_CONTENTS = ("""[Desktop Entry] | 30 | _DESKTOP_FILE_CONTENTS = ("""[Desktop Entry] |
142 | @@ -109,8 +108,7 @@ | |||
143 | 109 | application_name, _ = os.path.splitext(desktop_file_name) | 108 | application_name, _ = os.path.splitext(desktop_file_name) |
144 | 110 | self.app = self.launch_upstart_application( | 109 | self.app = self.launch_upstart_application( |
145 | 111 | application_name, | 110 | application_name, |
148 | 112 | proxy_class=ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase | 111 | emulator_base=ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase) |
147 | 113 | ) | ||
149 | 114 | 112 | ||
150 | 115 | def use_local_modules(self, local_modules_path): | 113 | def use_local_modules(self, local_modules_path): |
151 | 116 | env_vars = [ | 114 | env_vars = [ |
152 | @@ -127,9 +125,8 @@ | |||
153 | 127 | class QMLStringAppTestCase(UbuntuUIToolkitWithFakeAppRunningTestCase): | 125 | class QMLStringAppTestCase(UbuntuUIToolkitWithFakeAppRunningTestCase): |
154 | 128 | """Base test case for self tests that define the QML on an string.""" | 126 | """Base test case for self tests that define the QML on an string.""" |
155 | 129 | 127 | ||
157 | 130 | def setUp(self, mainview_class=MainView): | 128 | def setUp(self): |
158 | 131 | super().setUp() | 129 | super().setUp() |
159 | 132 | self.mainview_class = mainview_class | ||
160 | 133 | self.assertThat( | 130 | self.assertThat( |
161 | 134 | self.main_view.visible, Eventually(Equals(True))) | 131 | self.main_view.visible, Eventually(Equals(True))) |
162 | 135 | 132 | ||
163 | @@ -143,9 +140,7 @@ | |||
164 | 143 | QML code used for testing must define the objectName | 140 | QML code used for testing must define the objectName |
165 | 144 | of the MainView to be 'mainView'. | 141 | of the MainView to be 'mainView'. |
166 | 145 | """ | 142 | """ |
170 | 146 | return self.mainview_class.from_proxy_object( | 143 | return self.app.select_single(objectName='mainView') |
168 | 147 | self.app.select_single(objectName='mainView') | ||
169 | 148 | ) | ||
171 | 149 | 144 | ||
172 | 150 | 145 | ||
173 | 151 | class FlickDirection: | 146 | class FlickDirection: |
174 | @@ -160,10 +155,8 @@ | |||
175 | 160 | test_qml_file_path = '/path/to/file.qml' | 155 | test_qml_file_path = '/path/to/file.qml' |
176 | 161 | desktop_file_path = None | 156 | desktop_file_path = None |
177 | 162 | 157 | ||
179 | 163 | def setUp(self, mainview_class=MainView): | 158 | def setUp(self): |
180 | 164 | super().setUp() | 159 | super().setUp() |
181 | 165 | # Allow a test case to use a different CPO | ||
182 | 166 | self.mainview_class = mainview_class | ||
183 | 167 | self.pointing_device = Pointer(self.input_device_class.create()) | 160 | self.pointing_device = Pointer(self.input_device_class.create()) |
184 | 168 | self.launch_application() | 161 | self.launch_application() |
185 | 169 | 162 | ||
186 | @@ -180,6 +173,7 @@ | |||
187 | 180 | ] | 173 | ] |
188 | 181 | self.app = self.launch_test_application( | 174 | self.app = self.launch_test_application( |
189 | 182 | *self.get_command_line(command_line), | 175 | *self.get_command_line(command_line), |
190 | 176 | emulator_base=ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase, | ||
191 | 183 | app_type='qt') | 177 | app_type='qt') |
192 | 184 | 178 | ||
193 | 185 | self.assertThat( | 179 | self.assertThat( |
194 | @@ -201,9 +195,7 @@ | |||
195 | 201 | QML code used for testing must define the objectName | 195 | QML code used for testing must define the objectName |
196 | 202 | of the MainView to be 'mainView'. | 196 | of the MainView to be 'mainView'. |
197 | 203 | """ | 197 | """ |
201 | 204 | return self.mainview_class.from_proxy_object( | 198 | return self.app.select_single(objectName='mainView') |
199 | 205 | self.app.select_single(objectName='mainView') | ||
200 | 206 | ) | ||
202 | 207 | 199 | ||
203 | 208 | def getOrientationHelper(self): | 200 | def getOrientationHelper(self): |
204 | 209 | orientationHelper = self.main_view.select_many( | 201 | orientationHelper = self.main_view.select_many( |
205 | 210 | 202 | ||
206 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/components/test_popover.py' | |||
207 | --- tests/autopilot/ubuntuuitoolkit/tests/components/test_popover.py 2015-06-19 05:28:48 +0000 | |||
208 | +++ tests/autopilot/ubuntuuitoolkit/tests/components/test_popover.py 2015-09-22 15:58:52 +0000 | |||
209 | @@ -18,10 +18,7 @@ | |||
210 | 18 | 18 | ||
211 | 19 | import os | 19 | import os |
212 | 20 | 20 | ||
217 | 21 | from ubuntuuitoolkit import ( | 21 | from ubuntuuitoolkit import tests |
214 | 22 | QQuickFlickable, | ||
215 | 23 | tests | ||
216 | 24 | ) | ||
218 | 25 | 22 | ||
219 | 26 | 23 | ||
220 | 27 | class DialogScrollTestCase(tests.QMLFileAppTestCase): | 24 | class DialogScrollTestCase(tests.QMLFileAppTestCase): |
221 | @@ -43,7 +40,7 @@ | |||
222 | 43 | button = self.main_view.select_single(objectName='button_huge') | 40 | button = self.main_view.select_single(objectName='button_huge') |
223 | 44 | self.pointing_device.click_object(button) | 41 | self.pointing_device.click_object(button) |
224 | 45 | dialog = self.main_view.select_single(objectName='dialog_huge') | 42 | dialog = self.main_view.select_single(objectName='dialog_huge') |
226 | 46 | flickable = dialog.select_single(QQuickFlickable) | 43 | flickable = dialog.select_single('QQuickFlickable') |
227 | 47 | buttlet = dialog.select_single(objectName='buttlet49') | 44 | buttlet = dialog.select_single(objectName='buttlet49') |
228 | 48 | # We can scroll | 45 | # We can scroll |
229 | 49 | self.assertFalse(flickable.atYEnd) | 46 | self.assertFalse(flickable.atYEnd) |
230 | 50 | 47 | ||
231 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py' | |||
232 | --- tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py 2015-07-20 23:40:12 +0000 | |||
233 | +++ tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py 2015-09-22 15:58:52 +0000 | |||
234 | @@ -23,11 +23,7 @@ | |||
235 | 23 | from autopilot.input._common import get_center_point | 23 | from autopilot.input._common import get_center_point |
236 | 24 | from autopilot import platform | 24 | from autopilot import platform |
237 | 25 | 25 | ||
243 | 26 | from ubuntuuitoolkit import ( | 26 | from ubuntuuitoolkit import tests |
239 | 27 | TextArea, | ||
240 | 28 | TextField, | ||
241 | 29 | tests | ||
242 | 30 | ) | ||
244 | 31 | 27 | ||
245 | 32 | 28 | ||
246 | 33 | class CaretTextInputTestCase(tests.QMLFileAppTestCase): | 29 | class CaretTextInputTestCase(tests.QMLFileAppTestCase): |
247 | @@ -46,20 +42,16 @@ | |||
248 | 46 | scenarios = [ | 42 | scenarios = [ |
249 | 47 | ('textfield', | 43 | ('textfield', |
250 | 48 | dict(test_qml_file_path=textfield_qml_file_path, | 44 | dict(test_qml_file_path=textfield_qml_file_path, |
253 | 49 | objectName='textfield', | 45 | objectName='textfield')), |
252 | 50 | cpo_class=TextField)), | ||
254 | 51 | ('textarea', | 46 | ('textarea', |
255 | 52 | dict(test_qml_file_path=textarea_qml_file_path, | 47 | dict(test_qml_file_path=textarea_qml_file_path, |
258 | 53 | objectName='textarea', | 48 | objectName='textarea')), |
257 | 54 | cpo_class=TextArea)), | ||
259 | 55 | ('customfield', | 49 | ('customfield', |
260 | 56 | dict(test_qml_file_path=customfield_qml_file_path, | 50 | dict(test_qml_file_path=customfield_qml_file_path, |
263 | 57 | objectName='textfield', | 51 | objectName='textfield')), |
262 | 58 | cpo_class=TextField)), | ||
264 | 59 | ('header', | 52 | ('header', |
265 | 60 | dict(test_qml_file_path=header_qml_file_path, | 53 | dict(test_qml_file_path=header_qml_file_path, |
268 | 61 | objectName='textfield', | 54 | objectName='textfield')), |
267 | 62 | cpo_class=TextField)), | ||
269 | 63 | ] | 55 | ] |
270 | 64 | 56 | ||
271 | 65 | def get_command_line(self, command_line): | 57 | def get_command_line(self, command_line): |
272 | @@ -68,10 +60,8 @@ | |||
273 | 68 | 60 | ||
274 | 69 | def setUp(self): | 61 | def setUp(self): |
275 | 70 | super().setUp() | 62 | super().setUp() |
280 | 71 | # Create either a TextField or TextArea. | 63 | self.textfield = self.main_view.select_single( |
281 | 72 | self.textfield = self.cpo_class.from_proxy_object( | 64 | objectName=self.objectName) |
278 | 73 | self.main_view.select_single(objectName=self.objectName) | ||
279 | 74 | ) | ||
282 | 75 | self.assertFalse(self.textfield.focus) | 65 | self.assertFalse(self.textfield.focus) |
283 | 76 | 66 | ||
284 | 77 | def select_cursor(self, positionProperty): | 67 | def select_cursor(self, positionProperty): |
285 | @@ -132,20 +122,16 @@ | |||
286 | 132 | scenarios = [ | 122 | scenarios = [ |
287 | 133 | ('textfield', | 123 | ('textfield', |
288 | 134 | dict(test_qml_file_path=textfield_qml_file_path, | 124 | dict(test_qml_file_path=textfield_qml_file_path, |
291 | 135 | objectName='textfield', | 125 | objectName='textfield')), |
290 | 136 | cpo_class=TextField)), | ||
292 | 137 | ('textarea', | 126 | ('textarea', |
293 | 138 | dict(test_qml_file_path=textarea_qml_file_path, | 127 | dict(test_qml_file_path=textarea_qml_file_path, |
296 | 139 | objectName='textarea', | 128 | objectName='textarea')), |
295 | 140 | cpo_class=TextField)), | ||
297 | 141 | ('customfield', | 129 | ('customfield', |
298 | 142 | dict(test_qml_file_path=customfield_qml_file_path, | 130 | dict(test_qml_file_path=customfield_qml_file_path, |
301 | 143 | objectName='textfield', | 131 | objectName='textfield')), |
300 | 144 | cpo_class=TextField)), | ||
302 | 145 | ('header', | 132 | ('header', |
303 | 146 | dict(test_qml_file_path=header_qml_file_path, | 133 | dict(test_qml_file_path=header_qml_file_path, |
306 | 147 | objectName='textfield', | 134 | objectName='textfield')), |
305 | 148 | cpo_class=TextField)), | ||
307 | 149 | ] | 135 | ] |
308 | 150 | 136 | ||
309 | 151 | def get_command_line(self, command_line): | 137 | def get_command_line(self, command_line): |
310 | @@ -153,12 +139,9 @@ | |||
311 | 153 | return command_line | 139 | return command_line |
312 | 154 | 140 | ||
313 | 155 | def setUp(self): | 141 | def setUp(self): |
314 | 156 | |||
315 | 157 | super().setUp() | 142 | super().setUp() |
320 | 158 | # textfield will either be a textfield or textarea. | 143 | self.textfield = self.main_view.select_single( |
321 | 159 | self.textfield = self.cpo_class.from_proxy_object( | 144 | objectName=self.objectName) |
318 | 160 | self.main_view.select_single(objectName=self.objectName) | ||
319 | 161 | ) | ||
322 | 162 | self.assertFalse(self.textfield.focus) | 145 | self.assertFalse(self.textfield.focus) |
323 | 163 | 146 | ||
324 | 164 | def assert_buttons(self, texts): | 147 | def assert_buttons(self, texts): |
325 | 165 | 148 | ||
326 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_actionbar.py' | |||
327 | --- tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_actionbar.py 2015-07-20 23:19:04 +0000 | |||
328 | +++ tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_actionbar.py 2015-09-22 15:58:52 +0000 | |||
329 | @@ -29,7 +29,7 @@ | |||
330 | 29 | def setUp(self): | 29 | def setUp(self): |
331 | 30 | super().setUp() | 30 | super().setUp() |
332 | 31 | self.actionbar = self.app.select_single( | 31 | self.actionbar = self.app.select_single( |
334 | 32 | ubuntuuitoolkit.ActionBar, objectName='ActionBar') | 32 | 'ActionBar', objectName='ActionBar') |
335 | 33 | self.label = self.app.select_single( | 33 | self.label = self.app.select_single( |
336 | 34 | 'Label', objectName='Label') | 34 | 'Label', objectName='Label') |
337 | 35 | self.assertEqual(self.label.text, 'No action triggered.') | 35 | self.assertEqual(self.label.text, 'No action triggered.') |
338 | 36 | 36 | ||
339 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_dialog.py' | |||
340 | --- tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_dialog.py 2015-06-16 04:21:58 +0000 | |||
341 | +++ tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_dialog.py 2015-09-22 15:58:52 +0000 | |||
342 | @@ -16,10 +16,7 @@ | |||
343 | 16 | 16 | ||
344 | 17 | import os | 17 | import os |
345 | 18 | 18 | ||
350 | 19 | from ubuntuuitoolkit import ( | 19 | from ubuntuuitoolkit import tests |
347 | 20 | TextArea, | ||
348 | 21 | tests | ||
349 | 22 | ) | ||
351 | 23 | 20 | ||
352 | 24 | 21 | ||
353 | 25 | class DialogTestCase(tests.QMLFileAppTestCase): | 22 | class DialogTestCase(tests.QMLFileAppTestCase): |
354 | @@ -34,7 +31,7 @@ | |||
355 | 34 | self.pointing_device.click_object(open_button) | 31 | self.pointing_device.click_object(open_button) |
356 | 35 | dialog = self.main_view.wait_select_single('Dialog', | 32 | dialog = self.main_view.wait_select_single('Dialog', |
357 | 36 | title="Dialog") | 33 | title="Dialog") |
359 | 37 | text_area = dialog.wait_select_single(TextArea, | 34 | text_area = dialog.wait_select_single('TextArea', |
360 | 38 | objectName='textfield_standard') | 35 | objectName='textfield_standard') |
361 | 39 | text_area.write('test') | 36 | text_area.write('test') |
362 | 40 | self.assertEqual(text_area.text, 'test') | 37 | self.assertEqual(text_area.text, 'test') |
363 | 41 | 38 | ||
364 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py' | |||
365 | --- tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py 2015-07-21 06:37:52 +0000 | |||
366 | +++ tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py 2015-09-22 15:58:52 +0000 | |||
367 | @@ -79,33 +79,16 @@ | |||
368 | 79 | } | 79 | } |
369 | 80 | """) | 80 | """) |
370 | 81 | 81 | ||
371 | 82 | class Label(ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase): | ||
372 | 83 | pass | ||
373 | 84 | |||
374 | 85 | scenarios = [ | 82 | scenarios = [ |
391 | 86 | ('main view', dict( | 83 | ('main view', dict(object_name='mainView', is_flickable=False)), |
392 | 87 | cpo_class=ubuntuuitoolkit.MainView, | 84 | ('flickable', dict(object_name='flickable', is_flickable=True)), |
393 | 88 | object_name='mainView', | 85 | ('list view', dict(object_name='listView', is_flickable=True)), |
394 | 89 | is_flickable=False)), | 86 | ('label', dict(object_name='label', is_flickable=False)) |
379 | 90 | ('flickable', dict( | ||
380 | 91 | cpo_class=ubuntuuitoolkit.QQuickFlickable, | ||
381 | 92 | object_name='flickable', | ||
382 | 93 | is_flickable=True)), | ||
383 | 94 | ('list view', dict( | ||
384 | 95 | cpo_class=ubuntuuitoolkit.QQuickListView, | ||
385 | 96 | object_name='listView', | ||
386 | 97 | is_flickable=True)), | ||
387 | 98 | ('label', dict( | ||
388 | 99 | cpo_class=Label, | ||
389 | 100 | object_name='label', | ||
390 | 101 | is_flickable=False)) | ||
395 | 102 | ] | 87 | ] |
396 | 103 | 88 | ||
397 | 104 | def test_is_flickable(self): | 89 | def test_is_flickable(self): |
398 | 105 | """Test that is_flickable identifies the elements correctly.""" | 90 | """Test that is_flickable identifies the elements correctly.""" |
402 | 106 | element = self.app.select_single( | 91 | element = self.app.select_single(objectName=self.object_name) |
400 | 107 | self.cpo_class, | ||
401 | 108 | objectName=self.object_name) | ||
403 | 109 | self.assertEqual(element.is_flickable(), self.is_flickable) | 92 | self.assertEqual(element.is_flickable(), self.is_flickable) |
404 | 110 | 93 | ||
405 | 111 | 94 | ||
406 | @@ -160,9 +143,6 @@ | |||
407 | 160 | } | 143 | } |
408 | 161 | """) | 144 | """) |
409 | 162 | 145 | ||
410 | 163 | class Button(ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase): | ||
411 | 164 | pass | ||
412 | 165 | |||
413 | 166 | def setUp(self): | 146 | def setUp(self): |
414 | 167 | super().setUp() | 147 | super().setUp() |
415 | 168 | self.flickable = self.main_view.select_single( | 148 | self.flickable = self.main_view.select_single( |
416 | @@ -174,9 +154,7 @@ | |||
417 | 174 | def test_swipe_into_view_bottom_element(self): | 154 | def test_swipe_into_view_bottom_element(self): |
418 | 175 | self.main_view.close_toolbar() | 155 | self.main_view.close_toolbar() |
419 | 176 | 156 | ||
423 | 177 | button = self.main_view.select_single( | 157 | button = self.main_view.select_single(objectName='bottomButton') |
421 | 178 | self.Button, | ||
422 | 179 | objectName='bottomButton') | ||
424 | 180 | button.swipe_into_view() | 158 | button.swipe_into_view() |
425 | 181 | 159 | ||
426 | 182 | self.pointing_device.click_object(button) | 160 | self.pointing_device.click_object(button) |
427 | @@ -184,14 +162,10 @@ | |||
428 | 184 | 162 | ||
429 | 185 | def test_swipe_into_view_top_element(self): | 163 | def test_swipe_into_view_top_element(self): |
430 | 186 | self.main_view.close_toolbar() | 164 | self.main_view.close_toolbar() |
434 | 187 | bottomButton = self.main_view.select_single( | 165 | bottomButton = self.main_view.select_single(objectName='bottomButton') |
432 | 188 | self.Button, | ||
433 | 189 | objectName='bottomButton') | ||
435 | 190 | bottomButton.swipe_into_view() | 166 | bottomButton.swipe_into_view() |
436 | 191 | 167 | ||
440 | 192 | topButton = self.main_view.select_single( | 168 | topButton = self.main_view.select_single(objectName='topButton') |
438 | 193 | self.Button, | ||
439 | 194 | objectName='topButton') | ||
441 | 195 | topButton.swipe_into_view() | 169 | topButton.swipe_into_view() |
442 | 196 | 170 | ||
443 | 197 | self.pointing_device.click_object(topButton) | 171 | self.pointing_device.click_object(topButton) |
444 | 198 | 172 | ||
445 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_header.py' | |||
446 | --- tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_header.py 2015-06-17 23:26:34 +0000 | |||
447 | +++ tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_header.py 2015-09-22 15:58:52 +0000 | |||
448 | @@ -22,12 +22,7 @@ | |||
449 | 22 | from autopilot import introspection | 22 | from autopilot import introspection |
450 | 23 | 23 | ||
451 | 24 | import ubuntuuitoolkit | 24 | import ubuntuuitoolkit |
458 | 25 | from ubuntuuitoolkit import ( | 25 | from ubuntuuitoolkit import tests |
453 | 26 | CheckBox, | ||
454 | 27 | MainView, | ||
455 | 28 | UbuntuUIToolkitCustomProxyObjectBase as ProxyBase, | ||
456 | 29 | tests | ||
457 | 30 | ) | ||
459 | 31 | 26 | ||
460 | 32 | 27 | ||
461 | 33 | class HideShowTestCase(tests.QMLFileAppTestCase): | 28 | class HideShowTestCase(tests.QMLFileAppTestCase): |
462 | @@ -77,12 +72,8 @@ | |||
463 | 77 | def setUp(self): | 72 | def setUp(self): |
464 | 78 | super().setUp() | 73 | super().setUp() |
465 | 79 | self.header = self.main_view.get_header() | 74 | self.header = self.main_view.get_header() |
472 | 80 | self.label = ProxyBase.from_proxy_object( | 75 | self.label = self.app.select_single( |
473 | 81 | self.app.select_single( | 76 | 'Label', objectName='clicked_label') |
468 | 82 | 'Label', | ||
469 | 83 | objectName='clicked_label' | ||
470 | 84 | ) | ||
471 | 85 | ) | ||
474 | 86 | self.assertEqual(self.label.text, 'No button clicked.') | 77 | self.assertEqual(self.label.text, 'No button clicked.') |
475 | 87 | 78 | ||
476 | 88 | def test_header_custom_proxy_object(self): | 79 | def test_header_custom_proxy_object(self): |
477 | @@ -114,9 +105,7 @@ | |||
478 | 114 | self.assertEqual(self.label.text, 'Cancel button clicked.') | 105 | self.assertEqual(self.label.text, 'Cancel button clicked.') |
479 | 115 | 106 | ||
480 | 116 | def test_click_header_action_button_with_hidden_header(self): | 107 | def test_click_header_action_button_with_hidden_header(self): |
484 | 117 | bottom_label = ProxyBase.from_proxy_object( | 108 | bottom_label = self.main_view.select_single(objectName='end_label') |
482 | 118 | self.main_view.select_single(objectName='end_label') | ||
483 | 119 | ) | ||
485 | 120 | bottom_label.swipe_into_view() | 109 | bottom_label.swipe_into_view() |
486 | 121 | self.assertFalse(self.header._is_visible()) | 110 | self.assertFalse(self.header._is_visible()) |
487 | 122 | self.header.click_action_button('action0') | 111 | self.header.click_action_button('action0') |
488 | @@ -157,7 +146,7 @@ | |||
489 | 157 | 146 | ||
490 | 158 | def test_select_sections_with_sections_disabled(self): | 147 | def test_select_sections_with_sections_disabled(self): |
491 | 159 | sectionsEnabledSwitch = self.app.select_single( | 148 | sectionsEnabledSwitch = self.app.select_single( |
493 | 160 | CheckBox, objectName='sections_enabled_switch') | 149 | 'CheckBox', objectName='sections_enabled_switch') |
494 | 161 | sectionsEnabledSwitch.uncheck() | 150 | sectionsEnabledSwitch.uncheck() |
495 | 162 | for index in [1, 0, 2]: | 151 | for index in [1, 0, 2]: |
496 | 163 | self.header.switch_to_section_by_index(index) | 152 | self.header.switch_to_section_by_index(index) |
497 | @@ -194,7 +183,7 @@ | |||
498 | 194 | 183 | ||
499 | 195 | def test_select_sections_with_sections_disabled(self): | 184 | def test_select_sections_with_sections_disabled(self): |
500 | 196 | sectionsEnabledSwitch = self.app.select_single( | 185 | sectionsEnabledSwitch = self.app.select_single( |
502 | 197 | CheckBox, objectName='sections_enabled_switch') | 186 | 'CheckBox', objectName='sections_enabled_switch') |
503 | 198 | sectionsEnabledSwitch.uncheck() | 187 | sectionsEnabledSwitch.uncheck() |
504 | 199 | error = self.assertRaises( | 188 | error = self.assertRaises( |
505 | 200 | ubuntuuitoolkit.ToolkitException, | 189 | ubuntuuitoolkit.ToolkitException, |
506 | @@ -223,12 +212,7 @@ | |||
507 | 223 | 212 | ||
508 | 224 | @property | 213 | @property |
509 | 225 | def main_view(self): | 214 | def main_view(self): |
516 | 226 | # This change will allow the test to pass, but I don't feel this test | 215 | return self.app.select_single(objectName='customMainView') |
511 | 227 | # is really relevant as it is really testing the from_proxy_method to | ||
512 | 228 | # create a MainView object. | ||
513 | 229 | return MainView.from_proxy_object( | ||
514 | 230 | self.app.select_single(objectName='customMainView') | ||
515 | 231 | ) | ||
517 | 232 | 216 | ||
518 | 233 | def test_get_header_from_custom_main_view(self): | 217 | def test_get_header_from_custom_main_view(self): |
519 | 234 | """Test that we can get the header from a custom main view. | 218 | """Test that we can get the header from a custom main view. |
520 | 235 | 219 | ||
521 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_listitem.py' | |||
522 | --- tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_listitem.py 2015-07-02 18:41:11 +0000 | |||
523 | +++ tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_listitem.py 2015-09-22 15:58:52 +0000 | |||
524 | @@ -17,9 +17,7 @@ | |||
525 | 17 | import os | 17 | import os |
526 | 18 | 18 | ||
527 | 19 | import ubuntuuitoolkit | 19 | import ubuntuuitoolkit |
531 | 20 | from ubuntuuitoolkit import ( | 20 | from ubuntuuitoolkit import tests |
529 | 21 | tests | ||
530 | 22 | ) | ||
532 | 23 | 21 | ||
533 | 24 | 22 | ||
534 | 25 | class ListItemTestCase(tests.QMLFileAppTestCase): | 23 | class ListItemTestCase(tests.QMLFileAppTestCase): |
535 | @@ -29,12 +27,11 @@ | |||
536 | 29 | dir_path, 'test_listitem.ListItemTestCase.qml') | 27 | dir_path, 'test_listitem.ListItemTestCase.qml') |
537 | 30 | 28 | ||
538 | 31 | def setUp(self): | 29 | def setUp(self): |
539 | 32 | |||
540 | 33 | super().setUp() | 30 | super().setUp() |
541 | 34 | self.list_view = self.main_view.select_single( | 31 | self.list_view = self.main_view.select_single( |
542 | 35 | ubuntuuitoolkit.QQuickListView, objectName='test_view') | 32 | ubuntuuitoolkit.QQuickListView, objectName='test_view') |
543 | 36 | self.test_listitem = self.main_view.select_single( | 33 | self.test_listitem = self.main_view.select_single( |
545 | 37 | ubuntuuitoolkit.UCListItem, objectName='listitem0') | 34 | 'UCListItem', objectName='listitem0') |
546 | 38 | self.test_page = self.main_view.select_single( | 35 | self.test_page = self.main_view.select_single( |
547 | 39 | objectName='test_page') | 36 | objectName='test_page') |
548 | 40 | self.assertEqual(self.test_page.title, 'No action triggered') | 37 | self.assertEqual(self.test_page.title, 'No action triggered') |
549 | @@ -96,6 +93,6 @@ | |||
550 | 96 | self.assertTrue(self.test_listitem.selected) | 93 | self.assertTrue(self.test_listitem.selected) |
551 | 97 | # select an other one | 94 | # select an other one |
552 | 98 | listItem3 = self.main_view.select_single( | 95 | listItem3 = self.main_view.select_single( |
554 | 99 | ubuntuuitoolkit.UCListItem, objectName='listitem3') | 96 | 'UCListItem', objectName='listitem3') |
555 | 100 | listItem3.toggle_selected() | 97 | listItem3.toggle_selected() |
556 | 101 | self.assertTrue(listItem3.selected) | 98 | self.assertTrue(listItem3.selected) |
557 | 102 | 99 | ||
558 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_main_view.py' | |||
559 | --- tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_main_view.py 2015-06-18 04:17:48 +0000 | |||
560 | +++ tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_main_view.py 2015-09-22 15:58:52 +0000 | |||
561 | @@ -76,8 +76,6 @@ | |||
562 | 76 | 76 | ||
563 | 77 | 77 | ||
564 | 78 | class MainView12TestCase(tests.QMLStringAppTestCase): | 78 | class MainView12TestCase(tests.QMLStringAppTestCase): |
565 | 79 | # veebers: Note some of these tests might be unneeded due to how the CPOs | ||
566 | 80 | # work now. | ||
567 | 81 | 79 | ||
568 | 82 | test_qml = (""" | 80 | test_qml = (""" |
569 | 83 | import QtQuick 2.3 | 81 | import QtQuick 2.3 |
570 | 84 | 82 | ||
571 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_qquicklistview.py' | |||
572 | --- tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_qquicklistview.py 2015-07-02 18:41:11 +0000 | |||
573 | +++ tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_qquicklistview.py 2015-09-22 15:58:52 +0000 | |||
574 | @@ -23,9 +23,7 @@ | |||
575 | 23 | from autopilot.introspection import dbus | 23 | from autopilot.introspection import dbus |
576 | 24 | 24 | ||
577 | 25 | import ubuntuuitoolkit | 25 | import ubuntuuitoolkit |
581 | 26 | from ubuntuuitoolkit import ( | 26 | from ubuntuuitoolkit import tests |
579 | 27 | tests | ||
580 | 28 | ) | ||
582 | 29 | 27 | ||
583 | 30 | 28 | ||
584 | 31 | class QQuickListViewTestCase(tests.QMLStringAppTestCase): | 29 | class QQuickListViewTestCase(tests.QMLStringAppTestCase): |
585 | @@ -206,7 +204,6 @@ | |||
586 | 206 | 204 | ||
587 | 207 | def setUp(self): | 205 | def setUp(self): |
588 | 208 | super().setUp() | 206 | super().setUp() |
589 | 209 | |||
590 | 210 | self.list_view = self.main_view.select_single( | 207 | self.list_view = self.main_view.select_single( |
591 | 211 | ubuntuuitoolkit.QQuickListView, objectName='testListView') | 208 | ubuntuuitoolkit.QQuickListView, objectName='testListView') |
592 | 212 | self.label = self.main_view.select_single( | 209 | self.label = self.main_view.select_single( |
593 | 213 | 210 | ||
594 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_sections.py' | |||
595 | --- tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_sections.py 2015-07-20 23:19:04 +0000 | |||
596 | +++ tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_sections.py 2015-09-22 15:58:52 +0000 | |||
597 | @@ -29,7 +29,7 @@ | |||
598 | 29 | def setUp(self): | 29 | def setUp(self): |
599 | 30 | super().setUp() | 30 | super().setUp() |
600 | 31 | self.sections = self.app.select_single( | 31 | self.sections = self.app.select_single( |
602 | 32 | ubuntuuitoolkit.Sections, objectName='sections') | 32 | 'Sections', objectName='sections') |
603 | 33 | self.label = self.app.select_single( | 33 | self.label = self.app.select_single( |
604 | 34 | 'Label', objectName='label') | 34 | 'Label', objectName='label') |
605 | 35 | self.assertEqual(self.label.text, 'Section 0 is selected.') | 35 | self.assertEqual(self.label.text, 'Section 0 is selected.') |
606 | 36 | 36 | ||
607 | === modified file 'tests/autopilot/ubuntuuitoolkit/tests/gallery/test_ubuntulistview.py' | |||
608 | --- tests/autopilot/ubuntuuitoolkit/tests/gallery/test_ubuntulistview.py 2015-06-19 05:28:48 +0000 | |||
609 | +++ tests/autopilot/ubuntuuitoolkit/tests/gallery/test_ubuntulistview.py 2015-09-22 15:58:52 +0000 | |||
610 | @@ -32,12 +32,8 @@ | |||
611 | 32 | self.checkPageHeader(element.text) | 32 | self.checkPageHeader(element.text) |
612 | 33 | self.main_view.wait_select_single( | 33 | self.main_view.wait_select_single( |
613 | 34 | "Template", objectName="ubuntuListViewTemplate") | 34 | "Template", objectName="ubuntuListViewTemplate") |
620 | 35 | self.listView = ubuntuuitoolkit.UbuntuListView11.from_proxy_object( | 35 | self.listView = self.main_view.select_single( |
621 | 36 | self.main_view.select_single( | 36 | ubuntuuitoolkit.UbuntuListView11, objectName="ubuntuListView") |
616 | 37 | ubuntuuitoolkit.UbuntuListView11, | ||
617 | 38 | objectName="ubuntuListView" | ||
618 | 39 | ) | ||
619 | 40 | ) | ||
622 | 41 | 37 | ||
623 | 42 | def test_pull_to_refresh_enabled(self): | 38 | def test_pull_to_refresh_enabled(self): |
624 | 43 | self._open_page() | 39 | self._open_page() |
Do it :)