rendered paste bodyIndex: browser/link.py
===================================================================
--- browser/link.py (revision 55406)
+++ browser/link.py (working copy)
@@ -17,6 +17,10 @@
_marker=object()
+import re
+numbers_re = re.compile("&#(\d+);")
+
+
class BasicLink(object):
"""renderer for wicked links"""
section = _marker
@@ -58,6 +62,7 @@
@clearbefore
def load(self, links, chunk):
self._links = links
+ chunk = numbers_re.sub(lambda m : unichr(int(m.group(1))), chunk)
self.chunk = chunk
Index: browser/renderer.txt
===================================================================
--- browser/renderer.txt (revision 55408)
+++ browser/renderer.txt (working copy)
@@ -56,16 +56,23 @@
>>> renderer.load([], u'laboratoire de g\u00E9omatique')
-for some reason, the ampersand is being escaped too::
+Test unresolved links with unicode
>>> xstrip(renderer())
'<span class="wicked_unresolved" id="fieldname-2"><a class="wickedadd" href="http://nohost/test_folder_1_/testfo/@@wickedadd?Title=laboratoire%20de%20g%C3%A9omatique&section=fieldname"><span class="chunk">laboratoire de g\xc3\xa9omatique</span>+</a></span>\n'
+And with char refs
+
+ >>> renderer.load([], u'laboratoire de géomatique')
+
+ >>> xstrip(renderer())
+ '<span class="wicked_unresolved" id="fieldname-3"><a class="wickedadd" href="http://nohost/test_folder_1_/testfo/@@wickedadd?Title=laboratoire%20de%20g%C3%A9omatique&section=fieldname"><span class="chunk">laboratoire de g\xc3\xa9omatique</span>+</a></span>\n'
+
Test counter::
>>> renderer.load([], 'Chunk 3')
>>> print xstrip(renderer())
- <span class="wicked_unresolved" id="fieldname-3"><a class="wickedadd" href="http://nohost/test_folder_1_/testfo/@@wickedadd?Title=Chunk%203&section=fieldname"><span class="chunk">Chunk 3</span>+</a></span>...
+ <span class="wicked_unresolved" id="fieldname-4"><a class="wickedadd" href="http://nohost/test_folder_1_/testfo/@@wickedadd?Title=Chunk%203&section=fieldname"><span class="chunk">Chunk 3</span>+</a></span>...
Cleanup::