Merge lp:~cjwatson/launchpad/zope.pagetemplate-4.3.0 into lp:launchpad

Proposed by Colin Watson
Status: Merged
Merged at revision: 18563
Proposed branch: lp:~cjwatson/launchpad/zope.pagetemplate-4.3.0
Merge into: lp:launchpad
Prerequisite: lp:~cjwatson/launchpad/twisted-16.5.0
Diff against target: 477 lines (+91/-88)
12 files modified
constraints.txt (+8/-16)
lib/lp/answers/browser/tests/faq-views.txt (+1/-1)
lib/lp/app/browser/tests/menu.txt (+8/-7)
lib/lp/app/doc/lazr-js-widgets.txt (+8/-8)
lib/lp/app/doc/menus.txt (+14/-14)
lib/lp/app/doc/tales.txt (+20/-16)
lib/lp/blueprints/stories/blueprints/xx-creation.txt (+18/-12)
lib/lp/registry/browser/tests/person-views.txt (+2/-2)
lib/lp/registry/browser/tests/pillar-views.txt (+6/-6)
lib/lp/services/webapp/doc/menus.txt (+2/-2)
lib/lp/translations/stories/standalone/xx-pofile-translate-lang-direction.txt (+3/-3)
lib/lp/translations/stories/standalone/xx-pofile-translate-message-filtering.txt (+1/-1)
To merge this branch: bzr merge lp:~cjwatson/launchpad/zope.pagetemplate-4.3.0
Reviewer Review Type Date Requested Status
William Grant code Approve
Review via email: mp+335582@code.launchpad.net

Commit message

Upgrade to zope.pagetemplate 4.3.0, dropping the untrustedpython extra in the process.

Description of the change

This squashes a local fork. The results of tal:attributes are now emitted in sorted order, which required some minor doctest adjustments.

The untrustedpython extra would have been handled slightly differently with the upgrade, but after some consideration I decided to simply drop it, since all our page template files are in trusted code anyway so there's no point going to particular lengths to sandbox their "python:" expressions any more than we would if they were just in normal Python code.

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
=== modified file 'constraints.txt'
--- constraints.txt 2018-02-26 12:22:07 +0000
+++ constraints.txt 2018-02-26 14:19:56 +0000
@@ -35,7 +35,8 @@
35zope.filerepresentation==3.6.135zope.filerepresentation==3.6.1
36zope.formlib==4.0.636zope.formlib==4.0.6
37zope.hookable==3.4.137zope.hookable==3.4.1
38zope.i18n==3.7.438#zope.i18n==3.7.4
39zope.i18n==4.3.1
39zope.i18nmessageid==3.5.340zope.i18nmessageid==3.5.3
40zope.index==3.6.441zope.index==3.6.4
41#zope.interface==3.7.042#zope.interface==3.7.0
@@ -49,14 +50,7 @@
49zope.mimetype==1.3.150zope.mimetype==1.3.1
50zope.minmax==1.1.251zope.minmax==1.1.2
51#zope.pagetemplate==3.5.252#zope.pagetemplate==3.5.2
52# Build of lp:~wallyworld/zope.pagetemplate/fix-isinstance53zope.pagetemplate==4.3.0
53# p1 This version adds a small change to the traversal logic so that the
54# optimisation which applies if the object is a dict also works for
55# subclasses of dict. This patch has been merged in 4.2.0, so we can
56# drop it when we upgrade.
57# post2 Cherry-pick zope.security [untrustedpython] dependency from 3.5.1.
58# Use PEP 440-compliant version.
59zope.pagetemplate==3.5.0.post2
60zope.password==3.6.154zope.password==3.6.1
61zope.pluggableauth==1.255zope.pluggableauth==1.2
62zope.principalannotation==3.6.156zope.principalannotation==3.6.1
@@ -67,11 +61,7 @@
67zope.publisher==3.12.661zope.publisher==3.12.6
68zope.ramcache==1.062zope.ramcache==1.0
69zope.schema==3.7.163zope.schema==3.7.1
70#zope.security==3.8.364zope.security==3.8.3
71# Tell pip about extras to work around https://github.com/pypa/pip/issues/3046
72# XXX cjwatson 2017-09-03: This should be fixed in pip 9.0.0, but apparently
73# isn't.
74zope.security[untrustedpython]==3.8.3
75zope.securitypolicy==3.7.065zope.securitypolicy==3.7.0
76zope.sendmail==3.7.566zope.sendmail==3.7.5
77zope.sequencesort==3.4.067zope.sequencesort==3.4.0
@@ -82,7 +72,8 @@
82zope.site==3.9.272zope.site==3.9.2
83zope.size==3.4.173zope.size==3.4.1
84zope.structuredtext==3.5.174zope.structuredtext==3.5.1
85zope.tal==3.5.275#zope.tal==3.5.2
76zope.tal==4.3.0
86zope.tales==3.5.377zope.tales==3.5.3
87#zope.testing==3.10.378#zope.testing==3.10.3
88# p1 Build of lp:~mars/zope.testing/3.9.4-p1. Fixes bugs 570380 and 587886.79# p1 Build of lp:~mars/zope.testing/3.9.4-p1. Fixes bugs 570380 and 587886.
@@ -131,7 +122,8 @@
131py==1.4.8122py==1.4.8
132#Pygments==1.4123#Pygments==1.4
133Pygments==2.2.0124Pygments==2.2.0
134python-gettext==1.0125#python-gettext==1.0
126python-gettext==3.0
135#python-subunit==0.0.7127#python-subunit==0.0.7
136python-subunit==0.0.8beta128python-subunit==0.0.8beta
137#pytz==2014.10129#pytz==2014.10
138130
=== modified file 'lib/lp/answers/browser/tests/faq-views.txt'
--- lib/lp/answers/browser/tests/faq-views.txt 2012-07-09 03:31:31 +0000
+++ lib/lp/answers/browser/tests/faq-views.txt 2018-02-26 14:19:56 +0000
@@ -54,7 +54,7 @@
54permission, such as the project owner.54permission, such as the project owner.
5555
56 >>> print content.find('a', {'class': 'menu-link-create_faq sprite add'})56 >>> print content.find('a', {'class': 'menu-link-create_faq sprite add'})
57 <a href=".../firefox/+createfaq" class="...">Create a new FAQ</a>57 <a class="..." href=".../firefox/+createfaq">Create a new FAQ</a>
5858
59Other users do not see the link.59Other users do not see the link.
6060
6161
=== modified file 'lib/lp/app/browser/tests/menu.txt'
--- lib/lp/app/browser/tests/menu.txt 2015-07-08 16:05:11 +0000
+++ lib/lp/app/browser/tests/menu.txt 2018-02-26 14:19:56 +0000
@@ -80,15 +80,15 @@
80 <ul>80 <ul>
81 <BLANKLINE>81 <BLANKLINE>
82 <li>82 <li>
83 <a href="http://launchpad.dev/~beaker/+edit"83 <a class="menu-link-edit_thing sprite modify edit"
84 class="menu-link-edit_thing84 href="http://launchpad.dev/~beaker/+edit">Edit thing</a>
85 sprite modify edit">Edit thing</a>
86 </li>85 </li>
87 <BLANKLINE>86 <BLANKLINE>
88 <BLANKLINE>87 <BLANKLINE>
89 <li>88 <li>
90 <a href="http://launchpad.dev/~beaker/+edit-people"89 <a class="menu-link-edit_people"
91 class="menu-link-edit_people">Edit people related to thing</a>90 href="http://launchpad.dev/~beaker/+edit-people">Edit
91 people related to thing</a>
92 </li>92 </li>
93 ...93 ...
94 </div>94 </div>
@@ -147,8 +147,9 @@
147 sprite modify edit">Edit thing</span>147 sprite modify edit">Edit thing</span>
148 </li>148 </li>
149 <li>149 <li>
150 <a href="http://launchpad.dev/~beaker/+edit-people"150 <a class="menu-link-edit_people"
151 class="menu-link-edit_people">Edit people related to thing</a>151 href="http://launchpad.dev/~beaker/+edit-people">Edit
152 people related to thing</a>
152 </li>153 </li>
153 </ul>154 </ul>
154 </div>155 </div>
155156
=== modified file 'lib/lp/app/doc/lazr-js-widgets.txt'
--- lib/lp/app/doc/lazr-js-widgets.txt 2015-10-01 17:32:41 +0000
+++ lib/lp/app/doc/lazr-js-widgets.txt 2018-02-26 14:19:56 +0000
@@ -37,8 +37,8 @@
3737
38 >>> print widget()38 >>> print widget()
39 <h1 id="edit-display_name">39 <h1 id="edit-display_name">
40 <span style="max-width: 90%;"40 <span class="yui3-editable_text-text ellipsis"
41 class="yui3-editable_text-text ellipsis">41 style="max-width: 90%;">
42 Widgets &gt; important42 Widgets &gt; important
43 </span>43 </span>
44 </h1>44 </h1>
@@ -50,8 +50,8 @@
50 >>> ignored = login_person(product.owner)50 >>> ignored = login_person(product.owner)
51 >>> print widget()51 >>> print widget()
52 <h1 id="edit-display_name">52 <h1 id="edit-display_name">
53 <span style="max-width: 90%;"53 <span class="yui3-editable_text-text ellipsis"
54 class="yui3-editable_text-text ellipsis">54 style="max-width: 90%;">
55 Widgets &gt; important55 Widgets &gt; important
56 </span>56 </span>
57 <a class="yui3-editable_text-trigger sprite edit action-icon"57 <a class="yui3-editable_text-trigger sprite edit action-icon"
@@ -151,7 +151,7 @@
151 >>> login(ANONYMOUS)151 >>> login(ANONYMOUS)
152 >>> print widget()152 >>> print widget()
153 <div>153 <div>
154 <div id="edit-description" class="lazr-multiline-edit">154 <div class="lazr-multiline-edit" id="edit-description">
155 <div class="clearfix">155 <div class="clearfix">
156 <h3>A title</h3>156 <h3>A title</h3>
157 </div>157 </div>
@@ -170,7 +170,7 @@
170 >>> ignored = login_person(eric)170 >>> ignored = login_person(eric)
171 >>> print widget()171 >>> print widget()
172 <div>172 <div>
173 <div id="edit-description" class="lazr-multiline-edit">173 <div class="lazr-multiline-edit" id="edit-description">
174 <div class="clearfix">174 <div class="clearfix">
175 <div class="edit-controls">175 <div class="edit-controls">
176 <a class="yui3-editable_text-trigger sprite edit action-icon"176 <a class="yui3-editable_text-trigger sprite edit action-icon"
@@ -209,7 +209,7 @@
209 >>> clear_property_cache(widget)209 >>> clear_property_cache(widget)
210 >>> print widget()210 >>> print widget()
211 <div>211 <div>
212 <div id="edit-description" class="lazr-multiline-edit hidden">212 <div class="lazr-multiline-edit hidden" id="edit-description">
213 ...213 ...
214214
215This behaviour can be overridden by setting the "hide_empty" parameter to215This behaviour can be overridden by setting the "hide_empty" parameter to
@@ -219,7 +219,7 @@
219 ... archive, description, 'A title', hide_empty=False)219 ... archive, description, 'A title', hide_empty=False)
220 >>> print widget()220 >>> print widget()
221 <div>221 <div>
222 <div id="edit-description" class="lazr-multiline-edit">222 <div class="lazr-multiline-edit" id="edit-description">
223 ...223 ...
224224
225225
226226
=== modified file 'lib/lp/app/doc/menus.txt'
--- lib/lp/app/doc/menus.txt 2016-01-26 15:47:37 +0000
+++ lib/lp/app/doc/menus.txt 2018-02-26 14:19:56 +0000
@@ -1152,16 +1152,16 @@
1152 <div>1152 <div>
1153 <ul>1153 <ul>
1154 <li>1154 <li>
1155 <a href=".../joy-of-cooking/fried-spam"1155 <a class="selected-True"
1156 class="selected-True">Summary</a>1156 href=".../joy-of-cooking/fried-spam">Summary</a>
1157 </li>1157 </li>
1158 <li>1158 <li>
1159 <a href=".../joy-of-cooking/fried-spam/+questions"1159 <a class="selected-False"
1160 class="selected-False">Questions</a>1160 href=".../joy-of-cooking/fried-spam/+questions">Questions</a>
1161 </li>1161 </li>
1162 <li>1162 <li>
1163 <a href=".../joy-of-cooking/fried-spam/+variations"1163 <a class="selected-False"
1164 class="selected-False">Variations</a>1164 href=".../joy-of-cooking/fried-spam/+variations">Variations</a>
1165 </li>1165 </li>
1166 </ul>1166 </ul>
1167 </div>1167 </div>
@@ -1175,8 +1175,8 @@
1175 <div>1175 <div>
1176 <ul>1176 <ul>
1177 <li>1177 <li>
1178 <a href=".../joy-of-cooking/fried-spam"1178 <a class="selected-None"
1179 class="selected-None">Summary</a>1179 href=".../joy-of-cooking/fried-spam">Summary</a>
1180 </li>1180 </li>
1181 <li>1181 <li>
1182 <strong>Journal</strong>1182 <strong>Journal</strong>
@@ -1201,8 +1201,8 @@
1201 <strong>Read Journal entries</strong>1201 <strong>Read Journal entries</strong>
1202 </li>1202 </li>
1203 <li>1203 <li>
1204 <a href=".../joy-of-cooking/fried-spam/+write-entry"1204 <a class="selected-None"
1205 class="selected-None">Write1205 href=".../joy-of-cooking/fried-spam/+write-entry">Write
1206 a journal entry</a>1206 a journal entry</a>
1207 </li>1207 </li>
1208 </ul>1208 </ul>
12091209
=== modified file 'lib/lp/app/doc/tales.txt'
--- lib/lp/app/doc/tales.txt 2017-10-21 18:14:14 +0000
+++ lib/lp/app/doc/tales.txt 2018-02-26 14:19:56 +0000
@@ -1501,36 +1501,38 @@
1501The link can be rendered as an anchored icon.1501The link can be rendered as an anchored icon.
15021502
1503 >>> print test_tales('menu_link/fmt:icon', menu_link=menu_link)1503 >>> print test_tales('menu_link/fmt:icon', menu_link=menu_link)
1504 <a href="http://launchpad.dev/+place"1504 <a class="menu-link-test_link sprite icon action-icon"
1505 class="menu-link-test_link sprite icon action-icon"1505 href="http://launchpad.dev/+place"
1506 title="summary">text</a>1506 title="summary">text</a>
15071507
1508The default rendering can be explicitly called too, text with an icon to1508The default rendering can be explicitly called too, text with an icon to
1509the left.1509the left.
15101510
1511 >>> print test_tales('menu_link/fmt:link', menu_link=menu_link)1511 >>> print test_tales('menu_link/fmt:link', menu_link=menu_link)
1512 <a href="http://launchpad.dev/+place"1512 <a class="menu-link-test_link sprite icon"
1513 class="menu-link-test_link sprite icon" title="summary">text</a>1513 href="http://launchpad.dev/+place"
1514 title="summary">text</a>
15141515
1515The 'edit', 'remove' and 'trash-icon' links are rendered icons followed1516The 'edit', 'remove' and 'trash-icon' links are rendered icons followed
1516by text. They have both the sprite and modify CSS classes.1517by text. They have both the sprite and modify CSS classes.
15171518
1518 >>> menu_link.icon = 'edit'1519 >>> menu_link.icon = 'edit'
1519 >>> print test_tales('menu_link/fmt:link', menu_link=menu_link)1520 >>> print test_tales('menu_link/fmt:link', menu_link=menu_link)
1520 <a href="http://launchpad.dev/+place"1521 <a class="menu-link-test_link sprite modify edit"
1521 class="menu-link-test_link sprite modify edit" title="summary">text</a>1522 href="http://launchpad.dev/+place"
1523 title="summary">text</a>
15221524
1523 >>> menu_link.icon = 'remove'1525 >>> menu_link.icon = 'remove'
1524 >>> print test_tales('menu_link/fmt:link', menu_link=menu_link)1526 >>> print test_tales('menu_link/fmt:link', menu_link=menu_link)
1525 <a href="http://launchpad.dev/+place"1527 <a class="menu-link-test_link sprite modify remove"
1526 class="menu-link-test_link sprite modify remove"1528 href="http://launchpad.dev/+place"
1527 title="summary">text</a>1529 title="summary">text</a>
15281530
1529 >>> menu_link.icon = 'trash-icon'1531 >>> menu_link.icon = 'trash-icon'
1530 >>> print test_tales('menu_link/fmt:link', menu_link=menu_link)1532 >>> print test_tales('menu_link/fmt:link', menu_link=menu_link)
1531 <a href="http://launchpad.dev/+place"1533 <a class="menu-link-test_link sprite modify trash-icon"
1532 class="menu-link-test_link sprite modify trash-icon"1534 href="http://launchpad.dev/+place"
1533 title="summary">text</a>1535 title="summary">text</a>
15341536
1535fmt:icon-link and fmt:link-icon are deprecated. They are an alias for1537fmt:icon-link and fmt:link-icon are deprecated. They are an alias for
1536fmt:link. They do not control formatting as they once did; fmt:link1538fmt:link. They do not control formatting as they once did; fmt:link
@@ -1538,12 +1540,14 @@
15381540
1539 >>> menu_link.icon = 'icon'1541 >>> menu_link.icon = 'icon'
1540 >>> print test_tales('menu_link/fmt:icon-link', menu_link=menu_link)1542 >>> print test_tales('menu_link/fmt:icon-link', menu_link=menu_link)
1541 <a href="http://launchpad.dev/+place"1543 <a class="menu-link-test_link sprite icon"
1542 class="menu-link-test_link sprite icon" title="summary">text</a>1544 href="http://launchpad.dev/+place"
1545 title="summary">text</a>
15431546
1544 >>> print test_tales('menu_link/fmt:link-icon', menu_link=menu_link)1547 >>> print test_tales('menu_link/fmt:link-icon', menu_link=menu_link)
1545 <a href="http://launchpad.dev/+place"1548 <a class="menu-link-test_link sprite icon"
1546 class="menu-link-test_link sprite icon" title="summary">text</a>1549 href="http://launchpad.dev/+place"
1550 title="summary">text</a>
15471551
1548And the url format is also available.1552And the url format is also available.
15491553
15501554
=== modified file 'lib/lp/blueprints/stories/blueprints/xx-creation.txt'
--- lib/lp/blueprints/stories/blueprints/xx-creation.txt 2017-04-10 10:49:19 +0000
+++ lib/lp/blueprints/stories/blueprints/xx-creation.txt 2018-02-26 14:19:56 +0000
@@ -88,8 +88,9 @@
88 >>> for tag in find_tags_by_class(88 >>> for tag in find_tags_by_class(
89 ... user_browser.contents, 'menu-link-new'):89 ... user_browser.contents, 'menu-link-new'):
90 ... print tag90 ... print tag
91 <a href="http://blueprints.launchpad.dev/ubuntu/+addspec"91 <a class="menu-link-new..."
92 class="menu-link-new...>Register a blueprint</a>92 href="http://blueprints.launchpad.dev/ubuntu/+addspec">Register
93 a blueprint</a>
9394
9495
95From a distribution series96From a distribution series
@@ -104,8 +105,9 @@
104 >>> for tag in find_tags_by_class(105 >>> for tag in find_tags_by_class(
105 ... user_browser.contents, 'menu-link-new'):106 ... user_browser.contents, 'menu-link-new'):
106 ... print tag107 ... print tag
107 <a href="http://blueprints.launchpad.dev/ubuntu/hoary/+addspec"108 <a class="menu-link-new..."
108 class="menu-link-new...>Register a blueprint</a>109 href="http://blueprints.launchpad.dev/ubuntu/hoary/+addspec">Register
110 a blueprint</a>
109111
110112
111From a product113From a product
@@ -121,8 +123,9 @@
121 >>> for tag in find_tags_by_class(123 >>> for tag in find_tags_by_class(
122 ... user_browser.contents, 'menu-link-new'):124 ... user_browser.contents, 'menu-link-new'):
123 ... print tag125 ... print tag
124 <a href="http://blueprints.launchpad.dev/bzr/+addspec"126 <a class="menu-link-new..."
125 class="menu-link-new...>Register a blueprint</a>127 href="http://blueprints.launchpad.dev/bzr/+addspec">Register
128 a blueprint</a>
126129
127For products without any blueprints, users can follow the special "register130For products without any blueprints, users can follow the special "register
128it here as a blueprint" link:131it here as a blueprint" link:
@@ -148,8 +151,9 @@
148 >>> for tag in find_tags_by_class(151 >>> for tag in find_tags_by_class(
149 ... user_browser.contents, 'menu-link-new'):152 ... user_browser.contents, 'menu-link-new'):
150 ... print tag153 ... print tag
151 <a href="http://blueprints.launchpad.dev/firefox/1.0/+addspec"154 <a class="menu-link-new..."
152 class="menu-link-new...>Register a blueprint</a>155 href="http://blueprints.launchpad.dev/firefox/1.0/+addspec">Register
156 a blueprint</a>
153157
154158
155From a project159From a project
@@ -164,8 +168,9 @@
164 >>> for tag in find_tags_by_class(168 >>> for tag in find_tags_by_class(
165 ... user_browser.contents, 'menu-link-new'):169 ... user_browser.contents, 'menu-link-new'):
166 ... print tag170 ... print tag
167 <a href="http://blueprints.launchpad.dev/mozilla/+addspec"171 <a class="menu-link-new..."
168 class="menu-link-new...>Register a blueprint</a>172 href="http://blueprints.launchpad.dev/mozilla/+addspec">Register
173 a blueprint</a>
169174
170175
171From a sprint176From a sprint
@@ -180,8 +185,9 @@
180 >>> for tag in find_tags_by_class(185 >>> for tag in find_tags_by_class(
181 ... user_browser.contents, 'menu-link-new'):186 ... user_browser.contents, 'menu-link-new'):
182 ... print tag187 ... print tag
183 <a href="http://blueprints.launchpad.dev/sprints/futurista/+addspec"188 <a class="menu-link-new..."
184 class="menu-link-new...>Register a blueprint</a>189 href="http://blueprints.launchpad.dev/sprints/futurista/+addspec">Register
190 a blueprint</a>
185191
186192
187Registering a blueprint193Registering a blueprint
188194
=== modified file 'lib/lp/registry/browser/tests/person-views.txt'
--- lib/lp/registry/browser/tests/person-views.txt 2016-01-26 15:47:37 +0000
+++ lib/lp/registry/browser/tests/person-views.txt 2018-02-26 14:19:56 +0000
@@ -287,7 +287,7 @@
287 >>> print view.render()287 >>> print view.render()
288 <div id="working-on"...288 <div id="working-on"...
289 <a href="/~ken/+specs?role=assignee"> All assigned blueprints </a>...289 <a href="/~ken/+specs?role=assignee"> All assigned blueprints </a>...
290 ...<a href="http://blueprints.launchpad.dev/tool/+spec/..."...>Specs290 ...<a ...href="http://blueprints.launchpad.dev/tool/+spec/..."...>Specs
291 need stories</a>...291 need stories</a>...
292 </div>...292 </div>...
293293
@@ -331,7 +331,7 @@
331 does not work</a>...331 does not work</a>...
332 <a href="/~ken/+specs?role=assignee">332 <a href="/~ken/+specs?role=assignee">
333 All assigned blueprints </a>...333 All assigned blueprints </a>...
334 ...<a href="http://blueprints.launchpad.dev/tool/+spec/..."...>Specs334 ...<a ...href="http://blueprints.launchpad.dev/tool/+spec/..."...>Specs
335 need stories</a>...335 need stories</a>...
336 </div>...336 </div>...
337337
338338
=== modified file 'lib/lp/registry/browser/tests/pillar-views.txt'
--- lib/lp/registry/browser/tests/pillar-views.txt 2015-12-11 04:40:07 +0000
+++ lib/lp/registry/browser/tests/pillar-views.txt 2018-02-26 14:19:56 +0000
@@ -54,10 +54,10 @@
54 <h2>Get Involved</h2>54 <h2>Get Involved</h2>
55 <ul class="involvement">55 <ul class="involvement">
56 <li>56 <li>
57 <a href=... class="...bugs">Report a bug</a>...57 <a class="...bugs" href=...>Report a bug</a>...
58 </li>58 </li>
59 <li>59 <li>
60 <a href=... class="...answers">Ask a question</a>...60 <a class="...answers" href=...>Ask a question</a>...
61 </li>61 </li>
62 </ul>62 </ul>
63 ...63 ...
@@ -141,13 +141,13 @@
141141
142 >>> print find_tag_by_id(rendered, 'configuration_links')142 >>> print find_tag_by_id(rendered, 'configuration_links')
143 <table...143 <table...
144 <a href="http://launchpad.dev/bread/+configure-code"...144 <a ...href="http://launchpad.dev/bread/+configure-code"...
145 <span class="sprite no action-icon">...145 <span class="sprite no action-icon">...
146 <a href="http://launchpad.dev/bread/+configure-bugtracker"...146 <a ...href="http://launchpad.dev/bread/+configure-bugtracker"...
147 <span class="sprite no action-icon">... 147 <span class="sprite no action-icon">...
148 <a href="http://launchpad.dev/bread/+configure-translations"...148 <a ...href="http://launchpad.dev/bread/+configure-translations"...
149 <span class="sprite yes action-icon">...149 <span class="sprite yes action-icon">...
150 <a href="http://launchpad.dev/bread/+configure-answers"...150 <a ...href="http://launchpad.dev/bread/+configure-answers"...
151 <span class="sprite no action-icon">...151 <span class="sprite no action-icon">...
152 </table>152 </table>
153153
154154
=== modified file 'lib/lp/services/webapp/doc/menus.txt'
--- lib/lp/services/webapp/doc/menus.txt 2015-07-08 16:05:11 +0000
+++ lib/lp/services/webapp/doc/menus.txt 2018-02-26 14:19:56 +0000
@@ -868,8 +868,8 @@
868 >>> html = test_tales('context/menu:foo/first/render',868 >>> html = test_tales('context/menu:foo/first/render',
869 ... context=house, view=view, request=request)869 ... context=house, view=view, request=request)
870 >>> print html #doctest: +NORMALIZE_WHITESPACE870 >>> print html #doctest: +NORMALIZE_WHITESPACE
871 <a...href="http://127.0.0.1/sesamestreet/number73/+first"871 <a...class="menu-link-first"
872 ...class="menu-link-first">First menu</a>872 ...href="http://127.0.0.1/sesamestreet/number73/+first">First menu</a>
873873
874 # Clean up our special login.874 # Clean up our special login.
875875
876876
=== modified file 'lib/lp/translations/stories/standalone/xx-pofile-translate-lang-direction.txt'
--- lib/lp/translations/stories/standalone/xx-pofile-translate-lang-direction.txt 2009-07-01 20:45:39 +0000
+++ lib/lp/translations/stories/standalone/xx-pofile-translate-lang-direction.txt 2018-02-26 14:19:56 +0000
@@ -47,7 +47,7 @@
47direction:47direction:
4848
49 >>> print find_tag_by_id(browser.contents, 'msgset_130_es_suggestion_562_0')49 >>> print find_tag_by_id(browser.contents, 'msgset_130_es_suggestion_562_0')
50 <label style="white-space: normal" lang="es"50 <label style="white-space: normal" dir="ltr"
51 id="msgset_130_es_suggestion_562_0" dir="ltr"51 for="msgset_130_es_suggestion_562_0_radiobutton"
52 for="msgset_130_es_suggestion_562_0_radiobutton">libreta de52 id="msgset_130_es_suggestion_562_0" lang="es">libreta de
53 direcciones de Evolution</label>53 direcciones de Evolution</label>
5454
=== modified file 'lib/lp/translations/stories/standalone/xx-pofile-translate-message-filtering.txt'
--- lib/lp/translations/stories/standalone/xx-pofile-translate-message-filtering.txt 2016-01-26 15:47:37 +0000
+++ lib/lp/translations/stories/standalone/xx-pofile-translate-message-filtering.txt 2018-02-26 14:19:56 +0000
@@ -220,7 +220,7 @@
220 >>> user_browser.getLink('Previous').click()220 >>> user_browser.getLink('Previous').click()
221 >>> contents = find_main_content(user_browser.contents)221 >>> contents = find_main_content(user_browser.contents)
222 >>> contents.find(text='fnord').parent222 >>> contents.find(text='fnord').parent
223 <div lang="en-AU"...id="msgset_1_en_AU_suggestion_..._0"...>fnord</div>223 <div ... id="msgset_1_en_AU_suggestion_..._0" lang="en-AU">fnord</div>
224224
225225
226Messages changed in Ubuntu226Messages changed in Ubuntu