Merge lp:~abreu-alexandre/ubuntu-html5-theme/fix-page-actions into lp:ubuntu-html5-theme
- fix-page-actions
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Alexandre Abreu |
Approved revision: | 206 |
Merged at revision: | 208 |
Proposed branch: | lp:~abreu-alexandre/ubuntu-html5-theme/fix-page-actions |
Merge into: | lp:ubuntu-html5-theme |
Diff against target: |
425 lines (+221/-45) 7 files modified
0.1/ambiance/js/core.js (+37/-21) 0.1/ambiance/js/tabs.js (+10/-8) tests/autopilot/ubuntu_html5_ui_toolkit/tests/__init__.py (+2/-1) tests/autopilot/ubuntu_html5_ui_toolkit/tests/test_page_actions.py (+46/-0) tests/autopilot/ubuntu_html5_ui_toolkit/tests/test_tabs.py (+2/-5) tests/data/html/apps/rss-reader/index.html (+7/-10) tests/data/html/test-page-actions.html (+117/-0) |
To merge this branch: | bzr merge lp:~abreu-alexandre/ubuntu-html5-theme/fix-page-actions |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot | continuous-integration | Needs Fixing | |
Ubuntu HTML5 Theme Developers | Pending | ||
Review via email: mp+259515@code.launchpad.net |
Commit message
Fix page actions; no need to create actions when none is defined
Description of the change
Fix page actions; no need to create actions when none is defined
PS Jenkins bot (ps-jenkins) wrote : | # |
- 206. By Alexandre Abreu
-
fix tests
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:206
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
Preview Diff
1 | === modified file '0.1/ambiance/js/core.js' | |||
2 | --- 0.1/ambiance/js/core.js 2015-03-04 21:21:52 +0000 | |||
3 | +++ 0.1/ambiance/js/core.js 2015-05-19 17:32:11 +0000 | |||
4 | @@ -71,6 +71,9 @@ | |||
5 | 71 | this._prevScrollTop = this._y = 0; | 71 | this._prevScrollTop = this._y = 0; |
6 | 72 | 72 | ||
7 | 73 | this._header = document.querySelector('[data-role="header"]'); | 73 | this._header = document.querySelector('[data-role="header"]'); |
8 | 74 | if ( ! this._header) { | ||
9 | 75 | return; | ||
10 | 76 | } | ||
11 | 74 | this._content = document.querySelector('[data-role="content"]'); | 77 | this._content = document.querySelector('[data-role="content"]'); |
12 | 75 | this._headerHeight = this._header.offsetHeight + 17; | 78 | this._headerHeight = this._header.offsetHeight + 17; |
13 | 76 | this._content.style.paddingTop = this._headerHeight + "px"; | 79 | this._content.style.paddingTop = this._headerHeight + "px"; |
14 | @@ -133,11 +136,18 @@ | |||
15 | 133 | this._pageStack.push(pages[0].getAttribute('id')); | 136 | this._pageStack.push(pages[0].getAttribute('id')); |
16 | 134 | } | 137 | } |
17 | 135 | 138 | ||
20 | 136 | this._pageActions = d.createElement('div'); | 139 | this._pageActions = null; |
19 | 137 | this._pageActions.setAttribute('data-role', 'actions'); | ||
21 | 138 | 140 | ||
22 | 139 | header.appendChild(this._tabTitle); | 141 | header.appendChild(this._tabTitle); |
24 | 140 | header.appendChild(this._pageActions); | 142 | }, |
25 | 143 | |||
26 | 144 | __createPageActions: function() { | ||
27 | 145 | if ( ! this._pageActions) { | ||
28 | 146 | this._pageActions = document.createElement('div'); | ||
29 | 147 | this._pageActions.setAttribute('data-role', 'actions'); | ||
30 | 148 | var header = document.querySelector("[data-role='header']"); | ||
31 | 149 | header.appendChild(this._pageActions); | ||
32 | 150 | } | ||
33 | 141 | }, | 151 | }, |
34 | 142 | 152 | ||
35 | 143 | __transformHeader: function(y) { | 153 | __transformHeader: function(y) { |
36 | @@ -162,10 +172,10 @@ | |||
37 | 162 | var actionBar; | 172 | var actionBar; |
38 | 163 | 173 | ||
39 | 164 | var apptabsElements = document.querySelectorAll('[data-role=tab]'); | 174 | var apptabsElements = document.querySelectorAll('[data-role=tab]'); |
41 | 165 | if (apptabsElements.length >= 0) { | 175 | if (apptabsElements.length > 0) { |
42 | 166 | for (var idx = 0; idx < apptabsElements.length; ++idx) { | 176 | for (var idx = 0; idx < apptabsElements.length; ++idx) { |
43 | 167 | var footers = apptabsElements[idx].querySelectorAll("[data-role='footer']"); | 177 | var footers = apptabsElements[idx].querySelectorAll("[data-role='footer']"); |
45 | 168 | if (footers.length >= 0) { | 178 | if (footers.length > 0) { |
46 | 169 | // TODO: validate footer count: should be 1 footer | 179 | // TODO: validate footer count: should be 1 footer |
47 | 170 | actionBar = this.__setupTabAction(footers[0], apptabsElements[idx]); | 180 | actionBar = this.__setupTabAction(footers[0], apptabsElements[idx]); |
48 | 171 | if (footers[0] != null) footers[0].remove(); | 181 | if (footers[0] != null) footers[0].remove(); |
49 | @@ -174,10 +184,10 @@ | |||
50 | 174 | } | 184 | } |
51 | 175 | 185 | ||
52 | 176 | var apppagesElements = document.querySelectorAll('[data-role=page]'); | 186 | var apppagesElements = document.querySelectorAll('[data-role=page]'); |
54 | 177 | if (apppagesElements.length >= 0) { | 187 | if (apppagesElements.length > 0) { |
55 | 178 | for (var idx = 0; idx < apppagesElements.length; ++idx) { | 188 | for (var idx = 0; idx < apppagesElements.length; ++idx) { |
56 | 179 | var footers = apppagesElements[idx].querySelectorAll("[data-role='footer']"); | 189 | var footers = apppagesElements[idx].querySelectorAll("[data-role='footer']"); |
58 | 180 | if (footers.length >= 0) { | 190 | if (footers.length > 0) { |
59 | 181 | // TODO: validate footer count: should be 1 footer | 191 | // TODO: validate footer count: should be 1 footer |
60 | 182 | actionBar = this.__setupPageAction(footers[0], apppagesElements[idx]); | 192 | actionBar = this.__setupPageAction(footers[0], apppagesElements[idx]); |
61 | 183 | if (footers[0] != null) footers[0].remove(); | 193 | if (footers[0] != null) footers[0].remove(); |
62 | @@ -213,7 +223,11 @@ | |||
63 | 213 | 223 | ||
64 | 214 | this._overlay = document.querySelector('[data-role="overlay"]'); | 224 | this._overlay = document.querySelector('[data-role="overlay"]'); |
65 | 215 | 225 | ||
66 | 226 | this.__createPageActions(); | ||
67 | 227 | |||
68 | 216 | var newActionsBar = document.querySelector('[data-role="actions"]'); | 228 | var newActionsBar = document.querySelector('[data-role="actions"]'); |
69 | 229 | if ( ! newActionsBar) | ||
70 | 230 | return; | ||
71 | 217 | 231 | ||
72 | 218 | if (!this._oldFooter) | 232 | if (!this._oldFooter) |
73 | 219 | return; | 233 | return; |
74 | @@ -239,20 +253,18 @@ | |||
75 | 239 | firstId = firstAction.querySelector('a').getAttribute('id'), | 253 | firstId = firstAction.querySelector('a').getAttribute('id'), |
76 | 240 | k = 1; | 254 | k = 1; |
77 | 241 | 255 | ||
82 | 242 | if (this._tabs != 'undefined' && this._tabs) { | 256 | if (this._tabs && this._tabs._tabsitems.length == 1) { |
83 | 243 | if (this._tabs._tabsItems.length == 1) { | 257 | k = 2; |
84 | 244 | k = 2; | 258 | this._tabs._tabTitle.style.width = "calc(100% - 155px)"; |
81 | 245 | this._tabs._tabTitle.style.width = "calc(100% - 155px)"; | ||
85 | 246 | 259 | ||
95 | 247 | // Maintain the second item | 260 | // Maintain the second item |
96 | 248 | var secondAction = actionButtons[1], | 261 | var secondAction = actionButtons[1], |
97 | 249 | /* Action Button */ | 262 | /* Action Button */ |
98 | 250 | secondButton = document.createElement('button'), | 263 | secondButton = document.createElement('button'), |
99 | 251 | /* Icon */ | 264 | /* Icon */ |
100 | 252 | secondIcon = secondAction.querySelector('img').getAttribute('src'), | 265 | secondIcon = secondAction.querySelector('img').getAttribute('src'), |
101 | 253 | /* ID*/ | 266 | /* ID*/ |
102 | 254 | secondId = secondAction.querySelector('a').getAttribute('id'); | 267 | secondId = secondAction.querySelector('a').getAttribute('id'); |
94 | 255 | } | ||
103 | 256 | } | 268 | } |
104 | 257 | 269 | ||
105 | 258 | overflowList.setAttribute('data-role', 'actions-overflow-list'); | 270 | overflowList.setAttribute('data-role', 'actions-overflow-list'); |
106 | @@ -286,7 +298,7 @@ | |||
107 | 286 | 298 | ||
108 | 287 | newActionsBarWrapper.appendChild(firstButton); | 299 | newActionsBarWrapper.appendChild(firstButton); |
109 | 288 | if (this._tabs != 'undefined' && this._tabs) { | 300 | if (this._tabs != 'undefined' && this._tabs) { |
111 | 289 | if (this._tabs._tabsItems.length == 1) { | 301 | if (this._tabs._tabsitems && this._tabs._tabsitems.length == 1) { |
112 | 290 | secondButton.setAttribute('id', secondId); | 302 | secondButton.setAttribute('id', secondId); |
113 | 291 | document.styleSheets[0].addRule('#' + secondId + ':after', 'background-image: url("' + secondIcon + '");'); | 303 | document.styleSheets[0].addRule('#' + secondId + ':after', 'background-image: url("' + secondIcon + '");'); |
114 | 292 | newActionsBarWrapper.appendChild(secondButton); | 304 | newActionsBarWrapper.appendChild(secondButton); |
115 | @@ -325,7 +337,11 @@ | |||
116 | 325 | this._oldFooterParent = parent; | 337 | this._oldFooterParent = parent; |
117 | 326 | this._overlay = document.querySelector('[data-role="overlay"]'); | 338 | this._overlay = document.querySelector('[data-role="overlay"]'); |
118 | 327 | 339 | ||
119 | 340 | this.__createPageActions(); | ||
120 | 341 | |||
121 | 328 | var newActionsBar = document.querySelector('[data-role="actions"]'); | 342 | var newActionsBar = document.querySelector('[data-role="actions"]'); |
122 | 343 | if (! newActionsBar) | ||
123 | 344 | return; | ||
124 | 329 | 345 | ||
125 | 330 | if (!this._oldFooter) | 346 | if (!this._oldFooter) |
126 | 331 | return; | 347 | return; |
127 | 332 | 348 | ||
128 | === modified file '0.1/ambiance/js/tabs.js' | |||
129 | --- 0.1/ambiance/js/tabs.js 2015-03-03 23:30:16 +0000 | |||
130 | +++ 0.1/ambiance/js/tabs.js 2015-05-19 17:32:11 +0000 | |||
131 | @@ -188,9 +188,6 @@ | |||
132 | 188 | var tabtitle_value = document.createTextNode('Main'); | 188 | var tabtitle_value = document.createTextNode('Main'); |
133 | 189 | this._tabtitle.appendChild(tabtitle_value); | 189 | this._tabtitle.appendChild(tabtitle_value); |
134 | 190 | 190 | ||
135 | 191 | this._tabsactions = document.createElement('div'); | ||
136 | 192 | this._tabsactions.setAttribute('data-role', 'actions'); | ||
137 | 193 | |||
138 | 194 | var tab = this._tabs.querySelector('[data-role="tabitem"]:first-child'); | 191 | var tab = this._tabs.querySelector('[data-role="tabitem"]:first-child'); |
139 | 195 | /*tab.classList.remove('inactive'); | 192 | /*tab.classList.remove('inactive'); |
140 | 196 | tab.classList.add('active');*/ | 193 | tab.classList.add('active');*/ |
141 | @@ -208,7 +205,6 @@ | |||
142 | 208 | }; | 205 | }; |
143 | 209 | } else { this._tabtitle.style.marginLeft = '16px'; } | 206 | } else { this._tabtitle.style.marginLeft = '16px'; } |
144 | 210 | this._header.appendChild(this._tabtitle); | 207 | this._header.appendChild(this._tabtitle); |
145 | 211 | this._header.appendChild(this._tabsactions); | ||
146 | 212 | 208 | ||
147 | 213 | var self = this; | 209 | var self = this; |
148 | 214 | this._overlay.onclick = function (e) { | 210 | this._overlay.onclick = function (e) { |
149 | @@ -315,8 +311,11 @@ | |||
150 | 315 | __toggleTabs: function () { | 311 | __toggleTabs: function () { |
151 | 316 | this._tabs.classList.toggle('opened'); | 312 | this._tabs.classList.toggle('opened'); |
152 | 317 | this._overlay.classList.toggle('active'); | 313 | this._overlay.classList.toggle('active'); |
155 | 318 | if (this._tabsactions.querySelector('.opened') !== null) | 314 | |
156 | 319 | this._tabsactions.querySelector('.opened').classList.remove('opened'); | 315 | var tabsActions = document.querySelector('[data-role="actions"]'); |
157 | 316 | if (tabsActions && | ||
158 | 317 | tabsActions.querySelector('.opened') !== null) | ||
159 | 318 | tabsActions.querySelector('.opened').classList.remove('opened'); | ||
160 | 320 | }, | 319 | }, |
161 | 321 | 320 | ||
162 | 322 | /** | 321 | /** |
163 | @@ -325,8 +324,11 @@ | |||
164 | 325 | __hideMenus: function () { | 324 | __hideMenus: function () { |
165 | 326 | this._tabs.classList.remove('opened'); | 325 | this._tabs.classList.remove('opened'); |
166 | 327 | this._overlay.classList.remove('active'); | 326 | this._overlay.classList.remove('active'); |
169 | 328 | if (this._tabsactions.querySelector('.opened') !== null) | 327 | |
170 | 329 | this._tabsactions.querySelector('.opened').classList.remove('opened'); | 328 | var tabsActions = document.querySelector('[data-role="actions"]'); |
171 | 329 | if (tabsActions && | ||
172 | 330 | tabsActions.querySelector('.opened') !== null) | ||
173 | 331 | tabsActions.querySelector('.opened').classList.remove('opened'); | ||
174 | 330 | } | 332 | } |
175 | 331 | }; | 333 | }; |
176 | 332 | 334 | ||
177 | 333 | 335 | ||
178 | === modified file 'tests/autopilot/ubuntu_html5_ui_toolkit/tests/__init__.py' | |||
179 | --- tests/autopilot/ubuntu_html5_ui_toolkit/tests/__init__.py 2015-01-21 16:41:33 +0000 | |||
180 | +++ tests/autopilot/ubuntu_html5_ui_toolkit/tests/__init__.py 2015-05-19 17:32:11 +0000 | |||
181 | @@ -86,7 +86,8 @@ | |||
182 | 86 | '/usr/share/ubuntu-html5-ui-toolkit/tests/tools/qml/webview.qml' | 86 | '/usr/share/ubuntu-html5-ui-toolkit/tests/tools/qml/webview.qml' |
183 | 87 | BROWSER_QML_APP_LAUNCHER = "/usr/lib/{}/qt5/bin/qmlscene".format( | 87 | BROWSER_QML_APP_LAUNCHER = "/usr/lib/{}/qt5/bin/qmlscene".format( |
184 | 88 | subprocess.check_output( | 88 | subprocess.check_output( |
186 | 89 | ["dpkg-architecture", "-qDEB_HOST_MULTIARCH"]).strip().decode('utf-8')) | 89 | ["dpkg-architecture", |
187 | 90 | "-qDEB_HOST_MULTIARCH"]).strip().decode('utf-8')) | ||
188 | 90 | 91 | ||
189 | 91 | # TODO: fix version | 92 | # TODO: fix version |
190 | 92 | LOCAL_HTML_EXAMPLES_PATH = os.path.abspath( | 93 | LOCAL_HTML_EXAMPLES_PATH = os.path.abspath( |
191 | 93 | 94 | ||
192 | === added file 'tests/autopilot/ubuntu_html5_ui_toolkit/tests/test_page_actions.py' | |||
193 | --- tests/autopilot/ubuntu_html5_ui_toolkit/tests/test_page_actions.py 1970-01-01 00:00:00 +0000 | |||
194 | +++ tests/autopilot/ubuntu_html5_ui_toolkit/tests/test_page_actions.py 2015-05-19 17:32:11 +0000 | |||
195 | @@ -0,0 +1,46 @@ | |||
196 | 1 | # -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- | ||
197 | 2 | # Copyright 2013 Canonical | ||
198 | 3 | # | ||
199 | 4 | # This program is free software: you can redistribute it and/or modify it | ||
200 | 5 | # under the terms of the GNU Lesser General Public License version 3, as | ||
201 | 6 | # published by the Free Software Foundation. | ||
202 | 7 | |||
203 | 8 | from __future__ import absolute_import | ||
204 | 9 | |||
205 | 10 | from testtools.matchers import Equals, NotEquals | ||
206 | 11 | from autopilot.matchers import Eventually | ||
207 | 12 | |||
208 | 13 | from ubuntu_html5_ui_toolkit.tests import UbuntuHTML5TestCaseBase | ||
209 | 14 | |||
210 | 15 | |||
211 | 16 | class UbuntuThemePageStackTestCase(UbuntuHTML5TestCaseBase): | ||
212 | 17 | |||
213 | 18 | def setUp(self): | ||
214 | 19 | super(UbuntuThemePageStackTestCase, self).setUp() | ||
215 | 20 | |||
216 | 21 | def test_tabWithActions(self): | ||
217 | 22 | self.browse_to_test_html('test-page-actions.html') | ||
218 | 23 | self.eval_expression_in_page_unsafe( | ||
219 | 24 | 'var UI = new UbuntuUI(); UI.init();'), | ||
220 | 25 | self.assertThat( | ||
221 | 26 | self.eval_expression_in_page_unsafe( | ||
222 | 27 | 'return document.querySelector\ | ||
223 | 28 | (\'[data-role="actions"]\') != null;'), | ||
224 | 29 | Equals('true')) | ||
225 | 30 | self.assertThat( | ||
226 | 31 | lambda: self.eval_expression_in_page_unsafe( | ||
227 | 32 | 'return document.getElementById\ | ||
228 | 33 | ("addfeed").parentNode.style.display;'), | ||
229 | 34 | Eventually(NotEquals('none'))) | ||
230 | 35 | |||
231 | 36 | def test_noActions(self): | ||
232 | 37 | self.browse_to_test_html('test-nopagestack-in-app.html') | ||
233 | 38 | self.assertThat( | ||
234 | 39 | self.eval_expression_in_page_unsafe( | ||
235 | 40 | 'var UI = new UbuntuUI(); UI.init(); return "ok";'), | ||
236 | 41 | Equals('ok')) | ||
237 | 42 | self.assertThat( | ||
238 | 43 | self.eval_expression_in_page_unsafe( | ||
239 | 44 | 'return document.querySelector\ | ||
240 | 45 | (\'[data-role="actions"]\') != null;'), | ||
241 | 46 | Equals('false')) | ||
242 | 0 | 47 | ||
243 | === modified file 'tests/autopilot/ubuntu_html5_ui_toolkit/tests/test_tabs.py' | |||
244 | --- tests/autopilot/ubuntu_html5_ui_toolkit/tests/test_tabs.py 2014-11-19 18:36:44 +0000 | |||
245 | +++ tests/autopilot/ubuntu_html5_ui_toolkit/tests/test_tabs.py 2015-05-19 17:32:11 +0000 | |||
246 | @@ -39,8 +39,5 @@ | |||
247 | 39 | 39 | ||
248 | 40 | self.assertThat( | 40 | self.assertThat( |
249 | 41 | self.eval_expression_in_page_unsafe( | 41 | self.eval_expression_in_page_unsafe( |
255 | 42 | 'var UI = new UbuntuUI(); ' | 42 | 'return document.getElementById("tab2").style.display;'), |
256 | 43 | 'UI.init(); ' | 43 | Equals('block')) |
252 | 44 | 'return UI.tabs.selectedTabIndex;'), | ||
253 | 45 | Equals('1')) | ||
254 | 46 | |||
257 | 47 | 44 | ||
258 | === modified file 'tests/data/html/apps/rss-reader/index.html' | |||
259 | --- tests/data/html/apps/rss-reader/index.html 2014-01-30 19:56:22 +0000 | |||
260 | +++ tests/data/html/apps/rss-reader/index.html 2015-05-19 17:32:11 +0000 | |||
261 | @@ -55,23 +55,20 @@ | |||
262 | 55 | <div data-role="mainview"> | 55 | <div data-role="mainview"> |
263 | 56 | 56 | ||
264 | 57 | <header data-role="header"> | 57 | <header data-role="header"> |
265 | 58 | <ul data-role="tabs"> | ||
266 | 59 | <li data-role="tabitem" data-page="main">RSS Mobile Reader</li> | ||
267 | 60 | <li data-role="tabitem" data-page="results">RSS Feed</li> | ||
268 | 61 | <li data-role="tabitem" data-page="article">Article</li> | ||
269 | 62 | </ul> | ||
270 | 63 | </header> | 58 | </header> |
271 | 64 | 59 | ||
272 | 65 | <div data-role="content"> | 60 | <div data-role="content"> |
275 | 66 | <div data-role="pagestack"> | 61 | |
276 | 67 | <div data-role="page" id="main"> | 62 | <div data-role="pagestack"> |
277 | 63 | |||
278 | 64 | <div data-role="page" id="main" data-title="RSS Mobile Reader"> | ||
279 | 68 | <section data-role="list" id="yourfeeds"></section> | 65 | <section data-role="list" id="yourfeeds"></section> |
280 | 69 | <footer data-role="footer" class="revealed"> | 66 | <footer data-role="footer" class="revealed"> |
281 | 70 | <nav> | 67 | <nav> |
282 | 71 | <ul> | 68 | <ul> |
283 | 72 | <li> | 69 | <li> |
284 | 73 | <a href="#" id="addfeed"> | 70 | <a href="#" id="addfeed"> |
286 | 74 | <img src="../../../ambiance/img/back@18.png" alt="Tap me!" /> | 71 | <img src="/usr/share/icons/suru/actions/scalable/note-new.svg" alt="Tap me!" /> |
287 | 75 | <span>Add feed</span> | 72 | <span>Add feed</span> |
288 | 76 | </a> | 73 | </a> |
289 | 77 | </li> | 74 | </li> |
290 | @@ -80,11 +77,11 @@ | |||
291 | 80 | </footer> | 77 | </footer> |
292 | 81 | </div> | 78 | </div> |
293 | 82 | 79 | ||
295 | 83 | <div data-role="page" id="results"> | 80 | <div data-role="page" id="results" data-title="Articles"> |
296 | 84 | <section data-role="list" id="resultscontent"></section> | 81 | <section data-role="list" id="resultscontent"></section> |
297 | 85 | </div> | 82 | </div> |
298 | 86 | 83 | ||
300 | 87 | <div data-role="page" id="article"> | 84 | <div data-role="page" id="article" data-title="Article"> |
301 | 88 | <section id="articleinfo"></section> | 85 | <section id="articleinfo"></section> |
302 | 89 | </div> | 86 | </div> |
303 | 90 | </div> | 87 | </div> |
304 | 91 | 88 | ||
305 | === added file 'tests/data/html/test-page-actions.html' | |||
306 | --- tests/data/html/test-page-actions.html 1970-01-01 00:00:00 +0000 | |||
307 | +++ tests/data/html/test-page-actions.html 2015-05-19 17:32:11 +0000 | |||
308 | @@ -0,0 +1,117 @@ | |||
309 | 1 | <!-- | ||
310 | 2 | Copyright (C) 2015 Canonical Ltd | ||
311 | 3 | |||
312 | 4 | This file is part of ubuntu-html5-ui-toolkit. | ||
313 | 5 | |||
314 | 6 | This package is free software; you can redistribute it and/or modify | ||
315 | 7 | it under the terms of the GNU Lesser General Public License as | ||
316 | 8 | published by the Free Software Foundation; either version 3 of the | ||
317 | 9 | License, or | ||
318 | 10 | (at your option) any later version. | ||
319 | 11 | |||
320 | 12 | This package is distributed in the hope that it will be useful, | ||
321 | 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
322 | 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
323 | 15 | GNU General Public License for more details. | ||
324 | 16 | |||
325 | 17 | You should have received a copy of the GNU Lesser General Public | ||
326 | 18 | License along with this program. If not, see | ||
327 | 19 | <http://www.gnu.org/licenses/> | ||
328 | 20 | --> | ||
329 | 21 | |||
330 | 22 | <!DOCTYPE html> | ||
331 | 23 | <html> | ||
332 | 24 | <head> | ||
333 | 25 | <meta charset="utf-8" /> | ||
334 | 26 | <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> | ||
335 | 27 | |||
336 | 28 | <title>Page Actions test</title> | ||
337 | 29 | |||
338 | 30 | <!-- Ubuntu UI Style imports - Ambiance theme --> | ||
339 | 31 | <link href="../../../0.1/ambiance/css/appTemplate.css" rel="stylesheet" type="text/css" /> | ||
340 | 32 | |||
341 | 33 | <!-- Ubuntu UI javascript imports - Ambiance theme --> | ||
342 | 34 | <script src="../../../0.1/ambiance/js/fast-buttons.js"></script> | ||
343 | 35 | <script src="../../../0.1/ambiance/js/core.js"></script> | ||
344 | 36 | <script src="../../../0.1/ambiance/js/buttons.js"></script> | ||
345 | 37 | <script src="../../../0.1/ambiance/js/dialogs.js"></script> | ||
346 | 38 | <script src="../../../0.1/ambiance/js/popovers.js"></script> | ||
347 | 39 | <script src="../../../0.1/ambiance/js/list.js"></script> | ||
348 | 40 | <script src="../../../0.1/ambiance/js/tab.js"></script> | ||
349 | 41 | <script src="../../../0.1/ambiance/js/tabs.js"></script> | ||
350 | 42 | </head> | ||
351 | 43 | |||
352 | 44 | <body> | ||
353 | 45 | <div data-role="mainview"> | ||
354 | 46 | |||
355 | 47 | <header data-role="header"> | ||
356 | 48 | <ul data-role="tabs"> | ||
357 | 49 | <li data-role="tabitem" data-page="tab1">Tab 1</li> | ||
358 | 50 | <li data-role="tabitem" data-page="tab2">Tab 2</li> | ||
359 | 51 | </ul> | ||
360 | 52 | </header> | ||
361 | 53 | |||
362 | 54 | <div data-role="content"> | ||
363 | 55 | |||
364 | 56 | <div data-role="tab" id="tab1"> | ||
365 | 57 | <div>tab1 content</div> | ||
366 | 58 | |||
367 | 59 | <footer id="footer1" data-role="footer" class="revealed"> | ||
368 | 60 | <nav> | ||
369 | 61 | <ul> | ||
370 | 62 | <li> | ||
371 | 63 | <a href="#" id="addfeed"> | ||
372 | 64 | <img src="/usr/share/icons/suru/actions/scalable/note-new.svg" alt="Tap me!" /> | ||
373 | 65 | <span>Add feed</span> | ||
374 | 66 | </a> | ||
375 | 67 | </li> | ||
376 | 68 | </ul> | ||
377 | 69 | </nav> | ||
378 | 70 | </footer> | ||
379 | 71 | </div> | ||
380 | 72 | |||
381 | 73 | <div data-role="tab" id="tab2"> | ||
382 | 74 | <div>tab2 content</div> | ||
383 | 75 | |||
384 | 76 | <footer id="footer2" data-role="footer" class="revealed"> | ||
385 | 77 | <nav> | ||
386 | 78 | <ul> | ||
387 | 79 | <li> | ||
388 | 80 | <a href="#" id="new-email"> | ||
389 | 81 | <img src="/usr/share/icons/suru/actions/scalable/notebook-new.svg" alt="Tap me!" /> | ||
390 | 82 | <span>New Email</span> | ||
391 | 83 | </a> | ||
392 | 84 | </li> | ||
393 | 85 | |||
394 | 86 | <li> | ||
395 | 87 | <a href="#" id="edit-note"> | ||
396 | 88 | <img src="/usr/share/icons/suru/actions/scalable/edit-paste.svg" alt="Tap me!" /> | ||
397 | 89 | <span>Edit Note</span> | ||
398 | 90 | </a> | ||
399 | 91 | </li> | ||
400 | 92 | |||
401 | 93 | <li> | ||
402 | 94 | <a href="#" id="infos"> | ||
403 | 95 | <img src="/usr/share/icons/suru/actions/scalable/info.svg" alt="Tap me!" /> | ||
404 | 96 | <span>Infos</span> | ||
405 | 97 | </a> | ||
406 | 98 | </li> | ||
407 | 99 | |||
408 | 100 | <li> | ||
409 | 101 | <a href="#" id="private-browsing"> | ||
410 | 102 | <img src="/usr/share/icons/suru/actions/scalable/private-browsing.svg" alt="Tap me!" /> | ||
411 | 103 | <span>Private Browsing</span> | ||
412 | 104 | </a> | ||
413 | 105 | </li> | ||
414 | 106 | </ul> | ||
415 | 107 | </nav> | ||
416 | 108 | </footer> | ||
417 | 109 | </div> | ||
418 | 110 | </div> | ||
419 | 111 | |||
420 | 112 | <script> | ||
421 | 113 | |||
422 | 114 | </script> | ||
423 | 115 | |||
424 | 116 | </body> | ||
425 | 117 | </html> |
FAILED: Continuous integration, rev:205 jenkins. qa.ubuntu. com/job/ ubuntu- html5-theme- ci/182/ jenkins. qa.ubuntu. com/job/ generic- mediumtests- wily/5/ console jenkins. qa.ubuntu. com/job/ ubuntu- html5-theme- wily-amd64- ci/1 jenkins. qa.ubuntu. com/job/ ubuntu- html5-theme- wily-armhf- ci/1 jenkins. qa.ubuntu. com/job/ autopilot- testrunner- otto-wily/ 5/console jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- wily-amd64/ 6 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- wily-amd64/ 6/artifact/ work/output/ *zip*/output. zip
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/ubuntu- html5-theme- ci/182/ rebuild
http://