Merge lp:~abreu-alexandre/ubuntu-html5-theme/fix-autopilot-with-rss-sample-app into lp:~ubuntu-html5-theme-devs/ubuntu-html5-theme/ambiance
- fix-autopilot-with-rss-sample-app
- Merge into ambiance
Proposed by
Alexandre Abreu
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Alexandre Abreu | ||||
Approved revision: | 64 | ||||
Merged at revision: | 64 | ||||
Proposed branch: | lp:~abreu-alexandre/ubuntu-html5-theme/fix-autopilot-with-rss-sample-app | ||||
Merge into: | lp:~ubuntu-html5-theme-devs/ubuntu-html5-theme/ambiance | ||||
Diff against target: |
465 lines (+306/-115) 6 files modified
0.1/examples/apps/rss-reader/autopilot.html (+0/-107) tests/autopilot/ubuntu_html5_theme/tests/__init__.py (+2/-1) tests/autopilot/ubuntu_html5_theme/tests/test_rss_reader.py (+5/-7) tests/data/html/apps/rss-reader/app.js (+152/-0) tests/data/html/apps/rss-reader/index.html (+107/-0) tests/data/html/apps/rss-reader/styles.css (+40/-0) |
||||
To merge this branch: | bzr merge lp:~abreu-alexandre/ubuntu-html5-theme/fix-autopilot-with-rss-sample-app | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Adnane Belmadiaf | Approve | ||
PS Jenkins bot | continuous-integration | Approve | |
Review via email:
|
Commit message
Description of the change
fix autopilot test of sample app, remove network dependancy & mocked data
To post a comment you must log in.
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
review:
Approve
(continuous-integration)
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Adnane Belmadiaf (daker) wrote : | # |
looks good to me.
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === removed file '0.1/examples/apps/rss-reader/autopilot.html' | |||
2 | --- 0.1/examples/apps/rss-reader/autopilot.html 2013-07-08 07:53:01 +0000 | |||
3 | +++ 0.1/examples/apps/rss-reader/autopilot.html 1970-01-01 00:00:00 +0000 | |||
4 | @@ -1,107 +0,0 @@ | |||
5 | 1 | <!-- | ||
6 | 2 | Copyright (C) 2013 Adnane Belmadiaf <daker@ubuntu.com> | ||
7 | 3 | |||
8 | 4 | This file is part of ubuntu-html5-theme. | ||
9 | 5 | |||
10 | 6 | This package is free software; you can redistribute it and/or modify | ||
11 | 7 | it under the terms of the Lesser GNU General Public License as | ||
12 | 8 | published by the Free Software Foundation; either version 3 of the | ||
13 | 9 | License, or | ||
14 | 10 | (at your option) any later version. | ||
15 | 11 | |||
16 | 12 | This package is distributed in the hope that it will be useful, | ||
17 | 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | 15 | GNU General Public License for more details. | ||
20 | 16 | |||
21 | 17 | You should have received a copy of the GNU Lesser General Public | ||
22 | 18 | License along with this program. If not, see | ||
23 | 19 | <http://www.gnu.org/licenses/>. | ||
24 | 20 | --> | ||
25 | 21 | |||
26 | 22 | <!DOCTYPE html> | ||
27 | 23 | <html> | ||
28 | 24 | <head> | ||
29 | 25 | <meta charset="utf-8" /> | ||
30 | 26 | <meta name="copyright" content="Adnane Belmadiaf <daker@ubuntu.com>"> | ||
31 | 27 | <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> | ||
32 | 28 | |||
33 | 29 | <title>RSS Mobile Reader - Ubuntu UI Example</title> | ||
34 | 30 | |||
35 | 31 | <!-- Ubuntu UI Style imports - Ambiance theme --> | ||
36 | 32 | <link href="../../../ambiance/css/appTemplate.css" rel="stylesheet" type="text/css" /> | ||
37 | 33 | |||
38 | 34 | <link href="styles.css" rel="stylesheet" type="text/css" /> | ||
39 | 35 | |||
40 | 36 | <!-- External javascript imports --> | ||
41 | 37 | <script src="file:///usr/share/javascript/jquery/jquery.min.js"></script> | ||
42 | 38 | |||
43 | 39 | <!-- Ubuntu UI javascript imports - Ambiance theme --> | ||
44 | 40 | <script src="../../../ambiance/js/fast-buttons.js"></script> | ||
45 | 41 | <script src="../../../ambiance/js/core.js"></script> | ||
46 | 42 | <script src="../../../ambiance/js/buttons.js"></script> | ||
47 | 43 | <script src="../../../ambiance/js/dialogs.js"></script> | ||
48 | 44 | <script src="../../../ambiance/js/pagestacks.js"></script> | ||
49 | 45 | <script src="../../../ambiance/js/popovers.js"></script> | ||
50 | 46 | |||
51 | 47 | <script src="app.js"></script> | ||
52 | 48 | </head> | ||
53 | 49 | |||
54 | 50 | <body> | ||
55 | 51 | <div data-role="page"> | ||
56 | 52 | |||
57 | 53 | <header data-role="header"> | ||
58 | 54 | <nav data-role="navbar" class="tabs" > | ||
59 | 55 | <div class="tabs-inner"> | ||
60 | 56 | <ul> | ||
61 | 57 | <li class="active" role="tab"> | ||
62 | 58 | <a href="#item1" class="tab-item">RSS Mobile Reader</a> | ||
63 | 59 | </li> | ||
64 | 60 | </ul> | ||
65 | 61 | </div> | ||
66 | 62 | </nav> | ||
67 | 63 | </header> | ||
68 | 64 | |||
69 | 65 | <div data-role="content"> | ||
70 | 66 | <div data-role="pagestack"> | ||
71 | 67 | <div data-role="page" id="main"> | ||
72 | 68 | <section data-role="list" id="yourfeeds"></section> | ||
73 | 69 | <footer data-role="footer" class="revealed"> | ||
74 | 70 | <nav> | ||
75 | 71 | <ul> | ||
76 | 72 | <li> | ||
77 | 73 | <a href="#" id="addfeed"> | ||
78 | 74 | <img src="../../../ambiance/img/back@18.png" alt="Tap me!" /> | ||
79 | 75 | <span>Add feed</span> | ||
80 | 76 | </a> | ||
81 | 77 | </li> | ||
82 | 78 | </ul> | ||
83 | 79 | </nav> | ||
84 | 80 | </footer> | ||
85 | 81 | </div> | ||
86 | 82 | |||
87 | 83 | <div data-role="page" id="results"> | ||
88 | 84 | <section data-role="list" id="resultscontent"></section> | ||
89 | 85 | </div> | ||
90 | 86 | |||
91 | 87 | <div data-role="page" id="article"> | ||
92 | 88 | <section id="articleinfo"></section> | ||
93 | 89 | </div> | ||
94 | 90 | </div> | ||
95 | 91 | <div data-role="dialog" id="addfeeddialog"> | ||
96 | 92 | <section> | ||
97 | 93 | <h1>Add a new feed</h1> | ||
98 | 94 | <p>Type the url feed you want to add</p> | ||
99 | 95 | <input type="url" id="rssFeed" placeholder="http://"> | ||
100 | 96 | <menu> | ||
101 | 97 | <button data-role="button" id="no">Cancel</button> | ||
102 | 98 | <button data-role="button" class="success" id="yes">Add</button> | ||
103 | 99 | </menu> | ||
104 | 100 | </section> | ||
105 | 101 | </div> | ||
106 | 102 | <div data-role="dialog" id="loading"><section><progress></progress></section></div> | ||
107 | 103 | </div> | ||
108 | 104 | |||
109 | 105 | </div> | ||
110 | 106 | </body> | ||
111 | 107 | </html> | ||
112 | 108 | 0 | ||
113 | === modified file 'tests/autopilot/ubuntu_html5_theme/tests/__init__.py' | |||
114 | --- tests/autopilot/ubuntu_html5_theme/tests/__init__.py 2013-07-08 07:53:01 +0000 | |||
115 | +++ tests/autopilot/ubuntu_html5_theme/tests/__init__.py 2013-07-08 18:31:32 +0000 | |||
116 | @@ -179,7 +179,8 @@ | |||
117 | 179 | self.assert_url_eventually_loaded(url); | 179 | self.assert_url_eventually_loaded(url); |
118 | 180 | 180 | ||
119 | 181 | def browse_to_app(self, appname): | 181 | def browse_to_app(self, appname): |
121 | 182 | self.browse_to_url(self.create_file_url_from(self.BASE_PATH + '/' + self.APPS_SUBFOLDER_NAME + '/' + appname + '/autopilot.html')) | 182 | APP_HTML_PATH = self.create_file_url_from(os.path.abspath(self.BASE_PATH + '/../../tests/data/html/' + self.APPS_SUBFOLDER_NAME + '/' + appname + '/index.html')) |
122 | 183 | self.browse_to_url(APP_HTML_PATH) | ||
123 | 183 | 184 | ||
124 | 184 | def browse_to_test_html(self, html_filename): | 185 | def browse_to_test_html(self, html_filename): |
125 | 185 | self.browse_to_url(self.create_file_url_from(os.path.abspath(self.BASE_PATH + '/../../tests/data/html/' + html_filename))) | 186 | self.browse_to_url(self.create_file_url_from(os.path.abspath(self.BASE_PATH + '/../../tests/data/html/' + html_filename))) |
126 | 186 | 187 | ||
127 | === modified file 'tests/autopilot/ubuntu_html5_theme/tests/test_rss_reader.py' | |||
128 | --- tests/autopilot/ubuntu_html5_theme/tests/test_rss_reader.py 2013-07-08 07:53:01 +0000 | |||
129 | +++ tests/autopilot/ubuntu_html5_theme/tests/test_rss_reader.py 2013-07-08 18:31:32 +0000 | |||
130 | @@ -27,13 +27,11 @@ | |||
131 | 27 | self.assertThat(self.is_dom_node_visible('article'), Equals(False)) | 27 | self.assertThat(self.is_dom_node_visible('article'), Equals(False)) |
132 | 28 | self.assertThat(self.is_dom_node_visible('results'), Equals(False)) | 28 | self.assertThat(self.is_dom_node_visible('results'), Equals(False)) |
133 | 29 | 29 | ||
141 | 30 | # Needs further mockup for autopilot.html to work offline | 30 | def test_switchToFeedView(self): |
142 | 31 | # LP: https://bugs.launchpad.net/ubuntu-html5-theme/+bug/1198820 | 31 | self.click_any_dom_node_by_selector('#yourfeeds li a') |
143 | 32 | # def test_switchToFeedView(self): | 32 | self.assertThat(lambda: self.is_dom_node_visible('main'), Eventually(Equals(False))) |
144 | 33 | # self.click_any_dom_node_by_selector('#yourfeeds li a') | 33 | self.assertThat(self.is_dom_node_visible('article'), Equals(False)) |
145 | 34 | # self.assertThat(lambda: self.is_dom_node_visible('main'), Eventually(Equals(False))) | 34 | self.assertThat(self.is_dom_node_visible('results'), Equals(True)) |
139 | 35 | # self.assertThat(self.is_dom_node_visible('article'), Equals(False)) | ||
140 | 36 | # self.assertThat(self.is_dom_node_visible('results'), Equals(True)) | ||
146 | 37 | 35 | ||
147 | 38 | 36 | ||
148 | 39 | 37 | ||
149 | 40 | 38 | ||
150 | === added directory 'tests/data/html/apps' | |||
151 | === added directory 'tests/data/html/apps/rss-reader' | |||
152 | === added file 'tests/data/html/apps/rss-reader/app.js' | |||
153 | --- tests/data/html/apps/rss-reader/app.js 1970-01-01 00:00:00 +0000 | |||
154 | +++ tests/data/html/apps/rss-reader/app.js 2013-07-08 18:31:32 +0000 | |||
155 | @@ -0,0 +1,152 @@ | |||
156 | 1 | /* | ||
157 | 2 | * Copyright (C) 2013 Adnane Belmadiaf <daker@ubuntu.com> | ||
158 | 3 | * | ||
159 | 4 | * This file is part of ubuntu-html5-theme. | ||
160 | 5 | * | ||
161 | 6 | * This package is free software; you can redistribute it and/or modify | ||
162 | 7 | * it under the terms of the Lesser GNU General Public License as | ||
163 | 8 | * published by the Free Software Foundation; either version 3 of the | ||
164 | 9 | * License, or | ||
165 | 10 | * (at your option) any later version. | ||
166 | 11 | |||
167 | 12 | * This package is distributed in the hope that it will be useful, | ||
168 | 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
169 | 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
170 | 15 | * GNU General Public License for more details. | ||
171 | 16 | |||
172 | 17 | * You should have received a copy of the GNU Lesser General Public | ||
173 | 18 | * License along with this program. If not, see | ||
174 | 19 | * <http://www.gnu.org/licenses/>. | ||
175 | 20 | */ | ||
176 | 21 | |||
177 | 22 | var FEED_LOCAL_STORAGE_KEY = "my-data-feeds"; | ||
178 | 23 | |||
179 | 24 | var UI = new UbuntuUI(); | ||
180 | 25 | |||
181 | 26 | var data_feeds = { | ||
182 | 27 | 'this.is.a.feed': {entries: [ | ||
183 | 28 | {title: 'My feed content', link: 'http://www.ubuntu.com', content: 'This is my feed'}, | ||
184 | 29 | {title: 'My feed content2', link: 'http://www.ubuntu.com', content: 'This is my feed2'}, | ||
185 | 30 | {title: 'My feed content3', link: 'http://www.ubuntu.com', content: 'This is my feed3'} | ||
186 | 31 | ]}, | ||
187 | 32 | 'this.is.another.feed': {entries: [ | ||
188 | 33 | {title: 'My other feed content', link: 'http://www.ubuntu.com', content: 'This is my other feed'}, | ||
189 | 34 | {title: 'My other feed content2', link: 'http://www.ubuntu.com', content: 'This is my other feed2'}, | ||
190 | 35 | {title: 'My other feed content3', link: 'http://www.ubuntu.com', content: 'This is my other feed3'} | ||
191 | 36 | ]} | ||
192 | 37 | }; | ||
193 | 38 | |||
194 | 39 | function Feed(url) { | ||
195 | 40 | this.url = url; | ||
196 | 41 | } | ||
197 | 42 | Feed.prototype = { | ||
198 | 43 | setNumEntries: function (count) {}, | ||
199 | 44 | load: function(callback) { | ||
200 | 45 | callback({feed: data_feeds[this.url]}); | ||
201 | 46 | } | ||
202 | 47 | } | ||
203 | 48 | |||
204 | 49 | |||
205 | 50 | $(document).ready(function () { | ||
206 | 51 | |||
207 | 52 | UI.init(); | ||
208 | 53 | UI.pagestack.push("main"); | ||
209 | 54 | |||
210 | 55 | if (typeof localStorage[FEED_LOCAL_STORAGE_KEY] == "undefined") { | ||
211 | 56 | restoreDefault(); | ||
212 | 57 | } | ||
213 | 58 | //load local storage feeds | ||
214 | 59 | var feeds = eval(localStorage[FEED_LOCAL_STORAGE_KEY]); | ||
215 | 60 | var myfeeds = null; | ||
216 | 61 | if (feeds !== null) { | ||
217 | 62 | myfeeds = "<header>My feeds</header><ul>"; | ||
218 | 63 | for (var i = 0; i < feeds.length; i++) { | ||
219 | 64 | myfeeds += '<li><a href="#" onclick="loadFeed(\'' + feeds[i] + '\');">' + feeds[i] + '</a></li>'; | ||
220 | 65 | } | ||
221 | 66 | myfeeds += "</ul>"; | ||
222 | 67 | $("#yourfeeds").html(myfeeds); | ||
223 | 68 | } | ||
224 | 69 | |||
225 | 70 | UI.button('yes').click(function (e) { | ||
226 | 71 | var url = $("#rssFeed").val(); | ||
227 | 72 | if (url === "") { | ||
228 | 73 | if (!$("#addfeeddialog section").hasClass("shake")) { | ||
229 | 74 | $("#addfeeddialog section").addClass("shake"); | ||
230 | 75 | } else { | ||
231 | 76 | $('#addfeeddialog section').css('animation-name', 'none'); | ||
232 | 77 | $('#addfeeddialog section').css('-moz-animation-name', 'none'); | ||
233 | 78 | $('#addfeeddialog section').css('-webkit-animation-name', 'none'); | ||
234 | 79 | |||
235 | 80 | setTimeout(function () { | ||
236 | 81 | $('#addfeeddialog section').css('-webkit-animation-name', 'shake'); | ||
237 | 82 | }, 0); | ||
238 | 83 | } | ||
239 | 84 | } else { | ||
240 | 85 | var feeds = eval(localStorage[FEED_LOCAL_STORAGE_KEY]); | ||
241 | 86 | feeds.push(url); | ||
242 | 87 | localStorage.setItem(FEED_LOCAL_STORAGE_KEY, JSON.stringify(feeds)); | ||
243 | 88 | window.location.reload(); | ||
244 | 89 | } | ||
245 | 90 | }); | ||
246 | 91 | |||
247 | 92 | UI.button('addfeed').click(function () { | ||
248 | 93 | $('#addfeeddialog').show(); | ||
249 | 94 | }); | ||
250 | 95 | |||
251 | 96 | UI.button('no').click(function () { | ||
252 | 97 | $('#addfeeddialog').hide(); | ||
253 | 98 | }); | ||
254 | 99 | }); | ||
255 | 100 | |||
256 | 101 | //FUNCS | ||
257 | 102 | |||
258 | 103 | function restoreDefault() { | ||
259 | 104 | localStorage.clear(); | ||
260 | 105 | var feeds = []; | ||
261 | 106 | for (var feed in data_feeds) { | ||
262 | 107 | if (data_feeds.hasOwnProperty(feed)) { | ||
263 | 108 | feeds.push(feed); | ||
264 | 109 | } | ||
265 | 110 | } | ||
266 | 111 | try { | ||
267 | 112 | localStorage.setItem(FEED_LOCAL_STORAGE_KEY, JSON.stringify(feeds)); | ||
268 | 113 | window.location.reload(); | ||
269 | 114 | } catch (e) { | ||
270 | 115 | if (e == QUOTA_EXCEEDED_ERR) { | ||
271 | 116 | console.log("Error: Local Storage limit exceeds."); | ||
272 | 117 | } else { | ||
273 | 118 | console.log("Error: Saving to local storage."); | ||
274 | 119 | } | ||
275 | 120 | } | ||
276 | 121 | } | ||
277 | 122 | |||
278 | 123 | function loadFeed(url) { | ||
279 | 124 | UI.pagestack.push("results"); | ||
280 | 125 | |||
281 | 126 | UI.dialog("loading").show(); | ||
282 | 127 | |||
283 | 128 | var feed = new Feed(url); | ||
284 | 129 | feed.setNumEntries(30); | ||
285 | 130 | feed.load(function (result) { | ||
286 | 131 | if (!result.error) { | ||
287 | 132 | myfeeds_items = "<header>" + result.feed.title + "</header><ul>"; | ||
288 | 133 | for (var i = 0; i < result.feed.entries.length; i++) { | ||
289 | 134 | myfeeds_items += '<li><a href="#" onclick=\'showArticle("' + escape(result.feed.entries[i].title) + '","' + escape(result.feed.entries[i].link) + '","' + escape(result.feed.entries[i].content) + '")\'>' + result.feed.entries[i].title.replace(/"/g, "'") + '</a></li>'; | ||
290 | 135 | } | ||
291 | 136 | myfeeds_items += "</ul>"; | ||
292 | 137 | UI.dialog("loading").hide(); | ||
293 | 138 | $("#resultscontent").html(myfeeds_items); | ||
294 | 139 | } else | ||
295 | 140 | alert('feed error'); | ||
296 | 141 | }); | ||
297 | 142 | } | ||
298 | 143 | |||
299 | 144 | function showArticle(title, url, desc) { | ||
300 | 145 | UI.pagestack.push("article"); | ||
301 | 146 | |||
302 | 147 | if (typeof desc == "undefined") | ||
303 | 148 | desc = "(No description provided)"; | ||
304 | 149 | $("#articleinfo").html("<p>" + unescape(title) + "</p><p>" + unescape(desc) + "</p><p><a target=\"_blank\" href=\"" + unescape(url) + "\">" + unescape(url) + "</a></p>"); | ||
305 | 150 | |||
306 | 151 | } | ||
307 | 152 | |||
308 | 0 | 153 | ||
309 | === added file 'tests/data/html/apps/rss-reader/index.html' | |||
310 | --- tests/data/html/apps/rss-reader/index.html 1970-01-01 00:00:00 +0000 | |||
311 | +++ tests/data/html/apps/rss-reader/index.html 2013-07-08 18:31:32 +0000 | |||
312 | @@ -0,0 +1,107 @@ | |||
313 | 1 | <!-- | ||
314 | 2 | Copyright (C) 2013 Adnane Belmadiaf <daker@ubuntu.com> | ||
315 | 3 | |||
316 | 4 | This file is part of ubuntu-html5-theme. | ||
317 | 5 | |||
318 | 6 | This package is free software; you can redistribute it and/or modify | ||
319 | 7 | it under the terms of the Lesser GNU General Public License as | ||
320 | 8 | published by the Free Software Foundation; either version 3 of the | ||
321 | 9 | License, or | ||
322 | 10 | (at your option) any later version. | ||
323 | 11 | |||
324 | 12 | This package is distributed in the hope that it will be useful, | ||
325 | 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
326 | 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
327 | 15 | GNU General Public License for more details. | ||
328 | 16 | |||
329 | 17 | You should have received a copy of the GNU Lesser General Public | ||
330 | 18 | License along with this program. If not, see | ||
331 | 19 | <http://www.gnu.org/licenses/>. | ||
332 | 20 | --> | ||
333 | 21 | |||
334 | 22 | <!DOCTYPE html> | ||
335 | 23 | <html> | ||
336 | 24 | <head> | ||
337 | 25 | <meta charset="utf-8" /> | ||
338 | 26 | <meta name="copyright" content="Adnane Belmadiaf <daker@ubuntu.com>"> | ||
339 | 27 | <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> | ||
340 | 28 | |||
341 | 29 | <title>RSS Mobile Reader - Ubuntu UI Example</title> | ||
342 | 30 | |||
343 | 31 | <!-- Ubuntu UI Style imports - Ambiance theme --> | ||
344 | 32 | <link href="../../../../../0.1/ambiance/css/appTemplate.css" rel="stylesheet" type="text/css" /> | ||
345 | 33 | |||
346 | 34 | <link href="styles.css" rel="stylesheet" type="text/css" /> | ||
347 | 35 | |||
348 | 36 | <!-- External javascript imports --> | ||
349 | 37 | <script src="file:///usr/share/javascript/jquery/jquery.min.js"></script> | ||
350 | 38 | |||
351 | 39 | <!-- Ubuntu UI javascript imports - Ambiance theme --> | ||
352 | 40 | <script src="../../../../../0.1/ambiance/js/fast-buttons.js"></script> | ||
353 | 41 | <script src="../../../../../0.1/ambiance/js/core.js"></script> | ||
354 | 42 | <script src="../../../../../0.1/ambiance/js/buttons.js"></script> | ||
355 | 43 | <script src="../../../../../0.1/ambiance/js/dialogs.js"></script> | ||
356 | 44 | <script src="../../../../../0.1/ambiance/js/pagestacks.js"></script> | ||
357 | 45 | <script src="../../../../../0.1/ambiance/js/popovers.js"></script> | ||
358 | 46 | |||
359 | 47 | <script src="app.js"></script> | ||
360 | 48 | </head> | ||
361 | 49 | |||
362 | 50 | <body> | ||
363 | 51 | <div data-role="page"> | ||
364 | 52 | |||
365 | 53 | <header data-role="header"> | ||
366 | 54 | <nav data-role="navbar" class="tabs" > | ||
367 | 55 | <div class="tabs-inner"> | ||
368 | 56 | <ul> | ||
369 | 57 | <li class="active" role="tab"> | ||
370 | 58 | <a href="#item1" class="tab-item">RSS Mobile Reader</a> | ||
371 | 59 | </li> | ||
372 | 60 | </ul> | ||
373 | 61 | </div> | ||
374 | 62 | </nav> | ||
375 | 63 | </header> | ||
376 | 64 | |||
377 | 65 | <div data-role="content"> | ||
378 | 66 | <div data-role="pagestack"> | ||
379 | 67 | <div data-role="page" id="main"> | ||
380 | 68 | <section data-role="list" id="yourfeeds"></section> | ||
381 | 69 | <footer data-role="footer" class="revealed"> | ||
382 | 70 | <nav> | ||
383 | 71 | <ul> | ||
384 | 72 | <li> | ||
385 | 73 | <a href="#" id="addfeed"> | ||
386 | 74 | <img src="../../../../../0.1/ambiance/img/back@18.png" alt="Tap me!" /> | ||
387 | 75 | <span>Add feed</span> | ||
388 | 76 | </a> | ||
389 | 77 | </li> | ||
390 | 78 | </ul> | ||
391 | 79 | </nav> | ||
392 | 80 | </footer> | ||
393 | 81 | </div> | ||
394 | 82 | |||
395 | 83 | <div data-role="page" id="results"> | ||
396 | 84 | <section data-role="list" id="resultscontent"></section> | ||
397 | 85 | </div> | ||
398 | 86 | |||
399 | 87 | <div data-role="page" id="article"> | ||
400 | 88 | <section id="articleinfo"></section> | ||
401 | 89 | </div> | ||
402 | 90 | </div> | ||
403 | 91 | <div data-role="dialog" id="addfeeddialog"> | ||
404 | 92 | <section> | ||
405 | 93 | <h1>Add a new feed</h1> | ||
406 | 94 | <p>Type the url feed you want to add</p> | ||
407 | 95 | <input type="url" id="rssFeed" placeholder="http://"> | ||
408 | 96 | <menu> | ||
409 | 97 | <button data-role="button" id="no">Cancel</button> | ||
410 | 98 | <button data-role="button" class="success" id="yes">Add</button> | ||
411 | 99 | </menu> | ||
412 | 100 | </section> | ||
413 | 101 | </div> | ||
414 | 102 | <div data-role="dialog" id="loading"><section><progress></progress></section></div> | ||
415 | 103 | </div> | ||
416 | 104 | |||
417 | 105 | </div> | ||
418 | 106 | </body> | ||
419 | 107 | </html> | ||
420 | 0 | 108 | ||
421 | === added file 'tests/data/html/apps/rss-reader/styles.css' | |||
422 | --- tests/data/html/apps/rss-reader/styles.css 1970-01-01 00:00:00 +0000 | |||
423 | +++ tests/data/html/apps/rss-reader/styles.css 2013-07-08 18:31:32 +0000 | |||
424 | @@ -0,0 +1,40 @@ | |||
425 | 1 | /* | ||
426 | 2 | * Copyright (C) 2013 Adnane Belmadiaf <daker@ubuntu.com> | ||
427 | 3 | * | ||
428 | 4 | * This file is part of ubuntu-html5-theme. | ||
429 | 5 | * | ||
430 | 6 | * This package is free software; you can redistribute it and/or modify | ||
431 | 7 | * it under the terms of the Lesser GNU General Public License as | ||
432 | 8 | * published by the Free Software Foundation; either version 3 of the | ||
433 | 9 | * License, or | ||
434 | 10 | * (at your option) any later version. | ||
435 | 11 | |||
436 | 12 | * This package is distributed in the hope that it will be useful, | ||
437 | 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
438 | 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
439 | 15 | * GNU General Public License for more details. | ||
440 | 16 | |||
441 | 17 | * You should have received a copy of the GNU Lesser General Public | ||
442 | 18 | * License along with this program. If not, see | ||
443 | 19 | * <http://www.gnu.org/licenses/>. | ||
444 | 20 | */ | ||
445 | 21 | |||
446 | 22 | #articleinfo { | ||
447 | 23 | padding: 10px; | ||
448 | 24 | -webkit-box-sizing: border-box; | ||
449 | 25 | box-sizing: border-box; | ||
450 | 26 | } | ||
451 | 27 | |||
452 | 28 | #articleinfo iframe { | ||
453 | 29 | max-width: 100%; | ||
454 | 30 | } | ||
455 | 31 | |||
456 | 32 | #articleinfo p { | ||
457 | 33 | margin: 7px 0; | ||
458 | 34 | } | ||
459 | 35 | |||
460 | 36 | #articleinfo a{ | ||
461 | 37 | text-decoration: none; | ||
462 | 38 | color: #787878; | ||
463 | 39 | font-weight: bold; | ||
464 | 40 | } | ||
465 | 0 | \ No newline at end of file | 41 | \ No newline at end of file |
PASSED: Continuous integration, rev:64 jenkins. qa.ubuntu. com/job/ ubuntu- html5-theme- ci/5/ jenkins. qa.ubuntu. com/job/ ubuntu- html5-theme- saucy-amd64- ci/5 jenkins. qa.ubuntu. com/job/ ubuntu- html5-theme- saucy-armhf- ci/5
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ ubuntu- html5-theme- ci/5/rebuild
http://