Merge lp:~stevenk/launchpad/banish-get_feedback_messages into lp:launchpad

Proposed by Steve Kowalik
Status: Merged
Approved by: William Grant
Approved revision: no longer in the source branch.
Merged at revision: 16780
Proposed branch: lp:~stevenk/launchpad/banish-get_feedback_messages
Merge into: lp:launchpad
Diff against target: 3119 lines (+352/-581)
85 files modified
lib/lp/answers/stories/question-add.txt (+3/-6)
lib/lp/answers/stories/question-subscriptions.txt (+3/-6)
lib/lp/answers/stories/this-is-a-faq.txt (+1/-2)
lib/lp/app/stories/launchpad-root/site-search.txt (+1/-2)
lib/lp/blueprints/stories/standalone/xx-branch-links.txt (+1/-2)
lib/lp/bugs/stories/bug-also-affects/xx-also-affects-new-upstream.txt (+5/-3)
lib/lp/bugs/stories/bug-also-affects/xx-bug-also-affects.txt (+45/-45)
lib/lp/bugs/stories/bug-also-affects/xx-duplicate-bugwatches.txt (+1/-2)
lib/lp/bugs/stories/bugs/xx-bug-comment-attach-file.txt (+11/-12)
lib/lp/bugs/stories/bugs/xx-bug-create-question.txt (+4/-4)
lib/lp/bugs/stories/bugtask-searches/xx-advanced-people-filters.txt (+13/-17)
lib/lp/bugs/stories/bugtracker/xx-bugtracker.txt (+8/-16)
lib/lp/bugs/stories/guided-filebug/xx-distro-guided-filebug.txt (+1/-2)
lib/lp/bugs/stories/guided-filebug/xx-filebug-attachments.txt (+1/-2)
lib/lp/bugs/stories/guided-filebug/xx-product-guided-filebug.txt (+2/-4)
lib/lp/code/stories/branches/xx-branch-deletion.txt (+3/-6)
lib/lp/code/stories/branches/xx-branch-edit.txt (+3/-6)
lib/lp/code/stories/branches/xx-bug-branch-links.txt (+1/-2)
lib/lp/code/stories/branches/xx-subscribing-branches.txt (+1/-2)
lib/lp/code/stories/branches/xx-upgrading-branches.txt (+1/-2)
lib/lp/code/stories/codeimport/xx-admin-codeimport.txt (+9/-18)
lib/lp/code/stories/codeimport/xx-create-codeimport.txt (+7/-14)
lib/lp/code/stories/codeimport/xx-edit-codeimport.txt (+1/-2)
lib/lp/coop/answersbugs/stories/question-buglink.txt (+2/-4)
lib/lp/registry/stories/gpg-coc/xx-gpg-coc.txt (+9/-18)
lib/lp/registry/stories/mailinglists/hosted-email-address.txt (+2/-4)
lib/lp/registry/stories/mailinglists/lifecycle.txt (+2/-4)
lib/lp/registry/stories/mailinglists/subscriptions.txt (+5/-6)
lib/lp/registry/stories/milestone/object-milestones.txt (+2/-4)
lib/lp/registry/stories/milestone/xx-milestone-add-and-edit.txt (+1/-2)
lib/lp/registry/stories/object/xx-nameblacklist.txt (+1/-2)
lib/lp/registry/stories/person/xx-add-sshkey.txt (+7/-7)
lib/lp/registry/stories/person/xx-adminpeoplemerge.txt (+2/-2)
lib/lp/registry/stories/person/xx-deactivate-account.txt (+1/-2)
lib/lp/registry/stories/product/xx-product-edit-sourceforge-project.txt (+1/-2)
lib/lp/registry/stories/product/xx-product-files.txt (+18/-20)
lib/lp/registry/stories/product/xx-product-index.txt (+1/-2)
lib/lp/registry/stories/product/xx-product-package-pages.txt (+1/-2)
lib/lp/registry/stories/productrelease/xx-productrelease-basics.txt (+4/-6)
lib/lp/registry/stories/productrelease/xx-productrelease-delete.txt (+1/-2)
lib/lp/registry/stories/productseries/xx-productseries-delete.txt (+1/-2)
lib/lp/registry/stories/productseries/xx-productseries-set-branch.txt (+5/-10)
lib/lp/registry/stories/project/xx-project-add.txt (+3/-3)
lib/lp/registry/stories/team-polls/create-poll-options.txt (+6/-6)
lib/lp/registry/stories/team-polls/create-polls.txt (+4/-4)
lib/lp/registry/stories/team-polls/edit-options.txt (+1/-1)
lib/lp/registry/stories/team-polls/edit-poll.txt (+2/-2)
lib/lp/registry/stories/team-polls/vote-poll.txt (+1/-2)
lib/lp/registry/stories/team/xx-adminteammerge.txt (+2/-2)
lib/lp/registry/stories/team/xx-team-add-my-teams.txt (+7/-7)
lib/lp/registry/stories/team/xx-team-claim.txt (+2/-4)
lib/lp/registry/stories/team/xx-team-contactemail.txt (+2/-4)
lib/lp/registry/stories/teammembership/private-team.txt (+3/-6)
lib/lp/registry/stories/vouchers/xx-voucher-redemption.txt (+3/-6)
lib/lp/services/feeds/stories/xx-links.txt (+4/-4)
lib/lp/services/oauth/stories/managing-tokens.txt (+1/-2)
lib/lp/soyuz/stories/distroseries/add-architecture.txt (+1/-1)
lib/lp/soyuz/stories/ppa/xx-copy-packages.txt (+18/-54)
lib/lp/soyuz/stories/ppa/xx-delete-packages.txt (+5/-15)
lib/lp/soyuz/stories/ppa/xx-edit-dependencies.txt (+12/-37)
lib/lp/soyuz/stories/ppa/xx-ppa-private-teams.txt (+3/-4)
lib/lp/soyuz/stories/ppa/xx-ppa-workflow.txt (+12/-24)
lib/lp/soyuz/stories/ppa/xx-private-ppa-subscription-stories.txt (+5/-10)
lib/lp/soyuz/stories/ppa/xx-private-ppa-subscriptions.txt (+1/-2)
lib/lp/soyuz/stories/soyuz/xx-build-record.txt (+2/-4)
lib/lp/soyuz/stories/soyuz/xx-builder-page.txt (+5/-9)
lib/lp/soyuz/stories/soyuz/xx-distroarchseries.txt (+1/-2)
lib/lp/soyuz/stories/soyuz/xx-person-packages.txt (+1/-3)
lib/lp/soyuz/stories/soyuz/xx-queue-pages-motu.txt (+7/-14)
lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt (+6/-14)
lib/lp/testing/browser.py (+2/-2)
lib/lp/testing/doc/pagetest-helpers.txt (+8/-6)
lib/lp/testing/pages.py (+1/-2)
lib/lp/translations/stories/distroseries/xx-distroseries-language-packs.txt (+1/-1)
lib/lp/translations/stories/importqueue/xx-translation-import-queue.txt (+1/-4)
lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt (+4/-8)
lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.txt (+1/-1)
lib/lp/translations/stories/productseries/xx-productseries-translations-settings.txt (+1/-1)
lib/lp/translations/stories/standalone/xx-licensing.txt (+4/-4)
lib/lp/translations/stories/standalone/xx-pofile-details.txt (+6/-6)
lib/lp/translations/stories/standalone/xx-pofile-translate-alternative-language.txt (+1/-2)
lib/lp/translations/stories/standalone/xx-pofile-translate.txt (+2/-4)
lib/lp/translations/stories/standalone/xx-potemplate-export.txt (+4/-8)
lib/lp/translations/stories/standalone/xx-product-export.txt (+1/-2)
lib/lp/translations/stories/standalone/xx-sourcepackage-export.txt (+3/-6)
To merge this branch: bzr merge lp:~stevenk/launchpad/banish-get_feedback_messages
Reviewer Review Type Date Requested Status
William Grant code Approve
Review via email: mp+187973@code.launchpad.net

Description of the change

Destroy usage of get_feedback_messages() in doctests, and stop importing it into the namespace that doctests use. All callsites in doctests now use print_feedback_messages().

To post a comment you must log in.
Revision history for this message
William Grant (wgrant) :
review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/lp/answers/stories/question-add.txt'
2--- lib/lp/answers/stories/question-add.txt 2011-08-21 14:21:06 +0000
3+++ lib/lp/answers/stories/question-add.txt 2013-09-27 04:45:05 +0000
4@@ -61,8 +61,7 @@
5 >>> user_browser.getControl('Summary').value
6 ''
7 >>> user_browser.getControl('Continue').click()
8- >>> for message in get_feedback_messages(user_browser.contents):
9- ... print message
10+ >>> print_feedback_messages(user_browser.contents)
11 There is 1 error.
12 You must enter a summary of your problem.
13
14@@ -139,8 +138,7 @@
15 If the user doesn't provide details, he'll get an error message:
16
17 >>> user_browser.getControl('Post Question').click()
18- >>> for message in get_feedback_messages(user_browser.contents):
19- ... print message
20+ >>> print_feedback_messages(user_browser.contents)
21 There is 1 error.
22 You must provide details about your problem.
23
24@@ -149,8 +147,7 @@
25
26 >>> user_browser.getControl('Summary').value = ''
27 >>> user_browser.getControl('Post Question').click()
28- >>> for message in get_feedback_messages(user_browser.contents):
29- ... print message
30+ >>> print_feedback_messages(user_browser.contents)
31 There are 2 errors.
32 You must enter a summary of your problem.
33
34
35=== modified file 'lib/lp/answers/stories/question-subscriptions.txt'
36--- lib/lp/answers/stories/question-subscriptions.txt 2011-08-02 02:51:59 +0000
37+++ lib/lp/answers/stories/question-subscriptions.txt 2013-09-27 04:45:05 +0000
38@@ -23,8 +23,7 @@
39
40 A message confirming that he was subscribed is displayed:
41
42- >>> for message in get_feedback_messages(user_browser.contents):
43- ... print message
44+ >>> print_feedback_messages(user_browser.contents)
45 You have subscribed to this question.
46
47
48@@ -46,8 +45,7 @@
49
50 A confirmation is displayed:
51
52- >>> for message in get_feedback_messages(user_browser.contents):
53- ... print message
54+ >>> print_feedback_messages(user_browser.contents)
55 You have unsubscribed from this question.
56
57
58@@ -67,7 +65,6 @@
59
60 A notification message is displayed notifying of the subscription:
61
62- >>> for message in get_feedback_messages(user_browser.contents):
63- ... print message
64+ >>> print_feedback_messages(user_browser.contents)
65 Thanks for your information request.
66 You have subscribed to this question.
67
68=== modified file 'lib/lp/answers/stories/this-is-a-faq.txt'
69--- lib/lp/answers/stories/this-is-a-faq.txt 2012-12-11 05:41:50 +0000
70+++ lib/lp/answers/stories/this-is-a-faq.txt 2013-09-27 04:45:05 +0000
71@@ -171,8 +171,7 @@
72
73 >>> print user_browser.url
74 http://answers.launchpad.dev/firefox/+question/2/+linkfaq
75- >>> for message in get_feedback_messages(user_browser.contents):
76- ... print message
77+ >>> print_feedback_messages(user_browser.contents)
78 There is 1 error.
79 You didn't modify the linked FAQ.
80
81
82=== modified file 'lib/lp/app/stories/launchpad-root/site-search.txt'
83--- lib/lp/app/stories/launchpad-root/site-search.txt 2012-12-26 07:23:19 +0000
84+++ lib/lp/app/stories/launchpad-root/site-search.txt 2013-09-27 04:45:05 +0000
85@@ -292,8 +292,7 @@
86
87 >>> too_many_characters = '12345 7890' * 25 + 'n'
88 >>> search_for(too_many_characters)
89- >>> for message in get_feedback_messages(anon_browser.contents):
90- ... print message
91+ >>> print_feedback_messages(anon_browser.contents)
92 There is 1 error.
93 The search text cannot exceed 250 characters.
94
95
96=== modified file 'lib/lp/blueprints/stories/standalone/xx-branch-links.txt'
97--- lib/lp/blueprints/stories/standalone/xx-branch-links.txt 2012-08-07 07:07:02 +0000
98+++ lib/lp/blueprints/stories/standalone/xx-branch-links.txt 2013-09-27 04:45:05 +0000
99@@ -85,8 +85,7 @@
100 >>> browser.getLink('Link to another branch').click()
101 >>> browser.getControl('Branch').value = '~mark/firefox/release-0.8'
102 >>> browser.getControl('Continue').click()
103- >>> for message in get_feedback_messages(browser.contents):
104- ... print message
105+ >>> print_feedback_messages(browser.contents)
106 There is 1 error.
107 This branch has already been linked to the blueprint
108
109
110=== modified file 'lib/lp/bugs/stories/bug-also-affects/xx-also-affects-new-upstream.txt'
111--- lib/lp/bugs/stories/bug-also-affects/xx-also-affects-new-upstream.txt 2012-02-21 22:30:41 +0000
112+++ lib/lp/bugs/stories/bug-also-affects/xx-also-affects-new-upstream.txt 2013-09-27 04:45:05 +0000
113@@ -42,7 +42,7 @@
114 >>> print user_browser.title
115 Register project affected by...
116
117- >>> print "\n".join(get_feedback_messages(user_browser.contents))
118+ >>> print_feedback_messages(user_browser.contents)
119 There are some projects using the bug tracker you specified. One of
120 these may be the one you were trying to register.
121 >>> control = user_browser.getControl(name='field.existing_product')
122@@ -75,7 +75,9 @@
123 >>> user_browser.getControl('Use Existing Project').click()
124 >>> print user_browser.title
125 Register project affected by...
126- >>> print get_feedback_messages(user_browser.contents)[-1]
127+ >>> print_feedback_messages(user_browser.contents)
128+ There is 1 error.
129+ ...
130 A fix for this bug has already been requested for The Foo Project
131
132 Now we'll tell Launchpad to not use the existing upstream as we want to report
133@@ -106,7 +108,7 @@
134 >>> user_browser.getControl('Continue').click()
135 >>> print user_browser.title
136 Register project affected by...
137- >>> print "\n".join(get_feedback_messages(user_browser.contents))
138+ >>> print_feedback_messages(user_browser.contents)
139 There is 1 error.
140 Launchpad does not recognize the bug tracker at this URL.
141
142
143=== modified file 'lib/lp/bugs/stories/bug-also-affects/xx-bug-also-affects.txt'
144--- lib/lp/bugs/stories/bug-also-affects/xx-bug-also-affects.txt 2012-10-09 10:28:02 +0000
145+++ lib/lp/bugs/stories/bug-also-affects/xx-bug-also-affects.txt 2013-09-27 04:45:05 +0000
146@@ -34,10 +34,10 @@
147 >>> browser.url
148 'http://bugs.launchpad.dev/ubuntu/+bug/6/+distrotask'
149
150- >>> print get_feedback_messages(browser.contents)
151- [u'There is 1 error.',
152- u'This bug is already on Ubuntu. Please specify an affected package
153- in which the bug has not yet been reported.']
154+ >>> print_feedback_messages(browser.contents)
155+ There is 1 error.
156+ This bug is already on Ubuntu. Please specify an affected package
157+ in which the bug has not yet been reported.
158
159 You also can't add another task on a distro source package, when there's
160 already a distro task open. (Instead, you should target the existing
161@@ -48,10 +48,10 @@
162 >>> browser.getControl("Distribution").value = ["ubuntu"]
163 >>> browser.getControl("Source Package Name").value = "mozilla-firefox"
164 >>> browser.getControl("Continue").click()
165- >>> print get_feedback_messages(browser.contents)
166- [u'There is 1 error.',
167- u'This bug is already open on Ubuntu with no package specified.
168- You should fill in a package name for the existing bug.']
169+ >>> print_feedback_messages(browser.contents)
170+ There is 1 error.
171+ This bug is already open on Ubuntu with no package specified.
172+ You should fill in a package name for the existing bug.
173
174 Let's assign the existing Ubuntu task to mozilla-firefox, then add
175 another task on Ubuntu evolution.
176@@ -78,10 +78,9 @@
177 >>> browser.getControl(name="ubuntu_mozilla-firefox.target.package"
178 ... ).value = "evolution"
179 >>> browser.getControl("Save Changes").click()
180- >>> print get_feedback_messages(browser.contents)
181- [...There is 1 error in the data you entered...
182- u'A fix for this bug has already been requested for evolution in
183- Ubuntu']
184+ >>> print_feedback_messages(browser.contents)
185+ There is 1 error in the data you entered...
186+ A fix for this bug has already been requested for evolution in Ubuntu
187
188 Now let's add a Debian task to bug 1. Since Debian doesn't use
189 Launchpad, we add a bug watch as well.
190@@ -111,12 +110,12 @@
191 >>> print browser.url
192 http://bugs.launchpad.dev/debian/+source/alsa-utils/+bug/1/+distrotask
193
194- >>> print get_feedback_messages(browser.contents)
195- [u'There is 1 error.',
196- u'Bug watches can not be added for Ubuntu, as it uses Launchpad as
197- its official bug tracker. Alternatives are to add a watch for
198- another project, or a comment containing a URL to the related
199- bug report.']
200+ >>> print_feedback_messages(browser.contents)
201+ There is 1 error.
202+ Bug watches can not be added for Ubuntu, as it uses Launchpad as
203+ its official bug tracker. Alternatives are to add a watch for
204+ another project, or a comment containing a URL to the related
205+ bug report.
206
207 If we remove the remote bug it will work.
208
209@@ -138,10 +137,9 @@
210 >>> print browser.url
211 http://bugs.../ubuntu/+source/mozilla-firefox/+bug/1/+editstatus
212
213- >>> print get_feedback_messages(browser.contents)
214- [...There is 1 error in the data you entered...
215- u'A fix for this bug has already been requested for alsa-utils in
216- Ubuntu']
217+ >>> print_feedback_messages(browser.contents)
218+ There is 1 error in the data you entered...
219+ A fix for this bug has already been requested for alsa-utils in Ubuntu
220
221 >>> browser.getControl(name="ubuntu_mozilla-firefox.target.package"
222 ... ).value = 'pmount'
223@@ -170,8 +168,8 @@
224 >>> print browser.url
225 http://bugs.launchpad.dev/ubuntu/+source/pmount/+bug/1/+distrotask
226
227- >>> print get_feedback_messages(browser.contents)
228- [u"Debian doesn't use Launchpad as its bug tracker. ...]
229+ >>> print_feedback_messages(browser.contents)
230+ Debian doesn't use Launchpad as its bug tracker. ...
231
232 The form is shown as well, so it's possible to easily change the field
233 values, in order to add a bug watch.
234@@ -186,8 +184,8 @@
235 >>> print browser.url
236 http://bugs.launchpad.dev/ubuntu/+source/pmount/+bug/1/+distrotask
237
238- >>> print get_feedback_messages(browser.contents)
239- [u"Debian doesn't use Launchpad as its bug tracker. ...]
240+ >>> print_feedback_messages(browser.contents)
241+ Debian doesn't use Launchpad as its bug tracker. ...
242
243 If we confirm that we indeed want to add an unlinked task, we get
244 redirected to the bug page.
245@@ -235,10 +233,10 @@
246 >>> print browser.url
247 http://bugs.launchpad.dev/proprietary-product/+bug/16/+choose-affected-product
248
249- >>> print get_feedback_messages(browser.contents)
250- [u'There is 1 error.',
251- u'This proprietary bug already affects Proprietary Product.
252- Proprietary bugs cannot affect multiple projects.']
253+ >>> print_feedback_messages(browser.contents)
254+ There is 1 error.
255+ This proprietary bug already affects Proprietary Product.
256+ Proprietary bugs cannot affect multiple projects.
257
258
259 Forwarding bugs upstream
260@@ -350,8 +348,9 @@
261
262 We get a nice error message.
263
264- >>> print get_feedback_messages(user_browser.contents)
265- [u'There is 1 error.', u'Required input is missing.']
266+ >>> print_feedback_messages(user_browser.contents)
267+ There is 1 error.
268+ Required input is missing.
269
270 If we enter a product name that doesn't exist, we inform the user about
271 this and ask him to search for the product.
272@@ -361,9 +360,9 @@
273 >>> print user_browser.url
274 http://.../debian/+source/mozilla-firefox/+bug/3/+choose-affected-product
275
276- >>> print get_feedback_messages(user_browser.contents)
277- [u'There is 1 error.',
278- u'There is no project in Launchpad named "no-such-product"...]
279+ >>> print_feedback_messages(user_browser.contents)
280+ There is 1 error.
281+ There is no project in Launchpad named "no-such-product"...
282
283 >>> search_link = user_browser.getLink('search for it')
284 >>> print search_link.url
285@@ -381,9 +380,9 @@
286 >>> print user_browser.url
287 http://.../debian/+source/mozilla-firefox/+bug/3/+choose-affected-product
288
289- >>> print get_feedback_messages(user_browser.contents)
290- [u'There is 1 error.',
291- u'There is no project in Launchpad named "N\xf6 Such Product&&lt...]
292+ >>> print_feedback_messages(user_browser.contents)
293+ There is 1 error.
294+ There is no project in Launchpad named "N... Such Product&&lt...
295
296
297 Linking to bug watches
298@@ -438,9 +437,9 @@
299
300 We get a nice error message.
301
302- >>> print get_feedback_messages(user_browser.contents)
303- [u'There is 1 error.',
304- u'A fix for this bug has already been requested for alsa-utils']
305+ >>> print_feedback_messages(user_browser.contents)
306+ There is 1 error.
307+ A fix for this bug has already been requested for alsa-utils
308
309 We can add another upstream to the bug.
310
311@@ -463,9 +462,9 @@
312 >>> print user_browser.url
313 http://bugs.launchpad.dev/evolution/+bug/3/+editstatus
314
315- >>> print get_feedback_messages(user_browser.contents)
316- [u'There is 1 error in the data you entered...
317- u'A fix for this bug has already been requested for alsa-utils']
318+ >>> print_feedback_messages(user_browser.contents)
319+ There is 1 error in the data you entered...
320+ A fix for this bug has already been requested for alsa-utils
321
322
323 Adding bugtask with bug watch
324@@ -569,7 +568,8 @@
325 >>> print user_browser.url
326 http://bugs.launchpad.dev/firefox/+bug/4/+choose-affected-product
327
328- >>> print get_feedback_messages(user_browser.contents)[0]
329+ >>> print_feedback_messages(user_browser.contents)
330+ ...
331 The bug tracker with the given URL is not registered in Launchpad.
332 Would you like to register it now?
333
334
335=== modified file 'lib/lp/bugs/stories/bug-also-affects/xx-duplicate-bugwatches.txt'
336--- lib/lp/bugs/stories/bug-also-affects/xx-duplicate-bugwatches.txt 2012-07-10 08:12:53 +0000
337+++ lib/lp/bugs/stories/bug-also-affects/xx-duplicate-bugwatches.txt 2013-09-27 04:45:05 +0000
338@@ -77,8 +77,7 @@
339 ... 'mozilla-firefox')
340 >>> user_browser.getControl('URL').value = debian_bug
341 >>> user_browser.getControl('Continue').click()
342- >>> for message in get_feedback_messages(user_browser.contents):
343- ... print message
344+ >>> print_feedback_messages(user_browser.contents)
345 Bug #8 also links to the added bug watch (debbugs #42).
346
347 The notification links to the bug in question.
348
349=== modified file 'lib/lp/bugs/stories/bugs/xx-bug-comment-attach-file.txt'
350--- lib/lp/bugs/stories/bugs/xx-bug-comment-attach-file.txt 2011-12-29 05:29:36 +0000
351+++ lib/lp/bugs/stories/bugs/xx-bug-comment-attach-file.txt 2013-09-27 04:45:05 +0000
352@@ -20,8 +20,8 @@
353 >>> print user_browser.url
354 http://bugs.launchpad.dev/firefox/+bug/1
355
356- >>> get_feedback_messages(user_browser.contents)
357- [u'Thank you for your comment.']
358+ >>> print_feedback_messages(user_browser.contents)
359+ Thank you for your comment.
360
361 When an attachment is submitted, the comment and description are optional.
362
363@@ -33,8 +33,8 @@
364 ... StringIO("a test file"), "text/plain", "foo.txt")
365 >>> user_browser.getControl("Post Comment").click()
366
367- >>> get_feedback_messages(user_browser.contents)
368- [u'Attachment foo.txt added to bug.']
369+ >>> print_feedback_messages(user_browser.contents)
370+ Attachment foo.txt added to bug.
371
372 A comment and attachment can be submitted in one request.
373
374@@ -50,8 +50,9 @@
375 >>> print user_browser.url
376 http://bugs.launchpad.dev/firefox/+bug/1
377
378- >>> get_feedback_messages(user_browser.contents)
379- [u'Thank you for your comment.', u'Attachment bar.txt added to bug.']
380+ >>> print_feedback_messages(user_browser.contents)
381+ Thank you for your comment.
382+ Attachment bar.txt added to bug.
383
384 You cannot upload an empty attachment.
385
386@@ -64,8 +65,7 @@
387 >>> print user_browser.url
388 http://bugs.launchpad.dev/firefox/+bug/1/+addcomment
389
390- >>> for msg in get_feedback_messages(user_browser.contents):
391- ... print msg
392+ >>> print_feedback_messages(user_browser.contents)
393 There is 1 error.
394 Cannot upload empty file.
395
396@@ -83,8 +83,7 @@
397 ... StringIO("x"*1025), "text/plain", "foo.txt")
398 >>> user_browser.getControl("Post Comment").click()
399
400- >>> for msg in get_feedback_messages(user_browser.contents):
401- ... print msg
402+ >>> print_feedback_messages(user_browser.contents)
403 There is 1 error.
404 Cannot upload files larger than 1024 bytes
405
406@@ -100,5 +99,5 @@
407 >>> print user_browser.url
408 http://bugs.launchpad.dev/firefox/+bug/1
409
410- >>> get_feedback_messages(user_browser.contents)
411- [u'Attachment foo.txt added to bug.']
412+ >>> print_feedback_messages(user_browser.contents)
413+ Attachment foo.txt added to bug.
414
415=== modified file 'lib/lp/bugs/stories/bugs/xx-bug-create-question.txt'
416--- lib/lp/bugs/stories/bugs/xx-bug-create-question.txt 2013-04-11 02:12:09 +0000
417+++ lib/lp/bugs/stories/bugs/xx-bug-create-question.txt 2013-09-27 04:45:05 +0000
418@@ -70,8 +70,7 @@
419 >>> user_browser.open(
420 ... 'http://bugs.launchpad.dev'
421 ... '/ubuntu/+source/linux-source-2.6.15/+bug/10/+editstatus')
422- >>> for message in get_feedback_messages(user_browser.contents):
423- ... print message
424+ >>> print_feedback_messages(user_browser.contents)
425 This bug was converted into a question. It cannot be edited.
426
427 >>> user_browser.getControl('Save Changes')
428@@ -238,8 +237,9 @@
429 >>> user_browser.title
430 'Bug #12 ... : Bugs : Jokosher'
431
432- >>> print "\n".join(get_feedback_messages(user_browser.contents))
433- Removed Question #...: Copy, Cut and Delete operations should work...
434+ >>> print_feedback_messages(user_browser.contents)
435+ Removed Question #...:
436+ Copy, Cut and Delete operations should work...
437
438 >>> portlet = find_portlet(user_browser.contents, 'Related questions')
439 >>> print portlet
440
441=== modified file 'lib/lp/bugs/stories/bugtask-searches/xx-advanced-people-filters.txt'
442--- lib/lp/bugs/stories/bugtask-searches/xx-advanced-people-filters.txt 2012-12-26 07:23:19 +0000
443+++ lib/lp/bugs/stories/bugtask-searches/xx-advanced-people-filters.txt 2013-09-27 04:45:05 +0000
444@@ -56,16 +56,16 @@
445 >>> anon_browser.getControl(name='field.assignee').value = (
446 ... 'invalid-assignee')
447 >>> anon_browser.getControl('Search', index=0).click()
448- >>> get_feedback_messages(anon_browser.contents)
449- [u'There's no person with the name or email address 'invalid-assignee'.']
450+ >>> print_feedback_messages(anon_browser.contents)
451+ There's no person with the name or email address 'invalid-assignee'.
452
453 >>> anon_browser.open(
454 ... 'http://bugs.launchpad.dev/~name12/+reportedbugs?advanced=1')
455 >>> anon_browser.getControl(name='field.assignee').value = (
456 ... 'invalid-assignee')
457 >>> anon_browser.getControl('Search', index=0).click()
458- >>> get_feedback_messages(anon_browser.contents)
459- [u'There's no person with the name or email address 'invalid-assignee'.']
460+ >>> print_feedback_messages(anon_browser.contents)
461+ There's no person with the name or email address 'invalid-assignee'.
462
463
464 Searching by reporter
465@@ -93,16 +93,16 @@
466 >>> anon_browser.getControl(name='field.bug_reporter').value = (
467 ... 'invalid-reporter')
468 >>> anon_browser.getControl('Search', index=0).click()
469- >>> get_feedback_messages(anon_browser.contents)
470- [u'There's no person with the name or email address 'invalid-reporter'.']
471+ >>> print_feedback_messages(anon_browser.contents)
472+ There's no person with the name or email address 'invalid-reporter'.
473
474 >>> anon_browser.open('http://bugs.launchpad.dev/~name12/+assignedbugs')
475 >>> anon_browser.getControl(name='field.bug_reporter').value = (
476 ... 'invalid-reporter')
477 >>> anon_browser.getControl('Search', index=0).click()
478- >>> get_feedback_messages(anon_browser.contents)
479- [u'There's no person with the name or email address
480- 'invalid-reporter'.']
481+ >>> print_feedback_messages(anon_browser.contents)
482+ There's no person with the name or email address
483+ 'invalid-reporter'.
484
485
486 Searching for a bug commenter's bugs
487@@ -208,8 +208,7 @@
488
489 >>> browser.getControl('Further information').value = 'Test Bug 1'
490 >>> browser.getControl('Submit').click()
491- >>> for message in get_feedback_messages(browser.contents):
492- ... print extract_text(message)
493+ >>> print_feedback_messages(browser.contents)
494 Thank you for your bug report...
495
496 >>> bug_1_url = browser.url
497@@ -219,8 +218,7 @@
498 >>> browser.getControl('Continue').click()
499 >>> browser.getControl('Further information').value = 'Test Bug 2'
500 >>> browser.getControl('Submit').click()
501- >>> for message in get_feedback_messages(browser.contents):
502- ... print extract_text(message)
503+ >>> print_feedback_messages(browser.contents)
504 Thank you for your bug report...
505
506 >>> bug_2_url = browser.url
507@@ -234,8 +232,7 @@
508
509 >>> browser.getControl('Person').value = subscriber
510 >>> browser.getControl('Subscribe user').click()
511- >>> for message in get_feedback_messages(browser.contents):
512- ... print extract_text(message)
513+ >>> print_feedback_messages(browser.contents)
514 No Privileges Person has been subscribed to this bug...
515
516 Now if we repeat our earlier search for bugs our user is subscribed to,
517@@ -258,8 +255,7 @@
518
519 >>> browser.getControl('Person').value = subscriber
520 >>> browser.getControl('Subscribe user').click()
521- >>> for message in get_feedback_messages(browser.contents):
522- ... print extract_text(message)
523+ >>> print_feedback_messages(browser.contents)
524 No Privileges Person has been subscribed to this bug...
525
526 Finally, if we repeat our earlier search for bugs our user is subscribed
527
528=== modified file 'lib/lp/bugs/stories/bugtracker/xx-bugtracker.txt'
529--- lib/lp/bugs/stories/bugtracker/xx-bugtracker.txt 2013-05-09 08:53:01 +0000
530+++ lib/lp/bugs/stories/bugtracker/xx-bugtracker.txt 2013-09-27 04:45:05 +0000
531@@ -217,8 +217,7 @@
532 >>> user_browser.url
533 'http://bugs.launchpad.dev/bugs/bugtrackers/testmantis/+edit'
534
535- >>> for message in get_feedback_messages(user_browser.contents):
536- ... print message
537+ >>> print_feedback_messages(user_browser.contents)
538 There is 1 error.
539 http://bugzilla.mozilla.org/ is already registered in Launchpad
540 as "The Mozilla.org Bug Tracker" (mozilla.org).
541@@ -230,8 +229,7 @@
542 ... 'what? my wife does this stuff')
543 >>> user_browser.getControl('Change').click()
544
545- >>> for message in get_feedback_messages(user_browser.contents):
546- ... print message
547+ >>> print_feedback_messages(user_browser.contents)
548 There is 1 error.
549 "what? my wife does this stuff" is not a valid URI
550
551@@ -239,8 +237,7 @@
552 ... 'http://ξνεr.been.fishing?')
553 >>> user_browser.getControl('Change').click()
554
555- >>> for message in get_feedback_messages(user_browser.contents):
556- ... print message
557+ >>> print_feedback_messages(user_browser.contents)
558 There is 1 error.
559 URIs must consist of ASCII characters
560
561@@ -323,8 +320,7 @@
562 ... 'http://bugzilla.mozilla.org/')
563 >>> user_browser.getControl('Change').click()
564
565- >>> for message in get_feedback_messages(user_browser.contents):
566- ... print message
567+ >>> print_feedback_messages(user_browser.contents)
568 There is 1 error.
569 http://bugzilla.mozilla.org/ is already registered in Launchpad
570 as "The Mozilla.org Bug Tracker" (mozilla.org).
571@@ -356,8 +352,7 @@
572 ... 'ξνεr been http://fishing?')
573 >>> user_browser.getControl('Change').click()
574
575- >>> for message in get_feedback_messages(user_browser.contents):
576- ... print message
577+ >>> print_feedback_messages(user_browser.contents)
578 There is 1 error.
579 URIs must consist of ASCII characters
580 "been" is not a valid URI
581@@ -389,8 +384,7 @@
582 >>> user_browser.url
583 'http://bugs.launchpad.dev/bugs/bugtrackers'
584
585- >>> for message in get_feedback_messages(user_browser.contents):
586- ... print message
587+ >>> print_feedback_messages(user_browser.contents)
588 Freddy's Bugs has been deleted.
589
590 Bug trackers can be deleted by anyone, subject to a few restrictions:
591@@ -513,8 +507,7 @@
592 disabled.
593
594 >>> user_browser.open('http://launchpad.dev/bugs/15')
595- >>> for message in get_feedback_messages(user_browser.contents):
596- ... print message
597+ >>> print_feedback_messages(user_browser.contents)
598 Bug watch updates for Debian Bug tracker are disabled.
599
600 Inactive bug trackers are displayed in a separate table from the active
601@@ -548,8 +541,7 @@
602 The message won't appear on the bug pages either.
603
604 >>> user_browser.open('http://launchpad.dev/bugs/15')
605- >>> for message in get_feedback_messages(user_browser.contents):
606- ... print message
607+ >>> print_feedback_messages(user_browser.contents)
608
609 And the inactive bug trackers table will have disappeared since there
610 are no inactive bug trackers.
611
612=== modified file 'lib/lp/bugs/stories/guided-filebug/xx-distro-guided-filebug.txt'
613--- lib/lp/bugs/stories/guided-filebug/xx-distro-guided-filebug.txt 2011-04-20 14:56:23 +0000
614+++ lib/lp/bugs/stories/guided-filebug/xx-distro-guided-filebug.txt 2013-09-27 04:45:05 +0000
615@@ -31,8 +31,7 @@
616 >>> print user_browser.url
617 http://bugs.launchpad.dev/thunderbird/+bug/9
618
619- >>> for message in get_feedback_messages(user_browser.contents):
620- ... print message
621+ >>> print_feedback_messages(user_browser.contents)
622 This bug has been marked as affecting you.
623
624 Actually, on reflection, that's not our bug after all. Let's go
625
626=== modified file 'lib/lp/bugs/stories/guided-filebug/xx-filebug-attachments.txt'
627--- lib/lp/bugs/stories/guided-filebug/xx-filebug-attachments.txt 2013-04-11 01:27:33 +0000
628+++ lib/lp/bugs/stories/guided-filebug/xx-filebug-attachments.txt 2013-09-27 04:45:05 +0000
629@@ -35,8 +35,7 @@
630 No Privileges Person sees a notice on the bug page stating that the file
631 was attached.
632
633- >>> for message in get_feedback_messages(user_browser.contents):
634- ... print message
635+ >>> print_feedback_messages(user_browser.contents)
636 Thank you for your bug report.
637 The file "example.txt" was attached to the bug report.
638
639
640=== modified file 'lib/lp/bugs/stories/guided-filebug/xx-product-guided-filebug.txt'
641--- lib/lp/bugs/stories/guided-filebug/xx-product-guided-filebug.txt 2012-08-02 07:02:18 +0000
642+++ lib/lp/bugs/stories/guided-filebug/xx-product-guided-filebug.txt 2013-09-27 04:45:05 +0000
643@@ -107,8 +107,7 @@
644 >>> print user_browser.url
645 http://bugs.launchpad.dev/firefox/+bug/1
646
647- >>> for message in get_feedback_messages(user_browser.contents):
648- ... print message
649+ >>> print_feedback_messages(user_browser.contents)
650 This bug has been marked as affecting you.
651
652 It's also possible to subscribe to the suggested duplicates. This is
653@@ -128,8 +127,7 @@
654 >>> user_browser.getControl(
655 ... "Yes, this is the bug I'm trying to report").click()
656
657- >>> for message in get_feedback_messages(user_browser.contents):
658- ... print message
659+ >>> print_feedback_messages(user_browser.contents)
660 This bug is already marked as affecting you.
661 You have subscribed to this bug report.
662
663
664=== modified file 'lib/lp/code/stories/branches/xx-branch-deletion.txt'
665--- lib/lp/code/stories/branches/xx-branch-deletion.txt 2012-04-10 14:01:17 +0000
666+++ lib/lp/code/stories/branches/xx-branch-deletion.txt 2013-09-27 04:45:05 +0000
667@@ -49,8 +49,7 @@
668 >>> browser.getControl('Delete').click()
669 >>> print browser.url
670 http://code.launchpad.dev/earthlynx
671- >>> for message in get_feedback_messages(browser.contents):
672- ... print message
673+ >>> print_feedback_messages(browser.contents)
674 Branch ~alice/earthlynx/to-delete deleted...
675
676 If the branch is junk, then the user is taken back to the code listing for
677@@ -65,8 +64,7 @@
678 >>> browser.getControl('Delete').click()
679 >>> print browser.url
680 http://code.launchpad.dev/~alice
681- >>> for message in get_feedback_messages(browser.contents):
682- ... print message
683+ >>> print_feedback_messages(browser.contents)
684 Branch ~alice/+junk/to-delete deleted...
685
686 Branches that are stacked upon cannot be deleted.
687@@ -105,6 +103,5 @@
688 >>> browser.open(branch_url)
689 >>> browser.getLink('Delete branch').click()
690 >>> browser.getControl('Delete').click()
691- >>> for message in get_feedback_messages(browser.contents):
692- ... print message
693+ >>> print_feedback_messages(browser.contents)
694 Branch ... deleted...
695
696=== modified file 'lib/lp/code/stories/branches/xx-branch-edit.txt'
697--- lib/lp/code/stories/branches/xx-branch-edit.txt 2012-06-16 13:27:45 +0000
698+++ lib/lp/code/stories/branches/xx-branch-edit.txt 2013-09-27 04:45:05 +0000
699@@ -175,8 +175,7 @@
700 >>> browser.url
701 'http://code.launchpad.dev/%7Ename12/gnome-terminal/main/+edit'
702
703- >>> for msg in get_feedback_messages(browser.contents):
704- ... print msg
705+ >>> print_feedback_messages(browser.contents)
706 There is 1 error.
707 You already have a branch for GNOME Terminal called 2.6.
708
709@@ -192,8 +191,7 @@
710 ... 'http://bazaar.launchpad.dev/~foo/bar/baz')
711 >>> browser.getControl('Change Branch').click()
712
713- >>> for message in get_feedback_messages(browser.contents):
714- ... print message
715+ >>> print_feedback_messages(browser.contents)
716 There is 1 error.
717 For Launchpad to mirror a branch, the original branch cannot be
718 on launchpad.dev.
719@@ -298,8 +296,7 @@
720
721 When the owner is changed a notification is shown.
722
723- >>> for message in get_feedback_messages(browser.contents):
724- ... print extract_text(message)
725+ >>> print_feedback_messages(browser.contents)
726 The branch owner has been changed to Landscape Developers ...
727
728
729
730=== modified file 'lib/lp/code/stories/branches/xx-bug-branch-links.txt'
731--- lib/lp/code/stories/branches/xx-bug-branch-links.txt 2012-08-07 07:07:02 +0000
732+++ lib/lp/code/stories/branches/xx-bug-branch-links.txt 2013-09-27 04:45:05 +0000
733@@ -65,8 +65,7 @@
734 >>> browser.getLink('Link a bug report').click()
735 >>> browser.getControl('Bug #').value = "4"
736 >>> browser.getControl('Continue').click()
737- >>> for message in get_feedback_messages(browser.contents):
738- ... print message
739+ >>> print_feedback_messages(browser.contents)
740
741 The bug-branch link is also shown on the bug page.
742
743
744=== modified file 'lib/lp/code/stories/branches/xx-subscribing-branches.txt'
745--- lib/lp/code/stories/branches/xx-subscribing-branches.txt 2013-04-11 02:12:09 +0000
746+++ lib/lp/code/stories/branches/xx-subscribing-branches.txt 2013-09-27 04:45:05 +0000
747@@ -166,8 +166,7 @@
748 ... '5000 lines']
749 >>> browser.getControl('Subscribe').click()
750
751- >>> for message in get_feedback_messages(browser.contents):
752- ... print extract_text(message)
753+ >>> print_feedback_messages(browser.contents)
754 There is 1 error.
755 Required input is missing.
756
757
758=== modified file 'lib/lp/code/stories/branches/xx-upgrading-branches.txt'
759--- lib/lp/code/stories/branches/xx-upgrading-branches.txt 2012-01-15 13:32:27 +0000
760+++ lib/lp/code/stories/branches/xx-upgrading-branches.txt 2013-09-27 04:45:05 +0000
761@@ -43,6 +43,5 @@
762 http://code.launchpad.dev/~domino/.../+upgrade
763 >>> domino_browser.getControl('Upgrade').click()
764
765- >>> for msg in get_feedback_messages(domino_browser.contents):
766- ... print msg
767+ >>> print_feedback_messages(domino_browser.contents)
768 An upgrade of this branch is in progress.
769
770=== modified file 'lib/lp/code/stories/codeimport/xx-admin-codeimport.txt'
771--- lib/lp/code/stories/codeimport/xx-admin-codeimport.txt 2012-10-09 01:07:52 +0000
772+++ lib/lp/code/stories/codeimport/xx-admin-codeimport.txt 2013-09-27 04:45:05 +0000
773@@ -124,8 +124,7 @@
774 >>> import_browser.getControl('URL').value = \
775 ... 'svn://user:password@svn-new.example.com/fooix/trunk'
776 >>> import_browser.getControl('Update').click()
777- >>> for message in get_feedback_messages(import_browser.contents):
778- ... print extract_text(message)
779+ >>> print_feedback_messages(import_browser.contents)
780 The code import has been updated.
781
782 bzr-svn imports,
783@@ -134,8 +133,7 @@
784 >>> import_browser.getControl('URL').value = \
785 ... 'svn://user:password@svn-new.example.com/bzr-svn/trunk'
786 >>> import_browser.getControl('Update').click()
787- >>> for message in get_feedback_messages(import_browser.contents):
788- ... print extract_text(message)
789+ >>> print_feedback_messages(import_browser.contents)
790 The code import has been updated.
791
792 CVS imports,
793@@ -146,8 +144,7 @@
794 >>> import_browser.getControl('Module').value = \
795 ... 'fooix2'
796 >>> import_browser.getControl('Update').click()
797- >>> for message in get_feedback_messages(import_browser.contents):
798- ... print extract_text(message)
799+ >>> print_feedback_messages(import_browser.contents)
800 The code import has been updated.
801
802 Git imports,
803@@ -156,8 +153,7 @@
804 >>> import_browser.getControl('URL').value = \
805 ... 'git://user:password@git-new.example.org/fooix'
806 >>> import_browser.getControl('Update').click()
807- >>> for message in get_feedback_messages(import_browser.contents):
808- ... print extract_text(message)
809+ >>> print_feedback_messages(import_browser.contents)
810 The code import has been updated.
811
812 and imports targetting source packages.
813@@ -166,8 +162,7 @@
814 >>> import_browser.getControl('URL').value = \
815 ... 'http://metal.example.org/zap'
816 >>> import_browser.getControl('Update').click()
817- >>> for message in get_feedback_messages(import_browser.contents):
818- ... print extract_text(message)
819+ >>> print_feedback_messages(import_browser.contents)
820 The code import has been updated.
821
822
823@@ -179,8 +174,7 @@
824 >>> print_import_details(import_browser)
825 Import Status: Invalid
826 ...
827- >>> for message in get_feedback_messages(import_browser.contents):
828- ... print extract_text(message)
829+ >>> print_feedback_messages(import_browser.contents)
830 The code import has been set as invalid.
831
832
833@@ -192,8 +186,7 @@
834 >>> print_import_details(import_browser)
835 Import Status: Suspended
836 ...
837- >>> for message in get_feedback_messages(import_browser.contents):
838- ... print extract_text(message)
839+ >>> print_feedback_messages(import_browser.contents)
840 The code import has been suspended.
841
842
843@@ -205,8 +198,7 @@
844 >>> print_import_details(import_browser)
845 Import Status: Failed
846 ...
847- >>> for message in get_feedback_messages(import_browser.contents):
848- ... print extract_text(message)
849+ >>> print_feedback_messages(import_browser.contents)
850 The code import has been marked as failing.
851
852
853@@ -307,8 +299,7 @@
854 displayed.
855
856 >>> sample_person_browser.getControl('Import Now').click()
857- >>> for msg in get_feedback_messages(sample_person_browser.contents):
858- ... print msg
859+ >>> print_feedback_messages(sample_person_browser.contents)
860 Import will run as soon as possible.
861 >>> print_import_details(sample_person_browser)
862 Import Status: Reviewed
863
864=== modified file 'lib/lp/code/stories/codeimport/xx-create-codeimport.txt'
865--- lib/lp/code/stories/codeimport/xx-create-codeimport.txt 2012-11-07 05:06:18 +0000
866+++ lib/lp/code/stories/codeimport/xx-create-codeimport.txt 2013-09-27 04:45:05 +0000
867@@ -106,8 +106,7 @@
868 ... "http://bazaar.launchpad.net/firefox/trunk")
869 >>> browser.getControl('Project').value = "firefox"
870 >>> browser.getControl('Request Import').click()
871- >>> for message in get_feedback_messages(browser.contents):
872- ... print extract_text(message)
873+ >>> print_feedback_messages(browser.contents)
874 There is 1 error.
875 You can not create imports for branches that are hosted by Launchpad.
876
877@@ -224,8 +223,7 @@
878 >>> browser.getControl('Module').value = "firefox"
879 >>> browser.getControl('Request Import').click()
880
881- >>> for message in get_feedback_messages(browser.contents):
882- ... print extract_text(message)
883+ >>> print_feedback_messages(browser.contents)
884 There is 1 error.
885 CVS root is invalid.
886
887@@ -248,8 +246,7 @@
888 >>> browser.getControl('Module').value = "firefox"
889 >>> browser.getControl('Request Import').click()
890
891- >>> for message in get_feedback_messages(browser.contents):
892- ... print extract_text(message)
893+ >>> print_feedback_messages(browser.contents)
894 There is 1 error.
895 Those CVS details are already specified for
896 the imported branch ~no-priv/firefox/import2.
897@@ -259,8 +256,7 @@
898 ... "http://svn.example.com/firefox/trunk")
899 >>> browser.getControl('Request Import').click()
900
901- >>> for message in get_feedback_messages(browser.contents):
902- ... print extract_text(message)
903+ >>> print_feedback_messages(browser.contents)
904 There is 1 error.
905 This foreign branch URL is already specified for
906 the imported branch ~no-priv/firefox/imported.
907@@ -281,8 +277,7 @@
908 >>> browser.getControl('Branch URL', index=1).value = (
909 ... "http://svn.example.com/firefox/other")
910 >>> browser.getControl('Request Import').click()
911- >>> for message in get_feedback_messages(browser.contents):
912- ... print extract_text(message)
913+ >>> print_feedback_messages(browser.contents)
914 There is 1 error.
915 There is already an existing import for firefox with the name of imported.
916
917@@ -299,8 +294,7 @@
918 >>> browser.getControl('Branch URL', index=0).value = (
919 ... "http://svn.example.com/launchpage/fake")
920 >>> browser.getControl('Request Import').click()
921- >>> for message in get_feedback_messages(browser.contents):
922- ... print extract_text(message)
923+ >>> print_feedback_messages(browser.contents)
924 There is 1 error.
925 You are not allowed to register imports for Launchpad.
926
927@@ -317,8 +311,7 @@
928 >>> browser.getControl('Branch URL', index=0).value = (
929 ... "http://svn.example.com/launchpage/fake")
930 >>> browser.getControl('Request Import').click()
931- >>> for message in get_feedback_messages(browser.contents):
932- ... print extract_text(message)
933+ >>> print_feedback_messages(browser.contents)
934 There is 1 error.
935 Invalid value
936
937
938=== modified file 'lib/lp/code/stories/codeimport/xx-edit-codeimport.txt'
939--- lib/lp/code/stories/codeimport/xx-edit-codeimport.txt 2012-01-15 13:32:27 +0000
940+++ lib/lp/code/stories/codeimport/xx-edit-codeimport.txt 2013-09-27 04:45:05 +0000
941@@ -136,8 +136,7 @@
942 displayed.
943
944 >>> sample_person_browser.getControl('Import Now').click()
945- >>> for msg in get_feedback_messages(sample_person_browser.contents):
946- ... print msg
947+ >>> print_feedback_messages(sample_person_browser.contents)
948 Import will run as soon as possible.
949 >>> print_import_details(sample_person_browser)
950 Import Status: Reviewed
951
952=== modified file 'lib/lp/coop/answersbugs/stories/question-buglink.txt'
953--- lib/lp/coop/answersbugs/stories/question-buglink.txt 2011-12-30 06:14:56 +0000
954+++ lib/lp/coop/answersbugs/stories/question-buglink.txt 2013-09-27 04:45:05 +0000
955@@ -58,8 +58,7 @@
956
957 A notification is also displayed.
958
959- >>> for message in get_feedback_messages(user_browser.contents):
960- ... print message
961+ >>> print_feedback_messages(user_browser.contents)
962 Added link to bug #1: ...Firefox does not support SVG...
963
964
965@@ -151,8 +150,7 @@
966 >>> browser.open('http://launchpad.dev/firefox/+question/2')
967 >>> browser.getLink('Remove bug link').click()
968 >>> soup = find_main_content(browser.contents)
969- >>> for message in get_feedback_messages(browser.contents):
970- ... print message
971+ >>> print_feedback_messages(browser.contents)
972 There are no links that you are allowed to remove.
973
974 >>> admin_browser.getLink('Remove bug link').click()
975
976=== modified file 'lib/lp/registry/stories/gpg-coc/xx-gpg-coc.txt'
977--- lib/lp/registry/stories/gpg-coc/xx-gpg-coc.txt 2013-04-11 01:27:33 +0000
978+++ lib/lp/registry/stories/gpg-coc/xx-gpg-coc.txt 2013-09-27 04:45:05 +0000
979@@ -41,8 +41,7 @@
980 >>> key = "A419AE861E88BC9E04B9C26FBA2B9389DFD20543"
981 >>> browser.getControl(name='fingerprint').value = key
982 >>> browser.getControl(name='import').click()
983- >>> for message in get_feedback_messages(browser.contents):
984- ... print message
985+ >>> print_feedback_messages(browser.contents)
986 A message has been sent to test@canonical.com, encrypted
987 with the key 1024D/DFD20543.
988 To confirm the key is yours, decrypt the message and follow the
989@@ -130,8 +129,7 @@
990
991 >>> browser.url
992 'http://launchpad.dev/~name12'
993- >>> for message in get_feedback_messages(browser.contents):
994- ... print message
995+ >>> print_feedback_messages(browser.contents)
996 The key 1024D/DFD20543 was successfully validated.
997
998 Certify the key is imported:
999@@ -165,8 +163,7 @@
1000 >>> fingerprint = "447DBF38C4F9C4ED752246B77D88913717B05A8F"
1001 >>> browser.getControl(name='fingerprint').value = fingerprint
1002 >>> browser.getControl(name='import').click()
1003- >>> for message in get_feedback_messages(browser.contents):
1004- ... print message
1005+ >>> print_feedback_messages(browser.contents)
1006 A message has been sent to test@canonical.com. To
1007 confirm the key 1024D/17B05A8F is yours, follow
1008 the link inside.
1009@@ -239,8 +236,7 @@
1010 >>> browser.getControl('Continue').click()
1011 >>> browser.title
1012 'Confirm sign-only OpenPGP key'
1013- >>> for message in get_feedback_messages(browser.contents):
1014- ... print message
1015+ >>> print_feedback_messages(browser.contents)
1016 There is 1 error.
1017 Required input is missing.
1018
1019@@ -255,8 +251,7 @@
1020
1021 >>> browser.getControl('Signed text').value = bad
1022 >>> browser.getControl('Continue').click()
1023- >>> for message in get_feedback_messages(browser.contents):
1024- ... print message
1025+ >>> print_feedback_messages(browser.contents)
1026 There is 1 error.
1027 The signed content does not match the message found in the email.
1028
1029@@ -279,8 +274,7 @@
1030 ... """
1031 >>> browser.getControl('Signed text').value = signed_content
1032 >>> browser.getControl('Continue').click()
1033- >>> for message in get_feedback_messages(browser.contents):
1034- ... print message
1035+ >>> print_feedback_messages(browser.contents)
1036 There is 1 error.
1037 The key used to sign the content (A419AE861E88BC9E04B9C26FBA2B9389DFD20543)
1038 is not the key you were registering
1039@@ -297,8 +291,7 @@
1040 >>> browser.getControl('Continue').click()
1041 >>> browser.url
1042 'http://launchpad.dev/~name12'
1043- >>> for message in get_feedback_messages(browser.contents):
1044- ... print message
1045+ >>> print_feedback_messages(browser.contents)
1046 The key 1024D/17B05A8F was successfully validated.
1047
1048 Now that the key has been validated, the login token is consumed:
1049@@ -320,8 +313,7 @@
1050 >>> browser.getControl(name="DEACTIVATE_GPGKEY").value = ['3']
1051 >>> browser.getControl('Deactivate Key').click()
1052
1053- >>> for message in get_feedback_messages(browser.contents):
1054- ... print message
1055+ >>> print_feedback_messages(browser.contents)
1056 Deactivated key(s): 1024D/17B05A8F
1057
1058 Coming to his senses, he asks for a re-validation of the key.
1059@@ -329,8 +321,7 @@
1060 >>> browser.getControl(name="REACTIVATE_GPGKEY").value = ['3']
1061 >>> browser.getControl('Reactivate Key').click()
1062
1063- >>> for message in get_feedback_messages(browser.contents):
1064- ... print message
1065+ >>> print_feedback_messages(browser.contents)
1066 A message has been sent to test@canonical.com with instructions
1067 to reactivate these key(s): 1024D/17B05A8F
1068
1069
1070=== modified file 'lib/lp/registry/stories/mailinglists/hosted-email-address.txt'
1071--- lib/lp/registry/stories/mailinglists/hosted-email-address.txt 2011-12-22 05:09:10 +0000
1072+++ lib/lp/registry/stories/mailinglists/hosted-email-address.txt 2013-09-27 04:45:05 +0000
1073@@ -40,8 +40,7 @@
1074 >>> user_browser.getControl('Change').click()
1075 >>> print user_browser.title
1076 Aardvarks in Launchpad
1077- >>> for msg in get_feedback_messages(user_browser.contents):
1078- ... print msg
1079+ >>> print_feedback_messages(user_browser.contents)
1080 A confirmation message has been sent to...
1081 >>> from_addr, to_addrs, raw_msg = stub.test_emails.pop()
1082 >>> stub.test_emails
1083@@ -65,8 +64,7 @@
1084 >>> user_browser.getControl('Continue').click()
1085 >>> print user_browser.title
1086 Aardvarks in Launchpad
1087- >>> for msg in get_feedback_messages(user_browser.contents):
1088- ... print msg
1089+ >>> print_feedback_messages(user_browser.contents)
1090 Email address successfully confirmed.
1091
1092 >>> user_browser.getLink(url="+contactaddress").click()
1093
1094=== modified file 'lib/lp/registry/stories/mailinglists/lifecycle.txt'
1095--- lib/lp/registry/stories/mailinglists/lifecycle.txt 2012-01-15 11:06:57 +0000
1096+++ lib/lp/registry/stories/mailinglists/lifecycle.txt 2013-09-27 04:45:05 +0000
1097@@ -29,8 +29,7 @@
1098 >>> browser.getControl('Create new Mailing List').click()
1099 >>> print browser.title
1100 Landscape Developers in Launchpad
1101- >>> for msg in get_feedback_messages(browser.contents):
1102- ... print msg
1103+ >>> print_feedback_messages(browser.contents)
1104 The mailing list is being created and will be available for use in a few minutes.
1105
1106 Once the mailing list is created, the button to create it is not shown
1107@@ -187,8 +186,7 @@
1108 >>> browser.getControl('Reactivate this Mailing List').click()
1109 >>> mailing_list_status_message(browser.contents)
1110 ''
1111- >>> for msg in get_feedback_messages(browser.contents):
1112- ... print msg
1113+ >>> print_feedback_messages(browser.contents)
1114 The mailing list will be reactivated within a few minutes.
1115 >>> act()
1116 >>> transaction.commit()
1117
1118=== modified file 'lib/lp/registry/stories/mailinglists/subscriptions.txt'
1119--- lib/lp/registry/stories/mailinglists/subscriptions.txt 2012-08-13 20:03:00 +0000
1120+++ lib/lp/registry/stories/mailinglists/subscriptions.txt 2013-09-27 04:45:05 +0000
1121@@ -126,8 +126,7 @@
1122 >>> admins.value = ['Preferred address']
1123 >>> carlos_browser.getControl('Update Subscriptions').click()
1124
1125- >>> for msg in get_feedback_messages(carlos_browser.contents):
1126- ... print msg
1127+ >>> print_feedback_messages(carlos_browser.contents)
1128 Subscriptions updated.
1129
1130 >>> admins = carlos_browser.getControl(name='field.subscription.admins')
1131@@ -354,8 +353,8 @@
1132 Clicking the link will unsubscribe you from the list immediately.
1133
1134 >>> carlos_browser.getControl('Unsubscribe').click()
1135- >>> print get_feedback_messages(carlos_browser.contents)
1136- [u'You have been unsubscribed from the team mailing list.']
1137+ >>> print_feedback_messages(carlos_browser.contents)
1138+ You have been unsubscribed from the team mailing list.
1139
1140 >>> carlos_browser.open('http://launchpad.dev/~rosetta-admins')
1141 >>> print extract_text(
1142@@ -504,8 +503,8 @@
1143 (*) Always subscribe me to mailing lists
1144
1145 # We only need to check this once.
1146- >>> get_feedback_messages(carlos_browser.contents)
1147- [u'Your auto-subscribe policy has been updated.']
1148+ >>> print_feedback_messages(carlos_browser.contents)
1149+ Your auto-subscribe policy has been updated.
1150
1151 >>> set_autosubscribe_policy_and_submit('NEVER', carlos_browser)
1152 (*) Never subscribe to mailing lists
1153
1154=== modified file 'lib/lp/registry/stories/milestone/object-milestones.txt'
1155--- lib/lp/registry/stories/milestone/object-milestones.txt 2012-10-18 15:35:05 +0000
1156+++ lib/lp/registry/stories/milestone/object-milestones.txt 2013-09-27 04:45:05 +0000
1157@@ -207,8 +207,7 @@
1158
1159 >>> browser.getControl('Further information').value = 'Test Bug 1'
1160 >>> browser.getControl('Submit').click()
1161- >>> for message in get_feedback_messages(browser.contents):
1162- ... print extract_text(message)
1163+ >>> print_feedback_messages(browser.contents)
1164 Thank you for your bug report...
1165
1166 >>> bug_1_url = browser.url
1167@@ -220,8 +219,7 @@
1168
1169 >>> browser.getControl('Further information').value = 'Test Bug 2'
1170 >>> browser.getControl('Submit').click()
1171- >>> for message in get_feedback_messages(browser.contents):
1172- ... print extract_text(message)
1173+ >>> print_feedback_messages(browser.contents)
1174 Thank you for your bug report...
1175
1176 >>> bug_2_url = browser.url
1177
1178=== modified file 'lib/lp/registry/stories/milestone/xx-milestone-add-and-edit.txt'
1179--- lib/lp/registry/stories/milestone/xx-milestone-add-and-edit.txt 2012-06-11 00:03:25 +0000
1180+++ lib/lp/registry/stories/milestone/xx-milestone-add-and-edit.txt 2013-09-27 04:45:05 +0000
1181@@ -133,8 +133,7 @@
1182 >>> print driver_browser.title
1183 Series trunk : Mozilla Firefox
1184
1185- >>> for message in get_feedback_messages(driver_browser.contents):
1186- ... print message
1187+ >>> print_feedback_messages(driver_browser.contents)
1188 Milestone 0.9.2 deleted.
1189 >>> print extract_text(find_tag_by_id(
1190 ... driver_browser.contents, 'series-trunk'))
1191
1192=== modified file 'lib/lp/registry/stories/object/xx-nameblacklist.txt'
1193--- lib/lp/registry/stories/object/xx-nameblacklist.txt 2012-12-10 13:43:47 +0000
1194+++ lib/lp/registry/stories/object/xx-nameblacklist.txt 2013-09-27 04:45:05 +0000
1195@@ -56,7 +56,6 @@
1196 >>> admin_browser.getControl('Display Name').value = 'Different'
1197 >>> admin_browser.getControl('Save').click()
1198
1199- >>> print get_feedback_messages(admin_browser.contents)
1200- []
1201+ >>> print_feedback_messages(admin_browser.contents)
1202 >>> "has been blocked" in admin_browser.contents
1203 False
1204
1205=== modified file 'lib/lp/registry/stories/person/xx-add-sshkey.txt'
1206--- lib/lp/registry/stories/person/xx-add-sshkey.txt 2012-08-16 15:50:35 +0000
1207+++ lib/lp/registry/stories/person/xx-add-sshkey.txt 2013-09-27 04:45:05 +0000
1208@@ -183,11 +183,11 @@
1209 >>> browser.open('http://launchpad.dev/~salgado/+editsshkeys')
1210 >>> browser.getControl(name='sshkey').value = compromised_key
1211 >>> browser.getControl('Import Public Key').click()
1212- >>> print get_feedback_messages(browser.contents)
1213- [u'This key is known to be compromised due to a security flaw in the
1214- software used to generate it, so it will not be accepted by Launchpad. See
1215- the full Security Notice for further information and instructions on how
1216- to generate another key.']
1217+ >>> print_feedback_messages(browser.contents)
1218+ This key is known to be compromised due to a security flaw in the
1219+ software used to generate it, so it will not be accepted by Launchpad. See
1220+ the full Security Notice for further information and instructions on how
1221+ to generate another key.
1222
1223
1224 == Keys containing non-ASCII comments ==
1225@@ -198,5 +198,5 @@
1226 >>> key = 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzSc+OzlZaURcX8NK9Hy1VoA1SXXuxFAvLw9ljz6xXEFgodmkSgSE/Pc+nR2fO/hl0rnWi//8oOwkHlwLVPQpor2cjQlceVs9rKaQcrcwRm6Jmi8CYKlEIBq82kpaLwXwK/x5ZsDfFtYUq558C5IKZOnDozthC7REPYK0cQ8gZ4bLf+5hmJ6QO4sSRZcXTZuPvgUixhlazFo6w6GqWbynf29Wp+WkLFGxGF2UE/dI8HyQy2j7ddaLnW50mGfB00B/pYtO246s84097BRUE8XoBC3SvzsZx6IbI3hOd2e834lq6kOj6QI0wu6+GINRCZf5UyNlpJv6X809XBvq68SCgw== St\xc3\xa9phane'
1227 >>> browser.getControl(name='sshkey').value = key
1228 >>> browser.getControl('Import Public Key').click()
1229- >>> print get_feedback_messages(browser.contents)
1230- [u'SSH public key added.']
1231+ >>> print_feedback_messages(browser.contents)
1232+ SSH public key added.
1233
1234=== modified file 'lib/lp/registry/stories/person/xx-adminpeoplemerge.txt'
1235--- lib/lp/registry/stories/person/xx-adminpeoplemerge.txt 2011-04-08 22:39:03 +0000
1236+++ lib/lp/registry/stories/person/xx-adminpeoplemerge.txt 2013-09-27 04:45:05 +0000
1237@@ -26,7 +26,7 @@
1238
1239 >>> admin_browser.url
1240 'http://launchpad.dev/people/+adminpeoplemerge'
1241- >>> print get_feedback_messages(admin_browser.contents)[0]
1242+ >>> print_feedback_messages(admin_browser.contents)
1243 The following email addresses are owned by Andrew Bennetts and are going
1244 to be transferred to Guilherme Salgado: andrew.bennetts@ubuntulinux.com
1245
1246@@ -36,6 +36,6 @@
1247 >>> admin_browser.url
1248 'http://launchpad.dev/~salgado'
1249
1250- >>> print get_feedback_messages(admin_browser.contents)[0]
1251+ >>> print_feedback_messages(admin_browser.contents)
1252 A merge is queued and is expected to complete in a few minutes.
1253
1254
1255=== modified file 'lib/lp/registry/stories/person/xx-deactivate-account.txt'
1256--- lib/lp/registry/stories/person/xx-deactivate-account.txt 2013-03-12 08:18:57 +0000
1257+++ lib/lp/registry/stories/person/xx-deactivate-account.txt 2013-09-27 04:45:05 +0000
1258@@ -39,8 +39,7 @@
1259 >>> browser.getControl('Deactivate My Account').click()
1260 >>> browser.url
1261 'http://launchpad.dev'
1262- >>> for msg in get_feedback_messages(browser.contents):
1263- ... print msg
1264+ >>> print_feedback_messages(browser.contents)
1265 Your account has been deactivated.
1266
1267 >>> from zope.component import getUtility
1268
1269=== modified file 'lib/lp/registry/stories/product/xx-product-edit-sourceforge-project.txt'
1270--- lib/lp/registry/stories/product/xx-product-edit-sourceforge-project.txt 2009-04-17 10:32:16 +0000
1271+++ lib/lp/registry/stories/product/xx-product-edit-sourceforge-project.txt 2013-09-27 04:45:05 +0000
1272@@ -7,8 +7,7 @@
1273 ... admin_browser.getControl('Sourceforge Project').value = name
1274 ... admin_browser.getControl('Change').click()
1275 ... print admin_browser.url
1276- ... for message in get_feedback_messages(admin_browser.contents):
1277- ... print message
1278+ ... print_feedback_messages(admin_browser.contents)
1279
1280 >>> set_sourceforge_project('1234')
1281 http://launchpad.dev/firefox/+edit
1282
1283=== modified file 'lib/lp/registry/stories/product/xx-product-files.txt'
1284--- lib/lp/registry/stories/product/xx-product-files.txt 2013-01-25 06:08:10 +0000
1285+++ lib/lp/registry/stories/product/xx-product-files.txt 2013-09-27 04:45:05 +0000
1286@@ -237,8 +237,8 @@
1287 >>> firefox_owner.getControl(
1288 ... name="field.contenttype").displayValue = ["Installer file"]
1289 >>> firefox_owner.getControl("Upload").click()
1290- >>> get_feedback_messages(firefox_owner.contents)
1291- [u'Your file 'foo.txt' has been uploaded.']
1292+ >>> print_feedback_messages(firefox_owner.contents)
1293+ Your file 'foo.txt' has been uploaded.
1294
1295 A file can be uploaded without a GPG signature.
1296
1297@@ -251,8 +251,8 @@
1298 >>> firefox_owner.getControl(
1299 ... name="field.contenttype").displayValue = ["Installer file"]
1300 >>> firefox_owner.getControl("Upload").click()
1301- >>> get_feedback_messages(firefox_owner.contents)
1302- [u'Your file 'bar.txt' has been uploaded.']
1303+ >>> print_feedback_messages(firefox_owner.contents)
1304+ Your file 'bar.txt' has been uploaded.
1305
1306 The uploaded file is also displayed on the project's downloads page for any
1307 user to see.
1308@@ -281,8 +281,8 @@
1309
1310 >>> checkbox_tag = table.find(attrs={'name': 'checkbox_0'})
1311 >>> admin_browser.getControl("Delete Files").click()
1312- >>> get_feedback_messages(admin_browser.contents)
1313- [u'1 file has been deleted.']
1314+ >>> print_feedback_messages(admin_browser.contents)
1315+ 1 file has been deleted.
1316 >>> table = find_tag_by_id(admin_browser.contents, 'downloads')
1317 >>> for tr in table.findAll('tr'):
1318 ... print extract_text(tr)
1319@@ -314,8 +314,7 @@
1320 >>> firefox_owner.getControl(
1321 ... name="field.contenttype").displayValue = ["Installer file"]
1322 >>> firefox_owner.getControl("Upload").click()
1323- >>> for msg in get_feedback_messages(firefox_owner.contents):
1324- ... print msg
1325+ >>> print_feedback_messages(firefox_owner.contents)
1326 There is 1 error.
1327 Required input is missing.
1328
1329@@ -333,8 +332,7 @@
1330 >>> firefox_owner.getControl(
1331 ... name="field.contenttype").displayValue = ["Installer file"]
1332 >>> firefox_owner.getControl("Upload").click()
1333- >>> for msg in get_feedback_messages(firefox_owner.contents):
1334- ... print msg
1335+ >>> print_feedback_messages(firefox_owner.contents)
1336 There is 1 error.
1337 Cannot upload empty file.
1338
1339@@ -349,8 +347,8 @@
1340 >>> firefox_owner.getControl(
1341 ... name="field.contenttype").displayValue = ["Installer file"]
1342 >>> firefox_owner.getControl("Upload").click()
1343- >>> get_feedback_messages(firefox_owner.contents)
1344- [u'Your file 'foo2.txt' has been uploaded.']
1345+ >>> print_feedback_messages(firefox_owner.contents)
1346+ Your file 'foo2.txt' has been uploaded.
1347
1348 >>> firefox_owner.open('http://launchpad.dev/firefox/1.0/1.0.0')
1349 >>> firefox_owner.getLink('Add download file').click()
1350@@ -361,8 +359,8 @@
1351 >>> firefox_owner.getControl(
1352 ... name="field.contenttype").displayValue = ["Installer file"]
1353 >>> firefox_owner.getControl("Upload").click()
1354- >>> get_feedback_messages(firefox_owner.contents)
1355- [u'Your file 'foo3.txt' has been uploaded.']
1356+ >>> print_feedback_messages(firefox_owner.contents)
1357+ Your file 'foo3.txt' has been uploaded.
1358
1359 Add a file to a different release on the same project.
1360
1361@@ -375,8 +373,8 @@
1362 >>> firefox_owner.getControl(
1363 ... name="field.contenttype").displayValue = ["README File"]
1364 >>> firefox_owner.getControl("Upload").click()
1365- >>> get_feedback_messages(firefox_owner.contents)
1366- [u'Your file 'foo09.txt' has been uploaded.']
1367+ >>> print_feedback_messages(firefox_owner.contents)
1368+ Your file 'foo09.txt' has been uploaded.
1369
1370 Examine all of the available files for download for firefox now. They
1371 are listed within series in reverse chronological order, except
1372@@ -434,8 +432,8 @@
1373 ... name="checkbox_2_1")
1374 >>> checkbox.value = checkbox.options
1375 >>> firefox_owner.getControl("Delete Files").click()
1376- >>> get_feedback_messages(firefox_owner.contents)
1377- [u'1 file has been deleted.']
1378+ >>> print_feedback_messages(firefox_owner.contents)
1379+ 1 file has been deleted.
1380
1381 Ensure the file is no longer listed.
1382
1383@@ -490,5 +488,5 @@
1384 >>> checkbox = firefox_owner.getControl(name="checkbox_0")
1385 >>> checkbox.value = checkbox.options
1386 >>> firefox_owner.getControl('Delete Files').click()
1387- >>> get_feedback_messages(firefox_owner.contents)
1388- [u'1 file has been deleted.']
1389+ >>> print_feedback_messages(firefox_owner.contents)
1390+ 1 file has been deleted.
1391
1392=== modified file 'lib/lp/registry/stories/product/xx-product-index.txt'
1393--- lib/lp/registry/stories/product/xx-product-index.txt 2012-12-07 19:45:34 +0000
1394+++ lib/lp/registry/stories/product/xx-product-index.txt 2013-09-27 04:45:05 +0000
1395@@ -211,8 +211,7 @@
1396 >>> owner_browser.getControl(name='field.voucher').value = [
1397 ... 'LPCBS12-f78df324-0cc2-11dd-8b6b-bac000000005']
1398 >>> owner_browser.getControl('Redeem').click()
1399- >>> for message in get_feedback_messages(owner_browser.contents):
1400- ... print message
1401+ >>> print_feedback_messages(owner_browser.contents)
1402 Voucher redeemed successfully
1403
1404 The owner will now see the expiration information on the project
1405
1406=== modified file 'lib/lp/registry/stories/product/xx-product-package-pages.txt'
1407--- lib/lp/registry/stories/product/xx-product-package-pages.txt 2010-03-03 00:40:03 +0000
1408+++ lib/lp/registry/stories/product/xx-product-package-pages.txt 2013-09-27 04:45:05 +0000
1409@@ -62,8 +62,7 @@
1410 >>> print evo_owner.title
1411 Linked packages...
1412
1413- >>> for message in get_feedback_messages(evo_owner.contents):
1414- ... print message
1415+ >>> print_feedback_messages(evo_owner.contents)
1416 Removed upstream association between Evolution trunk series and Warty.
1417
1418 >>> print extract_text(find_tag_by_id(
1419
1420=== modified file 'lib/lp/registry/stories/productrelease/xx-productrelease-basics.txt'
1421--- lib/lp/registry/stories/productrelease/xx-productrelease-basics.txt 2012-01-15 11:06:57 +0000
1422+++ lib/lp/registry/stories/productrelease/xx-productrelease-basics.txt 2013-09-27 04:45:05 +0000
1423@@ -63,8 +63,8 @@
1424
1425 >>> browser.open(
1426 ... 'http://launchpad.dev/firefox/+milestone/1.0/+addrelease')
1427- >>> print get_feedback_messages(browser.contents)
1428- [u'A project release already exists for this milestone.']
1429+ >>> print_feedback_messages(browser.contents)
1430+ A project release already exists for this milestone.
1431
1432 The milestone deactivation notice is not shown when the user selects the
1433 the "Keep the milestone <name> active" checkbox.
1434@@ -76,11 +76,9 @@
1435 >>> browser.getControl("Date released").value = '2009-01-01'
1436 >>> browser.getControl("Keep the bar milestone active.").selected = True
1437 >>> browser.getControl('Create release').click()
1438- >>> print get_feedback_messages(browser.contents)
1439- []
1440+ >>> print_feedback_messages(browser.contents)
1441 >>> browser.open('http://launchpad.dev/firefox/trunk/bar')
1442- >>> print get_feedback_messages(browser.contents)
1443- []
1444+ >>> print_feedback_messages(browser.contents)
1445
1446
1447 == Checking releases with the same version ==
1448
1449=== modified file 'lib/lp/registry/stories/productrelease/xx-productrelease-delete.txt'
1450--- lib/lp/registry/stories/productrelease/xx-productrelease-delete.txt 2012-01-15 11:06:57 +0000
1451+++ lib/lp/registry/stories/productrelease/xx-productrelease-delete.txt 2013-09-27 04:45:05 +0000
1452@@ -55,8 +55,7 @@
1453 >>> print salgados_browser.title
1454 Series trunk : Mozilla Firefox
1455
1456- >>> for message in get_feedback_messages(salgados_browser.contents):
1457- ... print message
1458+ >>> print_feedback_messages(salgados_browser.contents)
1459 Release 0.9.2 deleted.
1460
1461 Milestone 0.9.2 no longer has a release. The release column explains that
1462
1463=== modified file 'lib/lp/registry/stories/productseries/xx-productseries-delete.txt'
1464--- lib/lp/registry/stories/productseries/xx-productseries-delete.txt 2010-09-24 14:40:08 +0000
1465+++ lib/lp/registry/stories/productseries/xx-productseries-delete.txt 2013-09-27 04:45:05 +0000
1466@@ -88,8 +88,7 @@
1467 >>> print owner_browser.title
1468 Mozilla Firefox in Launchpad
1469
1470- >>> for message in get_feedback_messages(owner_browser.contents):
1471- ... print message
1472+ >>> print_feedback_messages(owner_browser.contents)
1473 Series trunk deleted.
1474
1475 >>> owner_browser.getLink('trunk')
1476
1477=== modified file 'lib/lp/registry/stories/productseries/xx-productseries-set-branch.txt'
1478--- lib/lp/registry/stories/productseries/xx-productseries-set-branch.txt 2012-10-09 01:07:52 +0000
1479+++ lib/lp/registry/stories/productseries/xx-productseries-set-branch.txt 2013-09-27 04:45:05 +0000
1480@@ -38,8 +38,7 @@
1481
1482 >>> browser.getControl(name='field.branch_location').value = branch_name
1483 >>> browser.getControl('Update').click()
1484- >>> for message in get_feedback_messages(browser.contents):
1485- ... print extract_text(message)
1486+ >>> print_feedback_messages(browser.contents)
1487 Series code location updated.
1488 >>> print browser.url
1489 http://launchpad.dev/firefox/trunk
1490@@ -61,8 +60,7 @@
1491 >>> browser.getControl('Branch URL').value = (
1492 ... 'https://bzr.example.com/branch')
1493 >>> browser.getControl('Update').click()
1494- >>> for message in get_feedback_messages(browser.contents):
1495- ... print extract_text(message)
1496+ >>> print_feedback_messages(browser.contents)
1497 Series code location updated.
1498 >>> print browser.url
1499 http://launchpad.dev/firefox/trunk
1500@@ -77,8 +75,7 @@
1501 >>> browser.getControl('Branch URL').value = (
1502 ... 'git://git.example.com/branch')
1503 >>> browser.getControl('Update').click()
1504- >>> for message in get_feedback_messages(browser.contents):
1505- ... print extract_text(message)
1506+ >>> print_feedback_messages(browser.contents)
1507 Code import created and branch linked to the series.
1508 >>> print browser.url
1509 http://launchpad.dev/firefox/trunk
1510@@ -92,8 +89,7 @@
1511 >>> browser.getControl('Branch URL').value = (
1512 ... 'svn://svn.example.com/branch')
1513 >>> browser.getControl('Update').click()
1514- >>> for message in get_feedback_messages(browser.contents):
1515- ... print extract_text(message)
1516+ >>> print_feedback_messages(browser.contents)
1517 Code import created and branch linked to the series.
1518 >>> print browser.url
1519 http://launchpad.dev/firefox/trunk
1520@@ -108,8 +104,7 @@
1521 ... 'http://git.example.com/branch')
1522 >>> browser.getControl('Branch owner').value = ['hwdb-team']
1523 >>> browser.getControl('Update').click()
1524- >>> for message in get_feedback_messages(browser.contents):
1525- ... print extract_text(message)
1526+ >>> print_feedback_messages(browser.contents)
1527 Code import created and branch linked to the series.
1528 >>> print browser.url
1529 http://launchpad.dev/firefox/trunk
1530
1531=== modified file 'lib/lp/registry/stories/project/xx-project-add.txt'
1532--- lib/lp/registry/stories/project/xx-project-add.txt 2012-12-10 13:43:47 +0000
1533+++ lib/lp/registry/stories/project/xx-project-add.txt 2013-09-27 04:45:05 +0000
1534@@ -25,7 +25,7 @@
1535 >>> admin_browser.getControl('Maintainer').value = 'cprov'
1536 >>> admin_browser.getControl('Homepage URL').value = 'www.kde.org'
1537 >>> admin_browser.getControl('Add').click()
1538- >>> print "\n".join(get_feedback_messages(admin_browser.contents))
1539+ >>> print_feedback_messages(admin_browser.contents)
1540 There is 1 error.
1541 &quot;www.kde.org&quot; is not a valid URI
1542
1543@@ -40,13 +40,13 @@
1544 >>> admin_browser.getControl('Maintainer').value = 'cprov'
1545 >>> admin_browser.getControl('Homepage URL').value = 'http://kde.org/'
1546 >>> admin_browser.getControl('Add').click()
1547- >>> print "\n".join(get_feedback_messages(admin_browser.contents))
1548+ >>> print_feedback_messages(admin_browser.contents)
1549 There is 1 error.
1550 Invalid name 'kde!'. Names must...
1551
1552 >>> admin_browser.getControl('Name', index=0).value = 'apache'
1553 >>> admin_browser.getControl('Add').click()
1554- >>> print "\n".join(get_feedback_messages(admin_browser.contents))
1555+ >>> print_feedback_messages(admin_browser.contents)
1556 There is 1 error.
1557 apache is already used by another project
1558
1559
1560=== modified file 'lib/lp/registry/stories/team-polls/create-poll-options.txt'
1561--- lib/lp/registry/stories/team-polls/create-poll-options.txt 2012-01-15 11:06:57 +0000
1562+++ lib/lp/registry/stories/team-polls/create-poll-options.txt 2013-09-27 04:45:05 +0000
1563@@ -55,7 +55,7 @@
1564 >>> team_admin_browser.getControl('Title').value = ''
1565 >>> team_admin_browser.getControl('Create').click()
1566
1567- >>> print "\n".join(get_feedback_messages(team_admin_browser.contents))
1568+ >>> print_feedback_messages(team_admin_browser.contents)
1569 There is 1 error.
1570 Required input is missing.
1571
1572@@ -66,7 +66,7 @@
1573 >>> team_admin_browser.getControl('Title').value = 'Bill Again'
1574 >>> team_admin_browser.getControl('Create').click()
1575
1576- >>> print "\n".join(get_feedback_messages(team_admin_browser.contents))
1577+ >>> print_feedback_messages(team_admin_browser.contents)
1578 There is 1 error.
1579 ...is already in use by another option in this poll.
1580
1581@@ -76,10 +76,10 @@
1582 >>> team_admin_browser.open(
1583 ... 'http://launchpad.dev/~ubuntu-team/+poll/director-2004/+newoption')
1584
1585- >>> "\n".join(get_feedback_messages(team_admin_browser.contents))
1586- u'You can&#8217;t add new options because the poll is already closed.'
1587+ >>> print_feedback_messages(team_admin_browser.contents)
1588+ You can&#8217;t add new options because the poll is already closed.
1589
1590 >>> team_admin_browser.open(
1591 ... 'http://launchpad.dev/~ubuntu-team/+poll/never-closes/+newoption')
1592- >>> "\n".join(get_feedback_messages(team_admin_browser.contents))
1593- u'You can&#8217;t add new options because the poll is already open.'
1594+ >>> print_feedback_messages(team_admin_browser.contents)
1595+ You can&#8217;t add new options because the poll is already open.
1596
1597=== modified file 'lib/lp/registry/stories/team-polls/create-polls.txt'
1598--- lib/lp/registry/stories/team-polls/create-polls.txt 2012-12-10 13:43:47 +0000
1599+++ lib/lp/registry/stories/team-polls/create-polls.txt 2013-09-27 04:45:05 +0000
1600@@ -54,7 +54,7 @@
1601 ... name='field.datecloses').value = '2100-07-04 02:00:00+00:00'
1602 >>> team_admin_browser.getControl('Continue').click()
1603
1604- >>> print "\n".join(get_feedback_messages(team_admin_browser.contents))
1605+ >>> print_feedback_messages(team_admin_browser.contents)
1606 There is 1 error.
1607 Invalid name 'election_2100'. Names must be at least two characters ...
1608
1609@@ -68,7 +68,7 @@
1610 ... name='field.datecloses').value = '2100-06-04 02:00:00+00:00'
1611 >>> team_admin_browser.getControl('Continue').click()
1612
1613- >>> print "\n".join(get_feedback_messages(team_admin_browser.contents))
1614+ >>> print_feedback_messages(team_admin_browser.contents)
1615 There is 1 error.
1616 A poll cannot close at the time (or before) it opens.
1617
1618@@ -147,7 +147,7 @@
1619 ... name='field.datecloses').value = '2035-06-04 02:00:00+00:00'
1620 >>> team_admin_browser.getControl('Continue').click()
1621
1622- >>> print "\n".join(get_feedback_messages(team_admin_browser.contents))
1623+ >>> print_feedback_messages(team_admin_browser.contents)
1624 There is 1 error.
1625 dpl-2080 is already in use by another poll in this team.
1626
1627@@ -160,6 +160,6 @@
1628 >>> today = datetime.today().strftime('%Y-%m-%d')
1629 >>> team_admin_browser.getControl(name='field.dateopens').value = today
1630 >>> team_admin_browser.getControl('Continue').click()
1631- >>> print "\n".join(get_feedback_messages(team_admin_browser.contents))
1632+ >>> print_feedback_messages(team_admin_browser.contents)
1633 There is 1 error.
1634 A poll cannot open less than 12 hours after it&#x27;s created.
1635
1636=== modified file 'lib/lp/registry/stories/team-polls/edit-options.txt'
1637--- lib/lp/registry/stories/team-polls/edit-options.txt 2012-01-15 11:06:57 +0000
1638+++ lib/lp/registry/stories/team-polls/edit-options.txt 2013-09-27 04:45:05 +0000
1639@@ -25,7 +25,7 @@
1640 ... auth='Basic jeff.waugh@ubuntulinux.com:test')
1641 >>> browser.open('http://launchpad.dev/~ubuntu-team/+poll/never-closes4/'
1642 ... '+option/20')
1643- >>> print "\n".join(get_feedback_messages(browser.contents))
1644+ >>> print_feedback_messages(browser.contents)
1645 You can&#8217;t edit any options because the poll is already open.
1646
1647 Since Jeff is an administrator of ubuntu-team and we have a poll that hasn't
1648
1649=== modified file 'lib/lp/registry/stories/team-polls/edit-poll.txt'
1650--- lib/lp/registry/stories/team-polls/edit-poll.txt 2012-01-15 11:06:57 +0000
1651+++ lib/lp/registry/stories/team-polls/edit-poll.txt 2013-09-27 04:45:05 +0000
1652@@ -28,7 +28,7 @@
1653 ... 'The unique name of this poll').value = 'never-closes'
1654 >>> team_admin_browser.getControl('Save').click()
1655
1656- >>> print "\n".join(get_feedback_messages(team_admin_browser.contents))
1657+ >>> print_feedback_messages(team_admin_browser.contents)
1658 There is 1 error.
1659 ...never-closes is already in use by another poll in this team.
1660
1661@@ -43,7 +43,7 @@
1662 ... name='field.datecloses').value = '3000-01-01 00:00:00+00:00'
1663 >>> team_admin_browser.getControl('Save').click()
1664
1665- >>> print "\n".join(get_feedback_messages(team_admin_browser.contents))
1666+ >>> print_feedback_messages(team_admin_browser.contents)
1667 There is 1 error.
1668 A poll cannot close at the time (or before) it opens.
1669
1670
1671=== modified file 'lib/lp/registry/stories/team-polls/vote-poll.txt'
1672--- lib/lp/registry/stories/team-polls/vote-poll.txt 2012-01-15 11:06:57 +0000
1673+++ lib/lp/registry/stories/team-polls/vote-poll.txt 2013-09-27 04:45:05 +0000
1674@@ -162,6 +162,5 @@
1675
1676 >>> team_admin_browser.open(
1677 ... 'http://launchpad.dev/~ubuntu-team/+poll/director-2004/+vote')
1678- >>> for message in get_feedback_messages(team_admin_browser.contents):
1679- ... print message
1680+ >>> print_feedback_messages(team_admin_browser.contents)
1681 This poll is already closed.
1682
1683=== modified file 'lib/lp/registry/stories/team/xx-adminteammerge.txt'
1684--- lib/lp/registry/stories/team/xx-adminteammerge.txt 2012-01-15 13:32:27 +0000
1685+++ lib/lp/registry/stories/team/xx-adminteammerge.txt 2013-09-27 04:45:05 +0000
1686@@ -24,7 +24,7 @@
1687
1688 >>> registry_browser.url
1689 'http://launchpad.dev/people/+adminteammerge'
1690- >>> print get_feedback_messages(registry_browser.contents)[0]
1691+ >>> print_feedback_messages(registry_browser.contents)
1692 New Team has 1 active members which will have to be deactivated
1693 before the teams can be merged.
1694
1695@@ -32,5 +32,5 @@
1696 >>> registry_browser.url
1697 'http://launchpad.dev/~guadamen'
1698
1699- >>> print get_feedback_messages(registry_browser.contents)[0]
1700+ >>> print_feedback_messages(registry_browser.contents)
1701 A merge is queued and is expected to complete in a few minutes.
1702
1703=== modified file 'lib/lp/registry/stories/team/xx-team-add-my-teams.txt'
1704--- lib/lp/registry/stories/team/xx-team-add-my-teams.txt 2012-08-13 20:03:00 +0000
1705+++ lib/lp/registry/stories/team/xx-team-add-my-teams.txt 2013-09-27 04:45:05 +0000
1706@@ -33,8 +33,8 @@
1707 >>> browser.getControl('Continue').click()
1708 >>> browser.title
1709 'Hoary Gnome Team in Launchpad'
1710- >>> print get_feedback_messages(browser.contents)
1711- [u'Ubuntu Team has been proposed to this team.']
1712+ >>> print_feedback_messages(browser.contents)
1713+ Ubuntu Team has been proposed to this team.
1714 >>> print extract_text(
1715 ... find_tag_by_id(browser.contents, 'recently-proposed'))
1716 Pending approval
1717@@ -61,8 +61,8 @@
1718 >>> user_browser.getControl('Continue').click()
1719 >>> print user_browser.title
1720 Super Team in Launchpad
1721- >>> print get_feedback_messages(user_browser.contents)
1722- [u'Sub Team has been added to this team because of an existing invite.']
1723+ >>> print_feedback_messages(user_browser.contents)
1724+ Sub Team has been added to this team because of an existing invite.
1725 >>> print extract_text(
1726 ... find_tag_by_id(user_browser.contents, 'recently-approved'))
1727 Latest members
1728@@ -83,8 +83,8 @@
1729 >>> browser.getControl('Continue').click()
1730 >>> browser.title
1731 'Hoary Gnome Team in Launchpad'
1732- >>> print get_feedback_messages(browser.contents)
1733- [u'Ubuntu Team has been added to this team.']
1734+ >>> print_feedback_messages(browser.contents)
1735+ Ubuntu Team has been added to this team.
1736 >>> print extract_text(
1737 ... find_tag_by_id(browser.contents, 'recently-approved'))
1738 Latest members
1739@@ -145,7 +145,7 @@
1740 >>> browser.getControl(name='field.teams').value = [
1741 ... 'guadamen', 'ubuntu-security']
1742 >>> browser.getControl('Continue').click()
1743- >>> print "\n".join(get_feedback_messages(browser.contents))
1744+ >>> print_feedback_messages(browser.contents)
1745 GuadaMen and Ubuntu Security Team have been added to this team.
1746
1747 And when no teams can be added, a message is displayed:
1748
1749=== modified file 'lib/lp/registry/stories/team/xx-team-claim.txt'
1750--- lib/lp/registry/stories/team/xx-team-claim.txt 2012-12-10 13:43:47 +0000
1751+++ lib/lp/registry/stories/team/xx-team-claim.txt 2013-09-27 04:45:05 +0000
1752@@ -45,8 +45,7 @@
1753 >>> user_browser.title
1754 'Ubuntu Doc Team does not use Launchpad'
1755
1756- >>> for msg in get_feedback_messages(user_browser.contents):
1757- ... print msg
1758+ >>> print_feedback_messages(user_browser.contents)
1759 A confirmation message has been sent to
1760 &#x27;doc@lists.ubuntu.com&#x27;. Follow the instructions in that
1761 message to finish claiming this team. (If the above address is from
1762@@ -96,8 +95,7 @@
1763
1764 >>> user_browser.title
1765 'Ubuntu Doc Team in Launchpad'
1766- >>> for msg in get_feedback_messages(user_browser.contents):
1767- ... print msg
1768+ >>> print_feedback_messages(user_browser.contents)
1769 Team claimed successfully
1770
1771 >>> print extract_text(
1772
1773=== modified file 'lib/lp/registry/stories/team/xx-team-contactemail.txt'
1774--- lib/lp/registry/stories/team/xx-team-contactemail.txt 2012-07-12 00:46:07 +0000
1775+++ lib/lp/registry/stories/team/xx-team-contactemail.txt 2013-09-27 04:45:05 +0000
1776@@ -49,8 +49,7 @@
1777 >>> browser.getControl('Change').click()
1778 >>> browser.title
1779 'Landscape Developers in Launchpad'
1780- >>> for msg in get_feedback_messages(browser.contents):
1781- ... print msg
1782+ >>> print_feedback_messages(browser.contents)
1783 A confirmation message has been sent to...
1784
1785 >>> from lp.services.mail import stub
1786@@ -77,8 +76,7 @@
1787
1788 >>> browser.title
1789 'Landscape Developers in Launchpad'
1790- >>> for msg in get_feedback_messages(browser.contents):
1791- ... print msg
1792+ >>> print_feedback_messages(browser.contents)
1793 Email address successfully confirmed.
1794
1795 >>> browser.getLink(url='+contactaddress').click()
1796
1797=== modified file 'lib/lp/registry/stories/teammembership/private-team.txt'
1798--- lib/lp/registry/stories/teammembership/private-team.txt 2012-04-26 00:13:47 +0000
1799+++ lib/lp/registry/stories/teammembership/private-team.txt 2013-09-27 04:45:05 +0000
1800@@ -63,8 +63,7 @@
1801 >>> user_browser.getLink('Subscribe someone else').click()
1802 >>> user_browser.getControl(name='field.person').value = 'private-team'
1803 >>> user_browser.getControl('Subscribe user').click()
1804- >>> for message in get_feedback_messages(user_browser.contents):
1805- ... print message
1806+ >>> print_feedback_messages(user_browser.contents)
1807 There is 1 error.
1808 Invalid value
1809
1810@@ -74,8 +73,7 @@
1811 >>> cprov_browser.getLink('Subscribe someone else').click()
1812 >>> cprov_browser.getControl(name='field.person').value = 'private-team'
1813 >>> cprov_browser.getControl('Subscribe user').click()
1814- >>> for message in get_feedback_messages(cprov_browser.contents):
1815- ... print message
1816+ >>> print_feedback_messages(cprov_browser.contents)
1817 Private Team team has been subscribed to this bug.
1818
1819 The private team has been subscribed to a bug and although a regular user is
1820@@ -86,7 +84,6 @@
1821 >>> user_browser.getLink('Subscribe someone else').click()
1822 >>> user_browser.getControl(name='field.person').value = 'private-team'
1823 >>> user_browser.getControl('Subscribe user').click()
1824- >>> for message in get_feedback_messages(user_browser.contents):
1825- ... print message
1826+ >>> print_feedback_messages(user_browser.contents)
1827 There is 1 error.
1828 Constraint not satisfied
1829
1830=== modified file 'lib/lp/registry/stories/vouchers/xx-voucher-redemption.txt'
1831--- lib/lp/registry/stories/vouchers/xx-voucher-redemption.txt 2012-12-07 18:36:39 +0000
1832+++ lib/lp/registry/stories/vouchers/xx-voucher-redemption.txt 2013-09-27 04:45:05 +0000
1833@@ -72,8 +72,7 @@
1834 >>> browser.getControl('Redeem').click()
1835 >>> print browser.url
1836 http://launchpad.dev/%7Ecprov/+vouchers
1837- >>> for message in get_feedback_messages(browser.contents):
1838- ... print message
1839+ >>> print_feedback_messages(browser.contents)
1840 Voucher redeemed successfully
1841
1842
1843@@ -85,8 +84,7 @@
1844 >>> browser.getControl(name='field.voucher').value = [
1845 ... 'LPCBS12-f78df324-0cc2-11dd-8b6b-000000000005']
1846 >>> browser.getControl('Redeem').click()
1847- >>> for message in get_feedback_messages(browser.contents):
1848- ... print message
1849+ >>> print_feedback_messages(browser.contents)
1850 There is 1 error.
1851 Invalid value
1852
1853@@ -129,6 +127,5 @@
1854 >>> browser.getControl(name='field.voucher').value = [
1855 ... 'LPCBS12-f78df324-0cc2-11dd-8b6b-com000000001']
1856 >>> browser.getControl('Redeem').click()
1857- >>> for message in get_feedback_messages(browser.contents):
1858- ... print message
1859+ >>> print_feedback_messages(browser.contents)
1860 Voucher redeemed successfully
1861
1862=== modified file 'lib/lp/services/feeds/stories/xx-links.txt'
1863--- lib/lp/services/feeds/stories/xx-links.txt 2012-01-18 12:04:16 +0000
1864+++ lib/lp/services/feeds/stories/xx-links.txt 2013-09-27 04:45:05 +0000
1865@@ -68,8 +68,8 @@
1866 >>> auth_browser.open('http://feeds.launchpad.dev/bugs/14/bug.atom')
1867 >>> print auth_browser.url
1868 http://bugs.launchpad.dev/
1869- >>> print get_feedback_messages(auth_browser.contents)
1870- [u'The requested bug is private. Feeds do not serve private bugs.']
1871+ >>> print_feedback_messages(auth_browser.contents)
1872+ The requested bug is private. Feeds do not serve private bugs.
1873
1874 == Latest Bugs and Branches for a Person ==
1875
1876@@ -366,5 +366,5 @@
1877 >>> browser.open('http://feeds.launchpad.dev/~name12/landscape/feature-x/branch.atom')
1878 >>> print browser.url
1879 http://code.launchpad.dev/
1880- >>> print get_feedback_messages(browser.contents)
1881- [u'The requested branch is private. Feeds do not serve private branches.']
1882+ >>> print_feedback_messages(browser.contents)
1883+ The requested branch is private. Feeds do not serve private branches.
1884
1885=== modified file 'lib/lp/services/oauth/stories/managing-tokens.txt'
1886--- lib/lp/services/oauth/stories/managing-tokens.txt 2012-01-15 11:06:57 +0000
1887+++ lib/lp/services/oauth/stories/managing-tokens.txt 2013-09-27 04:45:05 +0000
1888@@ -87,8 +87,7 @@
1889 >>> my_browser.getControl('Revoke Authorization', index=2).click()
1890 >>> print my_browser.title
1891 Authorized applications...
1892- >>> for message in get_feedback_messages(my_browser.contents):
1893- ... print message
1894+ >>> print_feedback_messages(my_browser.contents)
1895 Authorization revoked successfully.
1896
1897 >>> my_browser.open('http://launchpad.dev/~salgado/+oauth-tokens')
1898
1899=== modified file 'lib/lp/soyuz/stories/distroseries/add-architecture.txt'
1900--- lib/lp/soyuz/stories/distroseries/add-architecture.txt 2011-03-16 07:59:26 +0000
1901+++ lib/lp/soyuz/stories/distroseries/add-architecture.txt 2013-09-27 04:45:05 +0000
1902@@ -33,7 +33,7 @@
1903 >>> admin_browser.getLink('Add architecture').click()
1904 >>> admin_browser.getControl('Architecture Tag').value = 'foo bar'
1905 >>> admin_browser.getControl('Continue').click()
1906- >>> print "\n".join(get_feedback_messages(admin_browser.contents))
1907+ >>> print_feedback_messages(admin_browser.contents)
1908 There is 1 error.
1909 Invalid name 'foo bar'. ...
1910
1911
1912=== modified file 'lib/lp/soyuz/stories/ppa/xx-copy-packages.txt'
1913--- lib/lp/soyuz/stories/ppa/xx-copy-packages.txt 2013-05-03 16:43:19 +0000
1914+++ lib/lp/soyuz/stories/ppa/xx-copy-packages.txt 2013-09-27 04:45:05 +0000
1915@@ -254,9 +254,7 @@
1916
1917 >>> jblack_browser.getControl("Copy Packages").click()
1918
1919- >>> messages = get_feedback_messages(jblack_browser.contents)
1920- >>> for msg in messages:
1921- ... print msg
1922+ >>> print_feedback_messages(jblack_browser.contents)
1923 Requested sync of 1 package to PPA for James Blackwell.
1924 Please allow some time for this to be processed.
1925 >>> run_copy_jobs()
1926@@ -399,9 +397,7 @@
1927 resulted binaries would conflict (same name and version, but different
1928 contents). So, this copy is not allowed.
1929
1930- >>> messages = get_feedback_messages(jblack_browser.contents)
1931- >>> for msg in messages:
1932- ... print msg
1933+ >>> print_feedback_messages(jblack_browser.contents)
1934 Requested sync of 1 package to PPA for James Blackwell.
1935 Please allow some time for this to be processed.
1936 >>> run_copy_jobs()
1937@@ -421,9 +417,7 @@
1938 But this is also not allowed. Since pmount is still building in hoary,
1939 there are no binaries to be copied.
1940
1941- >>> messages = get_feedback_messages(jblack_browser.contents)
1942- >>> for msg in messages:
1943- ... print msg
1944+ >>> print_feedback_messages(jblack_browser.contents)
1945 Requested sync of 1 package to PPA for James Blackwell.
1946 Please allow some time for this to be processed.
1947 >>> run_copy_jobs()
1948@@ -458,9 +452,7 @@
1949 ... name='field.include_binaries').value = ['REBUILD_SOURCES']
1950 >>> jblack_browser.getControl("Copy Packages").click()
1951
1952- >>> messages = get_feedback_messages(jblack_browser.contents)
1953- >>> for msg in messages:
1954- ... print msg
1955+ >>> print_feedback_messages(jblack_browser.contents)
1956 Requested sync of 1 package to PPA for James Blackwell.
1957 Please allow some time for this to be processed.
1958 >>> run_copy_jobs()
1959@@ -479,9 +471,7 @@
1960 ... name='field.include_binaries').value = ['COPY_BINARIES']
1961 >>> jblack_browser.getControl("Copy Packages").click()
1962
1963- >>> messages = get_feedback_messages(jblack_browser.contents)
1964- >>> for msg in messages:
1965- ... print msg
1966+ >>> print_feedback_messages(jblack_browser.contents)
1967 Requested sync of 1 package to PPA for James Blackwell.
1968 Please allow some time for this to be processed.
1969 >>> run_copy_jobs()
1970@@ -519,9 +509,7 @@
1971 The page not only renders the copy summary, but also shows the
1972 package copied in the available sources.
1973
1974- >>> messages = get_feedback_messages(jblack_browser.contents)
1975- >>> for msg in messages:
1976- ... print msg
1977+ >>> print_feedback_messages(jblack_browser.contents)
1978 Requested sync of 1 package to PPA for James Blackwell.
1979 Please allow some time for this to be processed.
1980 >>> run_copy_jobs()
1981@@ -564,9 +552,7 @@
1982 ... name='field.include_binaries').value = ['COPY_BINARIES']
1983 >>> jblack_browser.getControl("Copy Packages").click()
1984
1985- >>> messages = get_feedback_messages(jblack_browser.contents)
1986- >>> for msg in messages:
1987- ... print msg
1988+ >>> print_feedback_messages(jblack_browser.contents)
1989 Requested sync of 1 package to PPA for James Blackwell.
1990 Please allow some time for this to be processed.
1991 >>> run_copy_jobs()
1992@@ -636,9 +622,7 @@
1993 ... name='field.selected_sources').value = [pmount_pub_id]
1994 >>> jblack_browser.getControl('Destination series').value = ['warty']
1995 >>> jblack_browser.getControl("Copy Packages").click()
1996- >>> messages = get_feedback_messages(jblack_browser.contents)
1997- >>> for msg in messages:
1998- ... print msg
1999+ >>> print_feedback_messages(jblack_browser.contents)
2000 Requested sync of 1 package to PPA for James Blackwell.
2001 Please allow some time for this to be processed.
2002 >>> run_copy_jobs()
2003@@ -658,9 +642,7 @@
2004 ... name='field.include_binaries').value = ['COPY_BINARIES']
2005 >>> jblack_browser.getControl("Copy Packages").click()
2006
2007- >>> messages = get_feedback_messages(jblack_browser.contents)
2008- >>> for msg in messages:
2009- ... print msg
2010+ >>> print_feedback_messages(jblack_browser.contents)
2011 Requested sync of 1 package to PPA for James Blackwell.
2012 Please allow some time for this to be processed.
2013 >>> run_copy_jobs()
2014@@ -754,9 +736,7 @@
2015 The page not only renders the copy summary, but also shows the
2016 package copied in the available sources.
2017
2018- >>> messages = get_feedback_messages(jblack_browser.contents)
2019- >>> for msg in messages:
2020- ... print msg
2021+ >>> print_feedback_messages(jblack_browser.contents)
2022 Requested sync of 2 packages to PPA for James Blackwell Friends.
2023 Please allow some time for these to be processed.
2024 >>> run_copy_jobs()
2025@@ -821,9 +801,7 @@
2026 >>> jblack_browser.getControl('Destination series').value = ['hoary']
2027
2028 >>> jblack_browser.getControl("Copy Packages").click()
2029- >>> messages = get_feedback_messages(jblack_browser.contents)
2030- >>> for msg in messages:
2031- ... print msg
2032+ >>> print_feedback_messages(jblack_browser.contents)
2033 Requested sync of 2 packages to PPA for James Blackwell Friends.
2034 Please allow some time for these to be processed.
2035 >>> run_copy_jobs()
2036@@ -892,9 +870,7 @@
2037 0.1-1' source can be built in a archive, so the copy candidates are
2038 conflicts and cannot be allowed.
2039
2040- >>> messages = get_feedback_messages(jblack_browser.contents)
2041- >>> for msg in messages:
2042- ... print msg
2043+ >>> print_feedback_messages(jblack_browser.contents)
2044 Requested sync of 3 packages to PPA for James Blackwell Sandbox.
2045 Please allow some time for these to be processed.
2046 >>> run_copy_jobs()
2047@@ -946,9 +922,7 @@
2048 deleted files will be re-published in his archive.
2049
2050 >>> jblack_browser.getControl("Copy Packages").click()
2051- >>> messages = get_feedback_messages(jblack_browser.contents)
2052- >>> for msg in messages:
2053- ... print msg
2054+ >>> print_feedback_messages(jblack_browser.contents)
2055 Requested sync of 1 package to PPA for James Blackwell.
2056 Please allow some time for this to be processed.
2057 >>> run_copy_jobs()
2058@@ -1032,9 +1006,7 @@
2059 >>> jblack_browser.getControl(
2060 ... name='field.include_binaries').value = ['COPY_BINARIES']
2061 >>> jblack_browser.getControl("Copy Packages").click()
2062- >>> messages = get_feedback_messages(jblack_browser.contents)
2063- >>> for msg in messages:
2064- ... print msg
2065+ >>> print_feedback_messages(jblack_browser.contents)
2066 Requested sync of 1 package to PPA for James Blackwell.
2067 Please allow some time for this to be processed.
2068 >>> run_copy_jobs()
2069@@ -1066,9 +1038,7 @@
2070 >>> jblack_browser.getControl(
2071 ... name='field.include_binaries').value = ['COPY_BINARIES']
2072 >>> jblack_browser.getControl("Copy Packages").click()
2073- >>> messages = get_feedback_messages(jblack_browser.contents)
2074- >>> for msg in messages:
2075- ... print msg
2076+ >>> print_feedback_messages(jblack_browser.contents)
2077 Requested sync of 1 package to PPA for James Blackwell.
2078 Please allow some time for this to be processed.
2079 >>> run_copy_jobs()
2080@@ -1085,9 +1055,7 @@
2081 >>> jblack_browser.getControl(
2082 ... name='field.include_binaries').value = ['COPY_BINARIES']
2083 >>> jblack_browser.getControl("Copy Packages").click()
2084- >>> messages = get_feedback_messages(jblack_browser.contents)
2085- >>> for msg in messages:
2086- ... print msg
2087+ >>> print_feedback_messages(jblack_browser.contents)
2088 Requested sync of 1 package to PPA for James Blackwell.
2089 Please allow some time for this to be processed.
2090 >>> run_copy_jobs()
2091@@ -1129,9 +1097,7 @@
2092 >>> jblack_browser.getControl(
2093 ... name='field.include_binaries').value = ['COPY_BINARIES']
2094 >>> jblack_browser.getControl("Copy Packages").click()
2095- >>> messages = get_feedback_messages(jblack_browser.contents)
2096- >>> for msg in messages:
2097- ... print msg
2098+ >>> print_feedback_messages(jblack_browser.contents)
2099 Requested sync of 1 package to PPA for James Blackwell.
2100 Please allow some time for this to be processed.
2101 >>> run_copy_jobs()
2102@@ -1165,9 +1131,7 @@
2103 >>> jblack_browser.getControl(
2104 ... name='field.include_binaries').value = ['COPY_BINARIES']
2105 >>> jblack_browser.getControl("Copy Packages").click()
2106- >>> messages = get_feedback_messages(jblack_browser.contents)
2107- >>> for msg in messages:
2108- ... print msg
2109+ >>> print_feedback_messages(jblack_browser.contents)
2110 Requested sync of 1 package to PPA for James Blackwell.
2111 Please allow some time for this to be processed.
2112 >>> run_copy_jobs()
2113
2114=== modified file 'lib/lp/soyuz/stories/ppa/xx-delete-packages.txt'
2115--- lib/lp/soyuz/stories/ppa/xx-delete-packages.txt 2013-06-20 05:50:00 +0000
2116+++ lib/lp/soyuz/stories/ppa/xx-delete-packages.txt 2013-09-27 04:45:05 +0000
2117@@ -107,9 +107,7 @@
2118 >>> admin_browser.getControl(name='field.name_filter').value = ''
2119 >>> admin_browser.getControl(name='field.selected_sources').value = ['31']
2120 >>> admin_browser.getControl("Request Deletion").click()
2121- >>> messages = get_feedback_messages(admin_browser.contents)
2122- >>> for msg in messages:
2123- ... print msg
2124+ >>> print_feedback_messages(admin_browser.contents)
2125 Source and binaries deleted by Foo Bar:
2126 iceweasel 1.0 in breezy-autotest
2127 Deletion comment: None
2128@@ -131,9 +129,7 @@
2129
2130 >>> admin_browser.getControl("Deletion comment").value = "DO IT"
2131 >>> admin_browser.getControl("Request Deletion").click()
2132- >>> messages = get_feedback_messages(admin_browser.contents)
2133- >>> for msg in messages:
2134- ... print msg
2135+ >>> print_feedback_messages(admin_browser.contents)
2136 There is 1 error.
2137 No sources selected.
2138
2139@@ -152,9 +148,7 @@
2140 ... "Deletion comment").value = "DO <where is my XSS ?> IT"
2141 >>> admin_browser.getControl("Request Deletion").click()
2142
2143- >>> messages = get_feedback_messages(admin_browser.contents)
2144- >>> for msg in messages:
2145- ... print msg
2146+ >>> print_feedback_messages(admin_browser.contents)
2147 Source and binaries deleted by Foo Bar:
2148 cdrkit 1.0 in breezy-autotest
2149 Deletion comment: DO &lt;where is my XSS ?&gt; IT
2150@@ -231,9 +225,7 @@
2151 >>> admin_browser.getControl("Deletion comment").value = "DO IT AGAIN !"
2152 >>> admin_browser.getControl("Request Deletion").click()
2153
2154- >>> messages = get_feedback_messages(admin_browser.contents)
2155- >>> for msg in messages:
2156- ... print msg
2157+ >>> print_feedback_messages(admin_browser.contents)
2158 Source and binaries deleted by Foo Bar:
2159 iceweasel 1.0 in warty
2160 pmount 0.1-1 in warty
2161@@ -456,9 +448,7 @@
2162 >>> user_browser.getControl("Deletion comment").value = deletion_comment
2163 >>> user_browser.getControl("Request Deletion").click()
2164
2165- >>> messages = get_feedback_messages(user_browser.contents)
2166- >>> for msg in messages:
2167- ... print msg
2168+ >>> print_feedback_messages(user_browser.contents)
2169 Source and binaries deleted by No Privileges Person:
2170 foo 1.0 in hoary
2171 Deletion comment: Deletion of a number of base pairs that is ...
2172
2173=== modified file 'lib/lp/soyuz/stories/ppa/xx-edit-dependencies.txt'
2174--- lib/lp/soyuz/stories/ppa/xx-edit-dependencies.txt 2012-11-26 01:02:38 +0000
2175+++ lib/lp/soyuz/stories/ppa/xx-edit-dependencies.txt 2013-09-27 04:45:05 +0000
2176@@ -104,9 +104,7 @@
2177
2178 >>> admin_browser.getControl("Add PPA dependency").value = 'whatever'
2179 >>> admin_browser.getControl("Save").click()
2180- >>> messages = get_feedback_messages(admin_browser.contents)
2181- >>> for msg in messages:
2182- ... print msg
2183+ >>> print_feedback_messages(admin_browser.contents)
2184 There is 1 error.
2185 Invalid value
2186
2187@@ -116,9 +114,7 @@
2188
2189 >>> admin_browser.getControl("Add PPA dependency").value = 'mark/ppa'
2190 >>> admin_browser.getControl("Save").click()
2191- >>> messages = get_feedback_messages(admin_browser.contents)
2192- >>> for msg in messages:
2193- ... print msg
2194+ >>> print_feedback_messages(admin_browser.contents)
2195 Dependency added: PPA for Mark Shuttleworth
2196
2197 >>> admin_browser.reload()
2198@@ -129,9 +125,7 @@
2199
2200 >>> admin_browser.getControl("Add PPA dependency").value = 'mark/ppa'
2201 >>> admin_browser.getControl("Save").click()
2202- >>> messages = get_feedback_messages(admin_browser.contents)
2203- >>> for msg in messages:
2204- ... print msg
2205+ >>> print_feedback_messages(admin_browser.contents)
2206 There is 1 error.
2207 This dependency is already registered.
2208
2209@@ -140,9 +134,7 @@
2210
2211 >>> admin_browser.getControl("Add PPA dependency").value = 'cprov/ppa'
2212 >>> admin_browser.getControl("Save").click()
2213- >>> messages = get_feedback_messages(admin_browser.contents)
2214- >>> for msg in messages:
2215- ... print msg
2216+ >>> print_feedback_messages(admin_browser.contents)
2217 There is 1 error.
2218 An archive should not depend on itself.
2219
2220@@ -150,9 +142,7 @@
2221
2222 >>> admin_browser.getControl("Add PPA dependency").value = 'no-priv/ppa'
2223 >>> admin_browser.getControl("Save").click()
2224- >>> messages = get_feedback_messages(admin_browser.contents)
2225- >>> for msg in messages:
2226- ... print msg
2227+ >>> print_feedback_messages(admin_browser.contents)
2228 Dependency added: PPA for No Privileges Person
2229
2230 Now Celso's PPA will list Mark's and No-Priv's PPA as its dependencies.
2231@@ -234,7 +224,6 @@
2232 dependencies get removed.
2233
2234 >>> admin_browser.getControl("Save").click()
2235- >>> messages = get_feedback_messages(admin_browser.contents)
2236
2237 >>> print_ppa_dependencies(admin_browser.contents)
2238 PPA for Mark Shuttleworth
2239@@ -247,9 +236,7 @@
2240 ... name="field.selected_dependencies").value = [
2241 ... 'mark/ppa', 'no-priv/ppa']
2242 >>> admin_browser.getControl("Save").click()
2243- >>> messages = get_feedback_messages(admin_browser.contents)
2244- >>> for msg in messages:
2245- ... print msg
2246+ >>> print_feedback_messages(admin_browser.contents)
2247 Dependencies removed:
2248 PPA for Mark Shuttleworth
2249 PPA for No Privileges Person
2250@@ -307,9 +294,7 @@
2251 ... "Proposed (default dependencies and proposed updates"
2252 ... ).selected = True
2253 >>> admin_browser.getControl("Save").click()
2254- >>> messages = get_feedback_messages(admin_browser.contents)
2255- >>> for msg in messages:
2256- ... print msg
2257+ >>> print_feedback_messages(admin_browser.contents)
2258 Primary dependency added: Primary Archive for Ubuntu Linux -
2259 PROPOSED (main, restricted, universe, multiverse)
2260
2261@@ -329,9 +314,7 @@
2262 >>> admin_browser.getControl(
2263 ... "Basic (only released packages).").selected = True
2264 >>> admin_browser.getControl("Save").click()
2265- >>> messages = get_feedback_messages(admin_browser.contents)
2266- >>> for msg in messages:
2267- ... print msg
2268+ >>> print_feedback_messages(admin_browser.contents)
2269 Primary dependency added: Primary Archive for Ubuntu Linux -
2270 RELEASE (main, restricted, universe, multiverse)
2271
2272@@ -359,9 +342,7 @@
2273 ... "Default (security dependencies and recommended updates"
2274 ... ).selected = True
2275 >>> admin_browser.getControl("Save").click()
2276- >>> messages = get_feedback_messages(admin_browser.contents)
2277- >>> for msg in messages:
2278- ... print msg
2279+ >>> print_feedback_messages(admin_browser.contents)
2280 Default primary dependencies restored.
2281
2282 The default option is now selected.
2283@@ -387,9 +368,7 @@
2284 ... "primary archive."
2285 ... ).selected = True
2286 >>> admin_browser.getControl("Save").click()
2287- >>> messages = get_feedback_messages(admin_browser.contents)
2288- >>> for msg in messages:
2289- ... print msg
2290+ >>> print_feedback_messages(admin_browser.contents)
2291 Primary dependency added: Primary Archive for Ubuntu Linux - UPDATES
2292
2293 >>> print_radio_button_field(
2294@@ -443,9 +422,7 @@
2295
2296 >>> admin_browser.getControl("Add PPA dependency").value = 'no-priv/ppa'
2297 >>> admin_browser.getControl("Save").click()
2298- >>> messages = get_feedback_messages(admin_browser.contents)
2299- >>> for msg in messages:
2300- ... print msg
2301+ >>> print_feedback_messages(admin_browser.contents)
2302 Dependency added: PPA for No Privileges Person
2303
2304 Now the PPA uses the default primary dependency configuration and
2305@@ -484,9 +461,7 @@
2306 ... "Basic (only released packages).").selected = True
2307
2308 >>> admin_browser.getControl("Save").click()
2309- >>> messages = get_feedback_messages(admin_browser.contents)
2310- >>> for msg in messages:
2311- ... print msg
2312+ >>> print_feedback_messages(admin_browser.contents)
2313 Primary dependency added:
2314 Primary Archive for Ubuntu Linux - RELEASE
2315 (main, restricted, universe, multiverse)
2316
2317=== modified file 'lib/lp/soyuz/stories/ppa/xx-ppa-private-teams.txt'
2318--- lib/lp/soyuz/stories/ppa/xx-ppa-private-teams.txt 2012-08-13 19:34:10 +0000
2319+++ lib/lp/soyuz/stories/ppa/xx-ppa-private-teams.txt 2013-09-27 04:45:05 +0000
2320@@ -77,7 +77,6 @@
2321
2322 >>> admin_browser.getControl(name='field.private').value = False
2323 >>> admin_browser.getControl('Save').click()
2324- >>> for error in get_feedback_messages(admin_browser.contents):
2325- ... print error
2326- There is 1 error.
2327- Private teams may not have public archives.
2328+ >>> print_feedback_messages(admin_browser.contents)
2329+ There is 1 error.
2330+ Private teams may not have public archives.
2331
2332=== modified file 'lib/lp/soyuz/stories/ppa/xx-ppa-workflow.txt'
2333--- lib/lp/soyuz/stories/ppa/xx-ppa-workflow.txt 2013-05-10 06:44:11 +0000
2334+++ lib/lp/soyuz/stories/ppa/xx-ppa-workflow.txt 2013-09-27 04:45:05 +0000
2335@@ -65,8 +65,7 @@
2336
2337 >>> sample_browser.getControl("Activate").click()
2338
2339- >>> for error in get_feedback_messages(sample_browser.contents):
2340- ... print error
2341+ >>> print_feedback_messages(sample_browser.contents)
2342 There is 1 error.
2343 Required input is missing.
2344
2345@@ -79,8 +78,7 @@
2346 ... name="field.displayname").value = 'Sample PPA'
2347 >>> sample_browser.getControl("Activate").click()
2348
2349- >>> for error in get_feedback_messages(sample_browser.contents):
2350- ... print error
2351+ >>> print_feedback_messages(sample_browser.contents)
2352 There is 1 error.
2353 PPA Terms of Service must be accepted to activate a PPA.
2354
2355@@ -147,8 +145,7 @@
2356 >>> print sample_browser.title
2357 Change details : Sample testing PPA...
2358
2359- >>> for error in get_feedback_messages(sample_browser.contents):
2360- ... print error
2361+ >>> print_feedback_messages(sample_browser.contents)
2362 There is 1 error.
2363 Required input is missing.
2364
2365@@ -392,8 +389,7 @@
2366 >>> print admin_browser.title
2367 Hack PPA : James Blackwell
2368
2369- >>> for msg in get_feedback_messages(admin_browser.contents):
2370- ... print msg
2371+ >>> print_feedback_messages(admin_browser.contents)
2372 This PPA has been disabled.
2373
2374 We need go back to the "Administer archive" page to see the build score and
2375@@ -412,8 +408,7 @@
2376 ... name="field.external_dependencies"
2377 ... ).value = "deb not_a_url"
2378 >>> admin_browser.getControl("Save").click()
2379- >>> for error in get_feedback_messages(admin_browser.contents):
2380- ... print error
2381+ >>> print_feedback_messages(admin_browser.contents)
2382 There is 1 error.
2383 &#x27;deb not_a_url&#x27; is not a complete and valid sources.list entry
2384
2385@@ -442,8 +437,7 @@
2386 ... name="field.authorized_size").value = str(limit + 1)
2387 >>> admin_browser.getControl("Save").click()
2388
2389- >>> for error in get_feedback_messages(admin_browser.contents):
2390- ... print error
2391+ >>> print_feedback_messages(admin_browser.contents)
2392 There is 1 error.
2393 Value is too big
2394
2395@@ -509,8 +503,7 @@
2396
2397 >>> browser2.getControl("Activate").click()
2398
2399- >>> for error in get_feedback_messages(browser2.contents):
2400- ... print error
2401+ >>> print_feedback_messages(browser2.contents)
2402 There is 1 error.
2403 You already have a PPA named &#x27;boomppa&#x27;.
2404
2405@@ -573,8 +566,7 @@
2406 ... name="field.displayname").value = 'Edge PPA'
2407 >>> cprov_browser.getControl("Activate").click()
2408
2409- >>> for error in get_feedback_messages(cprov_browser.contents):
2410- ... print error
2411+ >>> print_feedback_messages(cprov_browser.contents)
2412 There is 1 error.
2413 Required input is missing.
2414
2415@@ -585,8 +577,7 @@
2416 >>> cprov_browser.getControl(name="field.name").value = 'ExPeRiMeNtAl!'
2417 >>> cprov_browser.getControl("Activate").click()
2418
2419- >>> for error in get_feedback_messages(cprov_browser.contents):
2420- ... print error
2421+ >>> print_feedback_messages(cprov_browser.contents)
2422 There is 1 error.
2423 Invalid name 'experimental!'. Names must be at least two characters ...
2424
2425@@ -596,8 +587,7 @@
2426 >>> cprov_browser.getControl(name="field.name").value = 'ppa'
2427 >>> cprov_browser.getControl("Activate").click()
2428
2429- >>> for error in get_feedback_messages(cprov_browser.contents):
2430- ... print error
2431+ >>> print_feedback_messages(cprov_browser.contents)
2432 There is 1 error.
2433 You already have a PPA named &#x27;ppa&#x27;.
2434
2435@@ -608,8 +598,7 @@
2436 >>> cprov_browser.getControl(name="field.name").value = 'ubuntu'
2437 >>> cprov_browser.getControl("Activate").click()
2438
2439- >>> for error in get_feedback_messages(cprov_browser.contents):
2440- ... print error
2441+ >>> print_feedback_messages(cprov_browser.contents)
2442 There is 1 error.
2443 A PPA cannot have the same name as its distribution.
2444
2445@@ -788,8 +777,7 @@
2446 >>> print no_priv_browser.url
2447 http://launchpad.dev/~no-priv
2448
2449- >>> for msg in get_feedback_messages(no_priv_browser.contents):
2450- ... print msg
2451+ >>> print_feedback_messages(no_priv_browser.contents)
2452 Deletion of &#x27;PPA for No Privileges Person&#x27; has been
2453 requested and the repository will be removed shortly.
2454
2455
2456=== modified file 'lib/lp/soyuz/stories/ppa/xx-private-ppa-subscription-stories.txt'
2457--- lib/lp/soyuz/stories/ppa/xx-private-ppa-subscription-stories.txt 2012-12-10 13:43:47 +0000
2458+++ lib/lp/soyuz/stories/ppa/xx-private-ppa-subscription-stories.txt 2013-09-27 04:45:05 +0000
2459@@ -78,8 +78,7 @@
2460 Name Expires Comment
2461 Joe Smith Joe is my friend Edit/Cancel
2462
2463- >>> for msg in get_feedback_messages(cprov_browser.contents):
2464- ... print msg
2465+ >>> print_feedback_messages(cprov_browser.contents)
2466 You have granted access for Joe Smith to install software from
2467 PPA named p3a for Celso Providelo. Joe Smith will be notified of the
2468 access via email.
2469@@ -112,8 +111,7 @@
2470 Launchpad Developers 2200-08-01 Launchpad developer access.
2471 ...
2472
2473- >>> for msg in get_feedback_messages(cprov_browser.contents):
2474- ... print msg
2475+ >>> print_feedback_messages(cprov_browser.contents)
2476 You have granted access for Launchpad Developers to install software
2477 from PPA named p3a for Celso Providelo. Members of Launchpad Developers
2478 will be notified of the access via email.
2479@@ -153,8 +151,7 @@
2480 Joe Smith Joe is my friend ...
2481 Launchpad Developers 2200-08-01 a different description
2482 ...
2483- >>> for msg in get_feedback_messages(cprov_browser.contents):
2484- ... print msg
2485+ >>> print_feedback_messages(cprov_browser.contents)
2486 The access for Launchpad Developers has been updated.
2487
2488 === Scenario 2: Canceling a subscription ===
2489@@ -183,8 +180,7 @@
2490 Name Expires Comment
2491 Joe Smith Joe is my friend Edit/Cancel
2492
2493- >>> for msg in get_feedback_messages(cprov_browser.contents):
2494- ... print msg
2495+ >>> print_feedback_messages(cprov_browser.contents)
2496 You have revoked Launchpad Developers&#x27;s access to PPA
2497 named p3a for Celso Providelo.
2498
2499@@ -260,8 +256,7 @@
2500 the page is redisplayed with new sources.list entries and a notification.
2501
2502 >>> joe_browser.getControl(name='regenerate_btn').click()
2503- >>> for msg in get_feedback_messages(joe_browser.contents):
2504- ... print msg
2505+ >>> print_feedback_messages(joe_browser.contents)
2506 Launchpad has generated the new password you requested for your
2507 access to the archive PPA named p3a for Celso Providelo. Please
2508 follow the instructions below to update your custom
2509
2510=== modified file 'lib/lp/soyuz/stories/ppa/xx-private-ppa-subscriptions.txt'
2511--- lib/lp/soyuz/stories/ppa/xx-private-ppa-subscriptions.txt 2013-05-09 08:53:01 +0000
2512+++ lib/lp/soyuz/stories/ppa/xx-private-ppa-subscriptions.txt 2013-09-27 04:45:05 +0000
2513@@ -24,8 +24,7 @@
2514 >>> print cprov_browser.url
2515 http://launchpad.dev/~cprov/+archive/ppa
2516
2517- >>> for msg in get_feedback_messages(cprov_browser.contents):
2518- ... print msg
2519+ >>> print_feedback_messages(cprov_browser.contents)
2520 Only private archives can have subscribers.
2521
2522 Setup private PPAs for both Celso and Mark:
2523
2524=== modified file 'lib/lp/soyuz/stories/soyuz/xx-build-record.txt'
2525--- lib/lp/soyuz/stories/soyuz/xx-build-record.txt 2013-08-29 18:34:59 +0000
2526+++ lib/lp/soyuz/stories/soyuz/xx-build-record.txt 2013-09-27 04:45:05 +0000
2527@@ -137,8 +137,7 @@
2528 Once submitted they are redirected to the build index page where the
2529 new 'score' value is presented.
2530
2531- >>> for text in get_feedback_messages(admin_browser.contents):
2532- ... print text
2533+ >>> print_feedback_messages(admin_browser.contents)
2534 Build rescored to 0.
2535
2536 >>> print extract_text(find_tag_by_id(admin_browser.contents, 'status'))
2537@@ -288,8 +287,7 @@
2538
2539 >>> admin_browser.getLink("Retry this build").click()
2540 >>> admin_browser.getControl("Retry Build").click()
2541- >>> for text in get_feedback_messages(admin_browser.contents):
2542- ... print text
2543+ >>> print_feedback_messages(admin_browser.contents)
2544 Build retried
2545
2546 >>> print extract_text(find_tag_by_id(admin_browser.contents, 'status'))
2547
2548=== modified file 'lib/lp/soyuz/stories/soyuz/xx-builder-page.txt'
2549--- lib/lp/soyuz/stories/soyuz/xx-builder-page.txt 2012-12-10 13:43:47 +0000
2550+++ lib/lp/soyuz/stories/soyuz/xx-builder-page.txt 2013-09-27 04:45:05 +0000
2551@@ -55,9 +55,7 @@
2552 The builder status is now displayed as normal text and not as as a
2553 notification alert.
2554
2555- >>> messages = get_feedback_messages(anon_browser.contents)
2556- >>> print messages
2557- []
2558+ >>> print_feedback_messages(anon_browser.contents)
2559
2560 == Builder Actions ==
2561
2562@@ -163,9 +161,8 @@
2563
2564 And a relevant notification is displayed after the mode toggle.
2565
2566- >>> messages = get_feedback_messages(cprov_browser.contents)
2567- >>> print messages
2568- [u'The builder &quot;Bob The Builder&quot; was updated successfully.']
2569+ >>> print_feedback_messages(cprov_browser.contents)
2570+ The builder &quot;Bob The Builder&quot; was updated successfully.
2571
2572 Via the 'edit' form Celso can also modify the 'builderok',
2573 'failure_notes', 'virtualized' and 'virtual machine' fields. All the
2574@@ -183,9 +180,8 @@
2575 Changing the details via the Change details page also generates a
2576 notification.
2577
2578- >>> messages = get_feedback_messages(cprov_browser.contents)
2579- >>> print messages
2580- [u'The builder &quot;Bob The Builder&quot; was updated successfully.']
2581+ >>> print_feedback_messages(cprov_browser.contents)
2582+ The builder &quot;Bob The Builder&quot; was updated successfully.
2583
2584
2585 == Marking a builder as inactive ==
2586
2587=== modified file 'lib/lp/soyuz/stories/soyuz/xx-distroarchseries.txt'
2588--- lib/lp/soyuz/stories/soyuz/xx-distroarchseries.txt 2013-07-22 17:02:19 +0000
2589+++ lib/lp/soyuz/stories/soyuz/xx-distroarchseries.txt 2013-09-27 04:45:05 +0000
2590@@ -127,8 +127,7 @@
2591
2592 There's also a notification message announcing the success of the change:
2593
2594- >>> for message in get_feedback_messages(admin_browser.contents):
2595- ... print message
2596+ >>> print_feedback_messages(admin_browser.contents)
2597 Successfully updated
2598
2599 Navigating back to the admin page shows the change was made:
2600
2601=== modified file 'lib/lp/soyuz/stories/soyuz/xx-person-packages.txt'
2602--- lib/lp/soyuz/stories/soyuz/xx-person-packages.txt 2013-07-16 08:10:32 +0000
2603+++ lib/lp/soyuz/stories/soyuz/xx-person-packages.txt 2013-09-27 04:45:05 +0000
2604@@ -396,9 +396,7 @@
2605 ... "Deletion comment").value = "Bug 184490"
2606 >>> admin_browser.getControl("Request Deletion").click()
2607
2608- >>> messages = get_feedback_messages(admin_browser.contents)
2609- >>> for msg in messages:
2610- ... print msg
2611+ >>> print_feedback_messages(admin_browser.contents)
2612 Source and binaries deleted by Foo Bar:
2613 source2 666 in breezy-autotest
2614 Deletion comment: Bug 184490
2615
2616=== modified file 'lib/lp/soyuz/stories/soyuz/xx-queue-pages-motu.txt'
2617--- lib/lp/soyuz/stories/soyuz/xx-queue-pages-motu.txt 2013-05-28 08:49:38 +0000
2618+++ lib/lp/soyuz/stories/soyuz/xx-queue-pages-motu.txt 2013-09-27 04:45:05 +0000
2619@@ -53,8 +53,7 @@
2620
2621 >>> motu_browser.getControl(name="QUEUE_ID").value = ['4']
2622 >>> motu_browser.getControl(name="Accept").click()
2623- >>> for message in get_feedback_messages(motu_browser.contents):
2624- ... print message
2625+ >>> print_feedback_messages(motu_browser.contents)
2626 FAILED: alsa-utils (You have no rights to accept component(s) &#x27;main&#x27;)
2627
2628 The same applies to the binary upload "pmount" because its build
2629@@ -62,8 +61,7 @@
2630
2631 >>> motu_browser.getControl(name="QUEUE_ID").value=['2']
2632 >>> motu_browser.getControl(name="Accept").click()
2633- >>> for message in get_feedback_messages(motu_browser.contents):
2634- ... print message
2635+ >>> print_feedback_messages(motu_browser.contents)
2636 FAILED: pmount (You have no rights to accept component(s) &#x27;main&#x27;)
2637
2638 Let's change the components on some uploads so that the user has
2639@@ -109,8 +107,7 @@
2640 >>> motu_browser.getControl(
2641 ... name="component_override").displayValue = ["main"]
2642 >>> motu_browser.getControl(name="Accept").click()
2643- >>> for message in get_feedback_messages(motu_browser.contents):
2644- ... print message
2645+ >>> print_feedback_messages(motu_browser.contents)
2646 FAILED: alsa-utils (No rights to override to main)
2647
2648 The same applies to the binary:
2649@@ -119,8 +116,7 @@
2650 >>> motu_browser.getControl(
2651 ... name="component_override").displayValue = ["main"]
2652 >>> motu_browser.getControl(name="Accept").click()
2653- >>> for message in get_feedback_messages(motu_browser.contents):
2654- ... print message
2655+ >>> print_feedback_messages(motu_browser.contents)
2656 FAILED: pmount (No rights to override to main)
2657
2658 Our user is able to override to multiverse, however. Let's do that
2659@@ -130,8 +126,7 @@
2660 >>> motu_browser.getControl(
2661 ... name="component_override").displayValue = ["multiverse"]
2662 >>> motu_browser.getControl(name="Accept").click()
2663- >>> for message in get_feedback_messages(motu_browser.contents):
2664- ... print message
2665+ >>> print_feedback_messages(motu_browser.contents)
2666 OK: pmount(multiverse/(unchanged)/(unchanged))
2667
2668 Our user is also able to reject, let's reject alsa-utils:
2669@@ -139,8 +134,7 @@
2670 >>> motu_browser.getControl(name="QUEUE_ID").value = ['4']
2671 >>> motu_browser.getControl(name='rejection_comment').value = 'Foo'
2672 >>> motu_browser.getControl(name="Reject").click()
2673- >>> for message in get_feedback_messages(motu_browser.contents):
2674- ... print message
2675+ >>> print_feedback_messages(motu_browser.contents)
2676 OK: alsa-utils
2677
2678 In some cases the user might select more than one item at once, but he
2679@@ -152,7 +146,6 @@
2680 >>> motu_browser.getControl(
2681 ... name="component_override").displayValue = ["multiverse"]
2682 >>> motu_browser.getControl(name="Accept").click()
2683- >>> for message in sorted(get_feedback_messages(motu_browser.contents)):
2684- ... print message
2685+ >>> print_feedback_messages(motu_browser.contents)
2686 FAILED: netapplet (You have no rights to accept component(s) &#x27;main&#x27;)
2687 OK: mozilla-firefox(multiverse/(unchanged)/(unchanged))
2688
2689=== modified file 'lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt'
2690--- lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt 2013-07-25 11:58:55 +0000
2691+++ lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt 2013-09-27 04:45:05 +0000
2692@@ -259,8 +259,7 @@
2693 >>> anon_browser.getControl(
2694 ... name="queue_state", index=0).displayValue = ['Accepted']
2695 >>> anon_browser.getControl("Update").click()
2696- >>> for message in get_feedback_messages(anon_browser.contents):
2697- ... print message
2698+ >>> print_feedback_messages(anon_browser.contents)
2699 The Accepted queue is empty.
2700
2701 Now we act on the queue, which requires admin or upload_manager permission.
2702@@ -362,9 +361,7 @@
2703 >>> duplicate_submission_browser.getControl(
2704 ... name="QUEUE_ID").value = [str(bar_queue_id)]
2705 >>> duplicate_submission_browser.getControl(name="Accept").click()
2706- >>> for message in get_feedback_messages(
2707- ... duplicate_submission_browser.contents):
2708- ... print message
2709+ >>> print_feedback_messages(duplicate_submission_browser.contents)
2710 FAILED: bar (Unable to accept queue item due to status.)
2711
2712 No emails are sent in this case:
2713@@ -380,8 +377,7 @@
2714 ... "http://localhost/ubuntu/breezy-autotest/+queue")
2715 >>> upload_manager_browser.getControl(name="QUEUE_ID").value = ['1']
2716 >>> upload_manager_browser.getControl(name="Accept").click()
2717- >>> for message in get_feedback_messages(upload_manager_browser.contents):
2718- ... print message
2719+ >>> print_feedback_messages(upload_manager_browser.contents)
2720 OK: mozilla-firefox
2721
2722 The item is moved to the ACCEPTED queue:
2723@@ -418,8 +414,7 @@
2724
2725 >>> upload_manager_browser.getControl(name="QUEUE_ID").value = ['9']
2726 >>> upload_manager_browser.getControl(name="Accept").click()
2727- >>> for message in get_feedback_messages(upload_manager_browser.contents):
2728- ... print message
2729+ >>> print_feedback_messages(upload_manager_browser.contents)
2730 OK: cnews
2731
2732 And the page is still on the Unapproved list:
2733@@ -470,9 +465,7 @@
2734 He sees the informational message that confirms the details of what was
2735 overridden:
2736
2737- >>> for message in sorted(get_feedback_messages(
2738- ... upload_manager_browser.contents)):
2739- ... print message
2740+ >>> print_feedback_messages(upload_manager_browser.contents)
2741 OK: netapplet(restricted/admin)
2742 OK: pmount(restricted/admin/extra)
2743
2744@@ -524,8 +517,7 @@
2745 >>> upload_manager_browser.getControl(name='rejection_comment').value = (
2746 ... 'Foo')
2747 >>> upload_manager_browser.getControl(name="Reject").click()
2748- >>> for message in get_feedback_messages(upload_manager_browser.contents):
2749- ... print message
2750+ >>> print_feedback_messages(upload_manager_browser.contents)
2751 OK: alsa-utils
2752
2753 >>> print_queue(upload_manager_browser.contents)
2754
2755=== modified file 'lib/lp/testing/browser.py'
2756--- lib/lp/testing/browser.py 2012-06-29 08:40:05 +0000
2757+++ lib/lp/testing/browser.py 2013-09-27 04:45:05 +0000
2758@@ -39,7 +39,7 @@
2759 extract_text,
2760 find_main_content,
2761 find_tag_by_id,
2762- get_feedback_messages,
2763+ print_feedback_messages,
2764 )
2765
2766
2767@@ -145,7 +145,7 @@
2768 test.globs['browser'] = Browser()
2769 test.globs['find_tag_by_id'] = find_tag_by_id
2770 test.globs['find_main_content'] = find_main_content
2771- test.globs['get_feedback_messages'] = get_feedback_messages
2772+ test.globs['print_feedback_messages'] = print_feedback_messages
2773 test.globs['extract_text'] = extract_text
2774
2775
2776
2777=== modified file 'lib/lp/testing/doc/pagetest-helpers.txt'
2778--- lib/lp/testing/doc/pagetest-helpers.txt 2012-07-06 06:02:33 +0000
2779+++ lib/lp/testing/doc/pagetest-helpers.txt 2013-09-27 04:45:05 +0000
2780@@ -424,14 +424,14 @@
2781 TEXT: "text with spaces"
2782
2783
2784-get_feedback_messages
2785+print_feedback_messages
2786 ---------------------
2787
2788 When testing an error condition or a notification we often are only
2789 interested in the feedback messages. This helper will get informational
2790 messages and error messages, based on the CSS class.
2791
2792- >>> get_feedback_messages = test.globs['get_feedback_messages']
2793+ >>> print_feedback_messages = test.globs['print_feedback_messages']
2794 >>> class FakeBrowser:
2795 ... pass
2796 >>> browser = FakeBrowser()
2797@@ -442,8 +442,9 @@
2798 ... <div class="error message">Red Alert!</div>
2799 ... </html>'''
2800
2801- >>> get_feedback_messages(browser.contents)
2802- [u'1 file has been deleted.', u'Red Alert!']
2803+ >>> print_feedback_messages(browser.contents)
2804+ 1 file has been deleted.
2805+ Red Alert!
2806
2807 The helper extracts the text of the messages, which makes a difference
2808 if the messages contain html elements.
2809@@ -458,8 +459,9 @@
2810 ... </div>
2811 ... </html>'''
2812
2813- >>> get_feedback_messages(browser.contents)
2814- [u'1 file has been deleted.', u'Red Alert! There are more details.']
2815+ >>> print_feedback_messages(browser.contents)
2816+ 1 file has been deleted.
2817+ Red Alert! There are more details.
2818
2819
2820 print_radio_button_field
2821
2822=== modified file 'lib/lp/testing/pages.py'
2823--- lib/lp/testing/pages.py 2013-04-22 09:11:01 +0000
2824+++ lib/lp/testing/pages.py 2013-09-27 04:45:05 +0000
2825@@ -281,7 +281,7 @@
2826 def print_feedback_messages(content):
2827 """Print out the feedback messages."""
2828 for message in get_feedback_messages(content):
2829- print message
2830+ print extract_text(message)
2831
2832
2833 def print_table(content, columns=None, skip_rows=None, sep="\t"):
2834@@ -798,7 +798,6 @@
2835 test.globs['find_tags_by_class'] = find_tags_by_class
2836 test.globs['find_portlet'] = find_portlet
2837 test.globs['find_main_content'] = find_main_content
2838- test.globs['get_feedback_messages'] = get_feedback_messages
2839 test.globs['print_feedback_messages'] = print_feedback_messages
2840 test.globs['print_table'] = print_table
2841 test.globs['extract_link_from_tag'] = extract_link_from_tag
2842
2843=== modified file 'lib/lp/translations/stories/distroseries/xx-distroseries-language-packs.txt'
2844--- lib/lp/translations/stories/distroseries/xx-distroseries-language-packs.txt 2013-04-11 00:51:46 +0000
2845+++ lib/lp/translations/stories/distroseries/xx-distroseries-language-packs.txt 2013-09-27 04:45:05 +0000
2846@@ -104,7 +104,7 @@
2847 >>> admin_browser.getControl('Change').click()
2848 >>> print admin_browser.url
2849 http://translations.launchpad.dev/ubuntu/hoary/+language-packs
2850- >>> print "\n".join(get_feedback_messages(admin_browser.contents))
2851+ >>> print_feedback_messages(admin_browser.contents)
2852 Your request has been noted. Next language pack export will include
2853 all available translations...
2854
2855
2856=== modified file 'lib/lp/translations/stories/importqueue/xx-translation-import-queue.txt'
2857--- lib/lp/translations/stories/importqueue/xx-translation-import-queue.txt 2013-04-11 01:27:33 +0000
2858+++ lib/lp/translations/stories/importqueue/xx-translation-import-queue.txt 2013-09-27 04:45:05 +0000
2859@@ -444,10 +444,7 @@
2860 >>> evo_owner_browser.getControl('Upload').click()
2861 >>> evo_owner_browser.url
2862 'http://translations.launchpad.dev/evolution/trunk/+translations-upload'
2863- >>> msgs = get_feedback_messages(evo_owner_browser.contents)
2864- >>> print len(msgs)
2865- 1
2866- >>> print msgs[0]
2867+ >>> print_feedback_messages(evo_owner_browser.contents)
2868 Upload ignored. The tarball you uploaded did not contain...
2869
2870 Bad filter_extension
2871
2872=== modified file 'lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt'
2873--- lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt 2009-09-18 15:42:19 +0000
2874+++ lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt 2013-09-27 04:45:05 +0000
2875@@ -55,8 +55,7 @@
2876 >>> user_browser.getControl('Format:').clear()
2877 >>> user_browser.getControl('Request Download').click()
2878
2879- >>> for message in get_feedback_messages(user_browser.contents):
2880- ... print message
2881+ >>> print_feedback_messages(user_browser.contents)
2882 Please select a valid format for download.
2883
2884 The most usual and most well-supported format is PO.
2885@@ -67,8 +66,7 @@
2886 >>> print user_browser.url
2887 http://translations.launchpad.dev/evolution/trunk
2888
2889- >>> for message in get_feedback_messages(user_browser.contents):
2890- ... print message
2891+ >>> print_feedback_messages(user_browser.contents)
2892 Your request has been received. Expect to receive an email shortly.
2893
2894 An alternative is MO.
2895@@ -79,8 +77,7 @@
2896 >>> print user_browser.url
2897 http://translations.launchpad.dev/evolution/trunk
2898
2899- >>> for message in get_feedback_messages(user_browser.contents):
2900- ... print message
2901+ >>> print_feedback_messages(user_browser.contents)
2902 Your request has been received. Expect to receive an email shortly.
2903
2904
2905@@ -90,8 +87,7 @@
2906 the option to download any.
2907
2908 >>> user_browser.open('http://translations.launchpad.dev/bzr/trunk/+export')
2909- >>> for message in get_feedback_messages(user_browser.contents):
2910- ... print message
2911+ >>> print_feedback_messages(user_browser.contents)
2912 There are no translations to download in Bazaar trunk series.
2913
2914 On +translate pages for products that do not have any translations, the action
2915
2916=== modified file 'lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.txt'
2917--- lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.txt 2012-11-08 23:58:19 +0000
2918+++ lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.txt 2013-09-27 04:45:05 +0000
2919@@ -58,7 +58,7 @@
2920 >>> browser.getControl("Request one-time import").click()
2921 >>> print browser.url
2922 http://translations.launchpad.dev/evolution/trunk
2923- >>> print "\n".join(get_feedback_messages(browser.contents))
2924+ >>> print_feedback_messages(browser.contents)
2925 The import has been requested.
2926
2927 == The request page without a branch ==
2928
2929=== modified file 'lib/lp/translations/stories/productseries/xx-productseries-translations-settings.txt'
2930--- lib/lp/translations/stories/productseries/xx-productseries-translations-settings.txt 2012-11-08 23:58:19 +0000
2931+++ lib/lp/translations/stories/productseries/xx-productseries-translations-settings.txt 2013-09-27 04:45:05 +0000
2932@@ -88,7 +88,7 @@
2933
2934 >>> print browser.url
2935 http://translations.launchpad.dev/evolution/trunk/
2936- >>> print "\n".join(get_feedback_messages(browser.contents))
2937+ >>> print_feedback_messages(browser.contents)
2938 The settings have been updated.
2939
2940 If he looks at the synchonization settings page again, he sees that
2941
2942=== modified file 'lib/lp/translations/stories/standalone/xx-licensing.txt'
2943--- lib/lp/translations/stories/standalone/xx-licensing.txt 2012-05-24 20:25:54 +0000
2944+++ lib/lp/translations/stories/standalone/xx-licensing.txt 2013-09-27 04:45:05 +0000
2945@@ -36,8 +36,8 @@
2946
2947 Karl sees a notice acknowledging his choice.
2948
2949- >>> get_feedback_messages(browser.contents)
2950- [u'We respect your choice...']
2951+ >>> print_feedback_messages(browser.contents)
2952+ We respect your choice...
2953
2954 He's also forwarded back to the Spanish alsa-utils translations page.
2955
2956@@ -75,8 +75,8 @@
2957 >>> radiobuttons.value = ['BSD']
2958 >>> browser.getControl("Confirm").click()
2959
2960- >>> get_feedback_messages(browser.contents)
2961- [u'Thank you for BSD-licensing your translations.']
2962+ >>> print_feedback_messages(browser.contents)
2963+ Thank you for BSD-licensing your translations.
2964
2965 Karl can now browse to a +translate page without being forwarded.
2966
2967
2968=== modified file 'lib/lp/translations/stories/standalone/xx-pofile-details.txt'
2969--- lib/lp/translations/stories/standalone/xx-pofile-details.txt 2011-05-27 19:53:20 +0000
2970+++ lib/lp/translations/stories/standalone/xx-pofile-details.txt 2013-09-27 04:45:05 +0000
2971@@ -115,17 +115,17 @@
2972
2973 >>> anon_browser.open('http://translations.launchpad.dev/evolution/trunk/'
2974 ... '+pots/evolution-2.2/es/+filter?person=danilo')
2975- >>> get_feedback_messages(anon_browser.contents)
2976- [u'Requested person not found.',
2977- u'This person has made no contributions to this file.']
2978+ >>> print_feedback_messages(anon_browser.contents)
2979+ Requested person not found.
2980+ This person has made no contributions to this file.
2981
2982 If a person to filter by is not specified, user is notified of that.
2983
2984 >>> anon_browser.open('http://translations.launchpad.dev/evolution/trunk/'
2985 ... '+pots/evolution-2.2/es/+filter')
2986- >>> get_feedback_messages(anon_browser.contents)
2987- [u'No person to filter by specified.',
2988- u'This person has made no contributions to this file.']
2989+ >>> print_feedback_messages(anon_browser.contents)
2990+ No person to filter by specified.
2991+ This person has made no contributions to this file.
2992
2993
2994 Merged accounts
2995
2996=== modified file 'lib/lp/translations/stories/standalone/xx-pofile-translate-alternative-language.txt'
2997--- lib/lp/translations/stories/standalone/xx-pofile-translate-alternative-language.txt 2013-04-11 00:51:46 +0000
2998+++ lib/lp/translations/stories/standalone/xx-pofile-translate-alternative-language.txt 2013-09-27 04:45:05 +0000
2999@@ -116,8 +116,7 @@
3000 suggestions will be shown only if he adds Japanese to his preferred languages
3001 first.
3002
3003- >>> for message in get_feedback_messages(browser.contents):
3004- ... print extract_text(message)
3005+ >>> print_feedback_messages(browser.contents)
3006 Not showing suggestions from selected alternative language Japanese (ja).
3007 If you wish to see suggestions from this language, add it to your
3008 preferred languages first.
3009
3010=== modified file 'lib/lp/translations/stories/standalone/xx-pofile-translate.txt'
3011--- lib/lp/translations/stories/standalone/xx-pofile-translate.txt 2010-12-02 16:13:51 +0000
3012+++ lib/lp/translations/stories/standalone/xx-pofile-translate.txt 2013-09-27 04:45:05 +0000
3013@@ -229,13 +229,11 @@
3014
3015 >>> browser.open('http://translations.launchpad.dev/ubuntu/hoary/'
3016 ... '+source/evolution/+pots/evolution-2.2/ab/+translate')
3017- >>> for message in get_feedback_messages(browser.contents):
3018- ... print extract_text(message)
3019+ >>> print_feedback_messages(browser.contents)
3020 Launchpad can&#8217;t handle the plural items ...
3021
3022 >>> browser.open('http://translations.launchpad.dev/ubuntu/hoary/'
3023 ... '+source/evolution/+pots/evolution-2.2/ab/5/+translate')
3024- >>> for message in get_feedback_messages(browser.contents):
3025- ... print extract_text(message)
3026+ >>> print_feedback_messages(browser.contents)
3027 Launchpad can&#8217;t handle the plural items ...
3028
3029
3030=== modified file 'lib/lp/translations/stories/standalone/xx-potemplate-export.txt'
3031--- lib/lp/translations/stories/standalone/xx-potemplate-export.txt 2009-12-10 12:46:11 +0000
3032+++ lib/lp/translations/stories/standalone/xx-potemplate-export.txt 2013-09-27 04:45:05 +0000
3033@@ -27,8 +27,7 @@
3034 >>> browser.getControl('Format:').clear()
3035 >>> browser.getControl('Request Download').click()
3036
3037- >>> for message in get_feedback_messages(browser.contents):
3038- ... print message
3039+ >>> print_feedback_messages(browser.contents)
3040 Please select a valid format for download.
3041
3042 If we choose 'Selected files' but don't select any PO file, we should receive
3043@@ -38,8 +37,7 @@
3044 >>> browser.getControl('Format:').value = ['PO']
3045 >>> browser.getControl('Request Download').click()
3046
3047- >>> for message in get_feedback_messages(browser.contents):
3048- ... print message
3049+ >>> print_feedback_messages(browser.contents)
3050 Please select at least one translation or template.
3051
3052 If we POST the page with valid data, it should add the request to the queue.
3053@@ -52,8 +50,7 @@
3054 >>> print browser.url
3055 http://translations.launchpad.dev/ubuntu/hoary/+source/evolution/+pots/evolution-2.2
3056
3057- >>> for message in get_feedback_messages(browser.contents):
3058- ... print message
3059+ >>> print_feedback_messages(browser.contents)
3060 Your request has been received. Expect to receive an email shortly.
3061
3062 We can also request only the PO Template. By doing this we're basically adding
3063@@ -68,7 +65,6 @@
3064 >>> print browser.url
3065 http://translations.launchpad.dev/ubuntu/hoary/+source/evolution/+pots/evolution-2.2
3066
3067- >>> for message in get_feedback_messages(browser.contents):
3068- ... print message
3069+ >>> print_feedback_messages(browser.contents)
3070 Your request has been received. Expect to receive an email shortly.
3071
3072
3073=== modified file 'lib/lp/translations/stories/standalone/xx-product-export.txt'
3074--- lib/lp/translations/stories/standalone/xx-product-export.txt 2011-12-29 05:29:36 +0000
3075+++ lib/lp/translations/stories/standalone/xx-product-export.txt 2013-09-27 04:45:05 +0000
3076@@ -29,8 +29,7 @@
3077 Download : Translations...
3078
3079 >>> user_browser.getControl('Request Download').click()
3080- >>> for message in get_feedback_messages(user_browser.contents):
3081- ... print message
3082+ >>> print_feedback_messages(user_browser.contents)
3083 Your request has been received. Expect to receive an email shortly.
3084
3085
3086
3087=== modified file 'lib/lp/translations/stories/standalone/xx-sourcepackage-export.txt'
3088--- lib/lp/translations/stories/standalone/xx-sourcepackage-export.txt 2012-01-15 13:32:27 +0000
3089+++ lib/lp/translations/stories/standalone/xx-sourcepackage-export.txt 2013-09-27 04:45:05 +0000
3090@@ -173,8 +173,7 @@
3091 >>> print browser.url
3092 http://translations.launchpad.dev/ubuntu/hoary/+source/mozilla
3093
3094- >>> for message in get_feedback_messages(browser.contents):
3095- ... print message
3096+ >>> print_feedback_messages(browser.contents)
3097 Your request has been received. Expect to receive an email shortly.
3098
3099
3100@@ -204,8 +203,7 @@
3101 >>> browser.open(
3102 ... 'http://translations.launchpad.dev/'
3103 ... 'ubuntu/hoary/+source/evolution/+export')
3104- >>> for message in get_feedback_messages(browser.contents):
3105- ... print message
3106+ >>> print_feedback_messages(browser.contents)
3107
3108 >>> an_evolution_template.source_file_format = TranslationFileFormat.MO
3109 >>> flush_database_updates()
3110@@ -213,8 +211,7 @@
3111 >>> browser.open(
3112 ... 'http://translations.launchpad.dev/'
3113 ... 'ubuntu/hoary/+source/evolution/+export')
3114- >>> for message in get_feedback_messages(browser.contents):
3115- ... print message
3116+ >>> print_feedback_messages(browser.contents)
3117 This package has templates with different native file formats. If you
3118 proceed, all translations will be exported in the single format you
3119 specify.