Author: jure
Date: Wed Mar 13 08:25:02 2013
New Revision: 1455836

URL: http://svn.apache.org/r1455836
Log:
#390, escape product delimiter in wiki syntax test cases, patch 
t390_r1455676_product_delimiter_escape.diff applied (from Olemis)


Modified:
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-attachment-link-tests.short.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-attachment-link-tests.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-comment-link-tests.short.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-comment-link-tests.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-milestone-link-tests.short.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-milestone-link-tests.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-query-link-tests.short.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-query-link-tests.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-report-link-tests.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-search-link-tests.short.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-search-link-tests.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.short.txt
    
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.txt
    incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/ticket/api.py

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py
 Wed Mar 13 08:25:02 2013
@@ -21,7 +21,7 @@
 import copy
 
 from genshi.builder import tag, Element
-from genshi.core import escape
+from genshi.core import escape, Markup, unescape
 
 from pkg_resources import resource_filename
 from trac.config import Option, PathOption
@@ -341,7 +341,7 @@ class MultiProductSystem(Component):
 
     # IWikiSyntaxProvider methods
 
-    short_syntax_delimiter = u'~'
+    short_syntax_delimiter = u'->'
 
     def get_wiki_syntax(self):
         yield (r'(?<!\S)!?(?P<pid>%s)%s(?P<ptarget>%s:(?:%s)|%s|%s(?:%s*%s)?)' 
%
@@ -448,7 +448,9 @@ class MultiProductSystem(Component):
                       fullmatch, extra=''):
         parent_match = {'ns' : ns,
                         'target' : target,
-                        'label': label,
+                        'label': Markup(escape(unescape(label)
+                                               if isinstance(label, Markup)
+                                               else label)),
                         'fullmatch' : fullmatch,
                         }
 

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-attachment-link-tests.short.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-attachment-link-tests.short.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-attachment-link-tests.short.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-attachment-link-tests.short.txt
 Wed Mar 13 08:25:02 2013
@@ -7,8 +7,8 @@
 %(link_prefix)sattachment:ticket:123:file.txt (deprecated)
 ------------------------------
 <p>
-<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in 
WikiStart">%(link_prefix)sattachment:wiki:WikiStart:file.txt</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a> (deprecated)
-<a class="attachment" href="%(path_prefix)s/attachment/ticket/123/file.txt" 
title="Attachment 'file.txt' in Ticket 
#123">%(link_prefix)sattachment:ticket:123:file.txt</a><a class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/ticket/123/file.txt" title="Download"></a> 
(deprecated)
+<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in 
WikiStart">%(link_prefix_escaped)sattachment:wiki:WikiStart:file.txt</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a> (deprecated)
+<a class="attachment" href="%(path_prefix)s/attachment/ticket/123/file.txt" 
title="Attachment 'file.txt' in Ticket 
#123">%(link_prefix_escaped)sattachment:ticket:123:file.txt</a><a 
class="trac-rawlink" href="%(path_prefix)s/raw-attachment/ticket/123/file.txt" 
title="Download"></a> (deprecated)
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - attachment: "foreign" 
links
@@ -17,36 +17,36 @@
 %(link_prefix)sattachment:foo.txt:wiki:SomePage/SubPage
 ------------------------------
 <p>
-<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in 
WikiStart">%(link_prefix)sattachment:file.txt:wiki:WikiStart</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a>
-<a class="attachment" href="%(path_prefix)s/attachment/ticket/123/file.txt" 
title="Attachment 'file.txt' in Ticket 
#123">%(link_prefix)sattachment:file.txt:ticket:123</a><a class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/ticket/123/file.txt" title="Download"></a>
-<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/SomePage/SubPage/foo.txt" 
title="Attachment 'foo.txt' in 
SomePage/SubPage">%(link_prefix)sattachment:foo.txt:wiki:SomePage/SubPage</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/SomePage/SubPage/foo.txt" 
title="Download"></a>
+<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in 
WikiStart">%(link_prefix_escaped)sattachment:file.txt:wiki:WikiStart</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a>
+<a class="attachment" href="%(path_prefix)s/attachment/ticket/123/file.txt" 
title="Attachment 'file.txt' in Ticket 
#123">%(link_prefix_escaped)sattachment:file.txt:ticket:123</a><a 
class="trac-rawlink" href="%(path_prefix)s/raw-attachment/ticket/123/file.txt" 
title="Download"></a>
+<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/SomePage/SubPage/foo.txt" 
title="Attachment 'foo.txt' in 
SomePage/SubPage">%(link_prefix_escaped)sattachment:foo.txt:wiki:SomePage/SubPage</a><a
 class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/SomePage/SubPage/foo.txt" 
title="Download"></a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - attachment: "local" links
 %(link_prefix)sattachment:file.txt
 ------------------------------
 <p>
-<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in WikiStart">%(link_prefix)sattachment:file.txt</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a>
+<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in WikiStart">%(link_prefix_escaped)sattachment:file.txt</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - attachment: "missing" 
links
 %(link_prefix)sattachment:foo.txt
 ------------------------------
 <p>
-<a class="missing attachment">%(link_prefix)sattachment:foo.txt</a>
+<a class="missing attachment">%(link_prefix_escaped)sattachment:foo.txt</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - attachment: "raw" links
 %(link_prefix)sraw-attachment:file.txt
 ------------------------------
 <p>
-<a class="attachment" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="%(link_title_prefix)sAttachment 'file.txt' in 
WikiStart">%(link_prefix)sraw-attachment:file.txt</a>
+<a class="attachment" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="%(link_title_prefix)sAttachment 'file.txt' in 
WikiStart">%(link_prefix_escaped)sraw-attachment:file.txt</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - attachment: raw format as 
explicit argument
 %(link_prefix)sattachment:file.txt?format=raw
 ------------------------------
 <p>
-<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt?format=raw" 
title="Attachment 'file.txt' in 
WikiStart">%(link_prefix)sattachment:file.txt?format=raw</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt?format=raw" 
title="Download"></a>
+<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt?format=raw" 
title="Attachment 'file.txt' in 
WikiStart">%(link_prefix_escaped)sattachment:file.txt?format=raw</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt?format=raw" 
title="Download"></a>
 </p>
 ------------------------------

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-attachment-link-tests.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-attachment-link-tests.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-attachment-link-tests.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-attachment-link-tests.txt
 Wed Mar 13 08:25:02 2013
@@ -9,8 +9,8 @@
 [%(link_prefix)sattachment:ticket:123:file.txt] (deprecated)
 ------------------------------
 <p>
-<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in 
WikiStart">%(link_prefix)sattachment:wiki:WikiStart:file.txt</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a> (deprecated)
-<a class="attachment" href="%(path_prefix)s/attachment/ticket/123/file.txt" 
title="Attachment 'file.txt' in Ticket 
#123">%(link_prefix)sattachment:ticket:123:file.txt</a><a class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/ticket/123/file.txt" title="Download"></a> 
(deprecated)
+<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in 
WikiStart">%(link_prefix_escaped)sattachment:wiki:WikiStart:file.txt</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a> (deprecated)
+<a class="attachment" href="%(path_prefix)s/attachment/ticket/123/file.txt" 
title="Attachment 'file.txt' in Ticket 
#123">%(link_prefix_escaped)sattachment:ticket:123:file.txt</a><a 
class="trac-rawlink" href="%(path_prefix)s/raw-attachment/ticket/123/file.txt" 
title="Download"></a> (deprecated)
 <a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in WikiStart">file.txt</a><a class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a> (deprecated)
 <a class="attachment" href="%(path_prefix)s/attachment/ticket/123/file.txt" 
title="Attachment 'file.txt' in Ticket #123">ticket:123:file.txt</a><a 
class="trac-rawlink" href="%(path_prefix)s/raw-attachment/ticket/123/file.txt" 
title="Download"></a> (deprecated)
 </p>
@@ -23,11 +23,11 @@
 %(link_prefix)sattachment:foo.txt:wiki:SomePage/SubPage
 ------------------------------
 <p>
-<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in 
WikiStart">%(link_prefix)sattachment:file.txt:wiki:WikiStart</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a>
-<a class="attachment" href="%(path_prefix)s/attachment/ticket/123/file.txt" 
title="Attachment 'file.txt' in Ticket 
#123">%(link_prefix)sattachment:file.txt:ticket:123</a><a class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/ticket/123/file.txt" title="Download"></a>
+<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in 
WikiStart">%(link_prefix_escaped)sattachment:file.txt:wiki:WikiStart</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a>
+<a class="attachment" href="%(path_prefix)s/attachment/ticket/123/file.txt" 
title="Attachment 'file.txt' in Ticket 
#123">%(link_prefix_escaped)sattachment:file.txt:ticket:123</a><a 
class="trac-rawlink" href="%(path_prefix)s/raw-attachment/ticket/123/file.txt" 
title="Download"></a>
 <a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in WikiStart">file.txt</a><a class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a>
 <a class="attachment" href="%(path_prefix)s/attachment/ticket/123/file.txt" 
title="Attachment 'file.txt' in Ticket #123">file.txt:ticket:123</a><a 
class="trac-rawlink" href="%(path_prefix)s/raw-attachment/ticket/123/file.txt" 
title="Download"></a>
-<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/SomePage/SubPage/foo.txt" 
title="Attachment 'foo.txt' in 
SomePage/SubPage">%(link_prefix)sattachment:foo.txt:wiki:SomePage/SubPage</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/SomePage/SubPage/foo.txt" 
title="Download"></a>
+<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/SomePage/SubPage/foo.txt" 
title="Attachment 'foo.txt' in 
SomePage/SubPage">%(link_prefix_escaped)sattachment:foo.txt:wiki:SomePage/SubPage</a><a
 class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/SomePage/SubPage/foo.txt" 
title="Download"></a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - attachment: "local" links
@@ -35,7 +35,7 @@
 [%(link_prefix)sattachment:file.txt that file]
 ------------------------------
 <p>
-<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in WikiStart">%(link_prefix)sattachment:file.txt</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a>
+<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in WikiStart">%(link_prefix_escaped)sattachment:file.txt</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a>
 <a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt" title="Attachment 
'file.txt' in WikiStart">that file</a><a class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="Download"></a>
 </p>
 ------------------------------
@@ -53,7 +53,7 @@
 [%(link_prefix)sraw-attachment:file.txt that file]
 ------------------------------
 <p>
-<a class="attachment" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="%(link_title_prefix)sAttachment 'file.txt' in 
WikiStart">%(link_prefix)sraw-attachment:file.txt</a>
+<a class="attachment" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="%(link_title_prefix)sAttachment 'file.txt' in 
WikiStart">%(link_prefix_escaped)sraw-attachment:file.txt</a>
 <a class="attachment" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt" 
title="%(link_title_prefix)sAttachment 'file.txt' in WikiStart">that file</a>
 </p>
 ------------------------------
@@ -62,7 +62,7 @@
 [%(link_prefix)sattachment:file.txt?format=raw that file]
 ------------------------------
 <p>
-<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt?format=raw" 
title="Attachment 'file.txt' in 
WikiStart">%(link_prefix)sattachment:file.txt?format=raw</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt?format=raw" 
title="Download"></a>
+<a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt?format=raw" 
title="Attachment 'file.txt' in 
WikiStart">%(link_prefix_escaped)sattachment:file.txt?format=raw</a><a 
class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt?format=raw" 
title="Download"></a>
 <a class="attachment" 
href="%(path_prefix)s/attachment/wiki/WikiStart/file.txt?format=raw" 
title="Attachment 'file.txt' in WikiStart">that file</a><a class="trac-rawlink" 
href="%(path_prefix)s/raw-attachment/wiki/WikiStart/file.txt?format=raw" 
title="Download"></a>
 </p>
 ------------------------------

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-comment-link-tests.short.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-comment-link-tests.short.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-comment-link-tests.short.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-comment-link-tests.short.txt
 Wed Mar 13 08:25:02 2013
@@ -6,13 +6,13 @@
 %(link_prefix)scomment:ticket:123:2 (deprecated)
 ------------------------------
 <p>
-<a href="%(path_prefix)s/ticket/123#comment:2" 
title="%(link_title_prefix)sComment 2 for Ticket 
#123">%(link_prefix)scomment:ticket:123:2</a> (deprecated)
+<a href="%(path_prefix)s/ticket/123#comment:2" 
title="%(link_title_prefix)sComment 2 for Ticket 
#123">%(link_prefix_escaped)scomment:ticket:123:2</a> (deprecated)
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - comment: link resolver
 %(link_prefix)scomment:2:ticket:123
 ------------------------------
 <p>
-<a href="%(path_prefix)s/ticket/123#comment:2" 
title="%(link_title_prefix)sComment 2 for Ticket 
#123">%(link_prefix)scomment:2:ticket:123</a>
+<a href="%(path_prefix)s/ticket/123#comment:2" 
title="%(link_title_prefix)sComment 2 for Ticket 
#123">%(link_prefix_escaped)scomment:2:ticket:123</a>
 </p>
 ------------------------------

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-comment-link-tests.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-comment-link-tests.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-comment-link-tests.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-comment-link-tests.txt
 Wed Mar 13 08:25:02 2013
@@ -8,7 +8,7 @@
 [%(link_prefix)scomment:ticket:123:description see descr] (deprecated)
 ------------------------------
 <p>
-<a href="%(path_prefix)s/ticket/123#comment:2" 
title="%(link_title_prefix)sComment 2 for Ticket 
#123">%(link_prefix)scomment:ticket:123:2</a> (deprecated)
+<a href="%(path_prefix)s/ticket/123#comment:2" 
title="%(link_title_prefix)sComment 2 for Ticket 
#123">%(link_prefix_escaped)scomment:ticket:123:2</a> (deprecated)
 <a href="%(path_prefix)s/ticket/123#comment:2" 
title="%(link_title_prefix)sComment 2 for Ticket #123">see above</a> 
(deprecated)
 <a href="%(path_prefix)s/ticket/123#comment:description" 
title="%(link_title_prefix)sComment description for Ticket #123">see descr</a> 
(deprecated)
 </p>
@@ -19,7 +19,7 @@
 [%(link_prefix)scomment:description:ticket:123 see descr]
 ------------------------------
 <p>
-<a href="%(path_prefix)s/ticket/123#comment:2" 
title="%(link_title_prefix)sComment 2 for Ticket 
#123">%(link_prefix)scomment:2:ticket:123</a>
+<a href="%(path_prefix)s/ticket/123#comment:2" 
title="%(link_title_prefix)sComment 2 for Ticket 
#123">%(link_prefix_escaped)scomment:2:ticket:123</a>
 <a href="%(path_prefix)s/ticket/123#comment:2" 
title="%(link_title_prefix)sComment 2 for Ticket #123">see above</a>
 <a href="%(path_prefix)s/ticket/123#comment:description" 
title="%(link_title_prefix)sComment description for Ticket #123">see descr</a>
 </p>

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-milestone-link-tests.short.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-milestone-link-tests.short.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-milestone-link-tests.short.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-milestone-link-tests.short.txt
 Wed Mar 13 08:25:02 2013
@@ -6,13 +6,13 @@
 %(link_prefix)smilestone:foo
 ------------------------------
 <p>
-<a class="missing milestone" href="%(path_prefix)s/milestone/foo" 
rel="nofollow">%(link_prefix)smilestone:foo</a>
+<a class="missing milestone" href="%(path_prefix)s/milestone/foo" 
rel="nofollow">%(link_prefix_escaped)smilestone:foo</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - milestone: link resolver 
+ arguments
 %(link_prefix)smilestone:?action=new
 ------------------------------
 <p>
-<a class="missing milestone" href="%(path_prefix)s/milestone/?action=new" 
rel="nofollow">%(link_prefix)smilestone:?action=new</a>
+<a class="missing milestone" href="%(path_prefix)s/milestone/?action=new" 
rel="nofollow">%(link_prefix_escaped)smilestone:?action=new</a>
 </p>
 ------------------------------

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-milestone-link-tests.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-milestone-link-tests.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-milestone-link-tests.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-milestone-link-tests.txt
 Wed Mar 13 08:25:02 2013
@@ -8,7 +8,7 @@
 [%(link_prefix)smilestone:roo Milestone Roo]
 ------------------------------
 <p>
-<a class="missing milestone" href="%(path_prefix)s/milestone/foo" 
rel="nofollow">%(link_prefix)smilestone:foo</a>
+<a class="missing milestone" href="%(path_prefix)s/milestone/foo" 
rel="nofollow">%(link_prefix_escaped)smilestone:foo</a>
 <a class="milestone" href="%(path_prefix)s/milestone/boo">Milestone Boo</a>
 <a class="closed milestone" href="%(path_prefix)s/milestone/roo">Milestone 
Roo</a>
 </p>
@@ -18,7 +18,7 @@
 [%(link_prefix)smilestone:boo#KnownIssues Known Issues for 1.0]
 ------------------------------
 <p>
-<a class="missing milestone" href="%(path_prefix)s/milestone/?action=new" 
rel="nofollow">%(link_prefix)smilestone:?action=new</a>
+<a class="missing milestone" href="%(path_prefix)s/milestone/?action=new" 
rel="nofollow">%(link_prefix_escaped)smilestone:?action=new</a>
 <a class="milestone" href="%(path_prefix)s/milestone/boo#KnownIssues">Known 
Issues for 1.0</a>
 </p>
 ------------------------------

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-query-link-tests.short.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-query-link-tests.short.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-query-link-tests.short.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-query-link-tests.short.txt
 Wed Mar 13 08:25:02 2013
@@ -22,29 +22,29 @@
 %(link_prefix)squery:summary=résumé
 ------------------------------
 <p>
-<a class="query" 
href="%(path_prefix)s/query?order=priority">%(link_prefix)squery:?order=priority</a>
+<a class="query" 
href="%(path_prefix)s/query?order=priority">%(link_prefix_escaped)squery:?order=priority</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?order=priority&amp;owner=me">%(link_prefix)squery:?order=priority&amp;owner=me</a>
+<a class="query" 
href="%(path_prefix)s/query?order=priority&amp;owner=me">%(link_prefix_escaped)squery:?order=priority&amp;owner=me</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?type=r%%C3%%A9sum%%C3%%A9">%(link_prefix)squery:?type=résumé</a>
+<a class="query" 
href="%(path_prefix)s/query?type=r%%C3%%A9sum%%C3%%A9">%(link_prefix_escaped)squery:?type=résumé</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?status=new&amp;status=reopened&amp;order=priority">%(link_prefix)squery:status=new|reopened</a>
+<a class="query" 
href="%(path_prefix)s/query?status=new&amp;status=reopened&amp;order=priority">%(link_prefix_escaped)squery:status=new|reopened</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?reporter=!&amp;order=priority">%(link_prefix)squery:reporter!=</a>
+<a class="query" 
href="%(path_prefix)s/query?reporter=!&amp;order=priority">%(link_prefix_escaped)squery:reporter!=</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?owner=me&amp;reporter=joe&amp;reporter=jack&amp;order=priority">%(link_prefix)squery:reporter=joe|jack&amp;owner=me</a>
+<a class="query" 
href="%(path_prefix)s/query?owner=me&amp;reporter=joe&amp;reporter=jack&amp;order=priority">%(link_prefix_escaped)squery:reporter=joe|jack&amp;owner=me</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?group=owner&amp;order=priority">%(link_prefix)squery:group=owner</a>
+<a class="query" 
href="%(path_prefix)s/query?group=owner&amp;order=priority">%(link_prefix_escaped)squery:group=owner</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?order=priority&amp;row=description">%(link_prefix)squery:verbose=1</a>
+<a class="query" 
href="%(path_prefix)s/query?order=priority&amp;row=description">%(link_prefix_escaped)squery:verbose=1</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?summary=r%%C3%%A9sum%%C3%%A9&amp;order=priority">%(link_prefix)squery:summary=résumé</a>
+<a class="query" 
href="%(path_prefix)s/query?summary=r%%C3%%A9sum%%C3%%A9&amp;order=priority">%(link_prefix_escaped)squery:summary=résumé</a>
 </p>

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-query-link-tests.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-query-link-tests.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-query-link-tests.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-query-link-tests.txt
 Wed Mar 13 08:25:02 2013
@@ -22,31 +22,31 @@
 %(link_prefix)squery:summary=résumé
 ------------------------------
 <p>
-<a class="query" 
href="%(path_prefix)s/query?order=priority">%(link_prefix)squery:?order=priority</a>
+<a class="query" 
href="%(path_prefix)s/query?order=priority">%(link_prefix_escaped)squery:?order=priority</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?order=priority&amp;owner=me">%(link_prefix)squery:?order=priority&amp;owner=me</a>
+<a class="query" 
href="%(path_prefix)s/query?order=priority&amp;owner=me">%(link_prefix_escaped)squery:?order=priority&amp;owner=me</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?type=r%%C3%%A9sum%%C3%%A9">%(link_prefix)squery:?type=résumé</a>
+<a class="query" 
href="%(path_prefix)s/query?type=r%%C3%%A9sum%%C3%%A9">%(link_prefix_escaped)squery:?type=résumé</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?status=new&amp;status=reopened&amp;order=priority">%(link_prefix)squery:status=new|reopened</a>
+<a class="query" 
href="%(path_prefix)s/query?status=new&amp;status=reopened&amp;order=priority">%(link_prefix_escaped)squery:status=new|reopened</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?reporter=!&amp;order=priority">%(link_prefix)squery:reporter!=</a>
+<a class="query" 
href="%(path_prefix)s/query?reporter=!&amp;order=priority">%(link_prefix_escaped)squery:reporter!=</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?owner=me&amp;reporter=joe&amp;reporter=jack&amp;order=priority">%(link_prefix)squery:reporter=joe|jack&amp;owner=me</a>
+<a class="query" 
href="%(path_prefix)s/query?owner=me&amp;reporter=joe&amp;reporter=jack&amp;order=priority">%(link_prefix_escaped)squery:reporter=joe|jack&amp;owner=me</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?group=owner&amp;order=priority">%(link_prefix)squery:group=owner</a>
+<a class="query" 
href="%(path_prefix)s/query?group=owner&amp;order=priority">%(link_prefix_escaped)squery:group=owner</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?order=priority&amp;row=description">%(link_prefix)squery:verbose=1</a>
+<a class="query" 
href="%(path_prefix)s/query?order=priority&amp;row=description">%(link_prefix_escaped)squery:verbose=1</a>
 </p>
 <p>
-<a class="query" 
href="%(path_prefix)s/query?summary=r%%C3%%A9sum%%C3%%A9&amp;order=priority">%(link_prefix)squery:summary=résumé</a>
+<a class="query" 
href="%(path_prefix)s/query?summary=r%%C3%%A9sum%%C3%%A9&amp;order=priority">%(link_prefix_escaped)squery:summary=résumé</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - ProductTicketQuery macro: 
no results, list form

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-report-link-tests.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-report-link-tests.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-report-link-tests.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-report-link-tests.txt
 Wed Mar 13 08:25:02 2013
@@ -45,7 +45,7 @@
 {%(link_prefix)strac 1}
 ------------------------------
 <p>
-<a class="ext-link" href="http://trac.edgewall.org/intertrac/report%%3A1"; 
title="%(link_title_prefix)sreport:1 in Trac's Trac"><span 
class="icon"></span>%(link_prefix)strac:report:1</a>
+<a class="ext-link" href="http://trac.edgewall.org/intertrac/report%%3A1"; 
title="%(link_title_prefix)sreport:1 in Trac's Trac"><span 
class="icon"></span>%(link_prefix_escaped)strac:report:1</a>
 <a class="ext-link" href="http://trac.edgewall.org/intertrac/report%%3A1"; 
title="%(link_title_prefix)sreport:1 in Trac's Trac"><span 
class="icon"></span>Trac r1</a>
 <a class="ext-link" href="http://trac.edgewall.org/intertrac/report%%3A1"; 
title="%(link_title_prefix)sreport:1 in Trac's Trac"><span 
class="icon"></span>{T1}</a>
 <a class="ext-link" href="http://trac.edgewall.org/intertrac/report%%3A1"; 
title="%(link_title_prefix)sreport:1 in Trac's Trac"><span 
class="icon"></span>{trac1}</a>

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-search-link-tests.short.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-search-link-tests.short.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-search-link-tests.short.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-search-link-tests.short.txt
 Wed Mar 13 08:25:02 2013
@@ -7,8 +7,8 @@
 %(link_prefix_quote)ssearch:foo bar"
 ------------------------------
 <p>
-<a class="search" 
href="%(path_prefix)s/search?q=foo">%(link_prefix)ssearch:foo</a>
-<a class="search" 
href="%(path_prefix)s/search?q=foo+bar">%(link_prefix_quote)ssearch:foo bar"</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo">%(link_prefix_escaped)ssearch:foo</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo+bar">%(link_prefix_quote_escaped)ssearch:foo 
bar&#34;</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - search: link resolver 
with query arguments
@@ -18,9 +18,9 @@
 %(link_prefix_quote)ssearch:?q=foo bar&wiki=on"
 ------------------------------
 <p>
-<a class="search" 
href="%(path_prefix)s/search?q=foo&amp;wiki=on">%(link_prefix)ssearch:foo?wiki=on</a>
-<a class="search" 
href="%(path_prefix)s/search?q=foo&amp;wiki=on">%(link_prefix)ssearch:?q=foo&amp;wiki=on</a>
-<a class="search" 
href="%(path_prefix)s/search?q=foo+bar&amp;wiki=on">%(link_prefix_quote)ssearch:foo
 bar?wiki=on"</a>
-<a class="search" 
href="%(path_prefix)s/search?q=foo+bar&amp;wiki=on">%(link_prefix_quote)ssearch:?q=foo
 bar&amp;wiki=on"</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo&amp;wiki=on">%(link_prefix_escaped)ssearch:foo?wiki=on</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo&amp;wiki=on">%(link_prefix_escaped)ssearch:?q=foo&amp;wiki=on</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo+bar&amp;wiki=on">%(link_prefix_quote_escaped)ssearch:foo
 bar?wiki=on&#34;</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo+bar&amp;wiki=on">%(link_prefix_quote_escaped)ssearch:?q=foo
 bar&amp;wiki=on&#34;</a>
 </p>
 ------------------------------

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-search-link-tests.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-search-link-tests.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-search-link-tests.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-search-link-tests.txt
 Wed Mar 13 08:25:02 2013
@@ -11,8 +11,8 @@
 [%(link_prefix)ssearch: Foo]
 ------------------------------
 <p>
-<a class="search" 
href="%(path_prefix)s/search?q=foo">%(link_prefix)ssearch:foo</a>
-<a class="search" 
href="%(path_prefix)s/search?q=foo+bar">%(link_prefix_quote)ssearch:foo bar"</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo">%(link_prefix_escaped)ssearch:foo</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo+bar">%(link_prefix_quote_escaped)ssearch:foo 
bar&#34;</a>
 <a class="search" href="%(path_prefix)s/search?q=bar">Bar</a>
 <a class="search" href="%(path_prefix)s/search?q=bar">bar</a>
 <a class="search" href="%(path_prefix)s/search">search</a>
@@ -28,10 +28,10 @@
 [%(link_prefix)ssearch:?q=bar&ticket=on Bar in Tickets]
 ------------------------------
 <p>
-<a class="search" 
href="%(path_prefix)s/search?q=foo&amp;wiki=on">%(link_prefix)ssearch:foo?wiki=on</a>
-<a class="search" 
href="%(path_prefix)s/search?q=foo&amp;wiki=on">%(link_prefix)ssearch:?q=foo&amp;wiki=on</a>
-<a class="search" 
href="%(path_prefix)s/search?q=foo+bar&amp;wiki=on">%(link_prefix_quote)ssearch:foo
 bar?wiki=on"</a>
-<a class="search" 
href="%(path_prefix)s/search?q=foo+bar&amp;wiki=on">%(link_prefix_quote)ssearch:?q=foo
 bar&amp;wiki=on"</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo&amp;wiki=on">%(link_prefix_escaped)ssearch:foo?wiki=on</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo&amp;wiki=on">%(link_prefix_escaped)ssearch:?q=foo&amp;wiki=on</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo+bar&amp;wiki=on">%(link_prefix_quote_escaped)ssearch:foo
 bar?wiki=on&#34;</a>
+<a class="search" 
href="%(path_prefix)s/search?q=foo+bar&amp;wiki=on">%(link_prefix_quote_escaped)ssearch:?q=foo
 bar&amp;wiki=on&#34;</a>
 <a class="search" href="%(path_prefix)s/search?q=bar&amp;ticket=on">Bar in 
Tickets</a>
 <a class="search" href="%(path_prefix)s/search?q=bar&amp;ticket=on">Bar in 
Tickets</a>
 </p>

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.short.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.short.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.short.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.short.txt
 Wed Mar 13 08:25:02 2013
@@ -8,9 +8,9 @@
 %(link_prefix)sticket:abc
 ------------------------------
 <p>
-<a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix)sticket:1</a>
-<a class="missing ticket">%(link_prefix)sticket:12</a>
-<a class="missing ticket">%(link_prefix)sticket:abc</a>
+<a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix_escaped)sticket:1</a>
+<a class="missing ticket">%(link_prefix_escaped)sticket:12</a>
+<a class="missing ticket">%(link_prefix_escaped)sticket:abc</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - ticket: link resolver + 
arguments
@@ -18,8 +18,8 @@
 %(link_prefix)sticket:1#comment:3
 ------------------------------
 <p>
-<a class="new ticket" href="%(path_prefix)s/ticket/1?format=csv" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix)sticket:1?format=csv</a>
-<a class="new ticket" href="%(path_prefix)s/ticket/1#comment:3" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix)sticket:1#comment:3</a>
+<a class="new ticket" href="%(path_prefix)s/ticket/1?format=csv" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix_escaped)sticket:1?format=csv</a>
+<a class="new ticket" href="%(path_prefix)s/ticket/1#comment:3" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix_escaped)sticket:1#comment:3</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - ticket: link resolver 
with ranges
@@ -27,8 +27,8 @@
 %(link_prefix)sticket:12,33?order=created
 ------------------------------
 <p>
-<a href="%(path_prefix)s/query?id=12-14%%2C33" 
title="%(link_title_prefix)sTickets 12-14, 
33">%(link_prefix)sticket:12-14,33</a>
-<a href="%(path_prefix)s/query?id=12%%2C33&amp;order=created" 
title="%(link_title_prefix)sTickets 12, 
33">%(link_prefix)sticket:12,33?order=created</a>
+<a href="%(path_prefix)s/query?id=12-14%%2C33" 
title="%(link_title_prefix)sTickets 12-14, 
33">%(link_prefix_escaped)sticket:12-14,33</a>
+<a href="%(path_prefix)s/query?id=12%%2C33&amp;order=created" 
title="%(link_title_prefix)sTickets 12, 
33">%(link_prefix_escaped)sticket:12,33?order=created</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - ticket link shorthand form
@@ -60,17 +60,17 @@
 !%(link_prefix)s#1
 ------------------------------
 <p>
-%(link_prefix)s#1
+%(link_prefix_escaped)s#1
 </p>
 ------------------------------
-%(link_prefix)s#1
+%(link_prefix_escaped)s#1
 ============================== %(tc_title_prefix)s - InterTrac for tickets
 %(link_prefix)strac:ticket:2041
 %(link_prefix)s#T2041
 %(link_prefix)s#trac2041
 ------------------------------
 <p>
-<a class="ext-link" href="http://trac.edgewall.org/intertrac/ticket%%3A2041"; 
title="%(link_title_prefix)sticket:2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix)strac:ticket:2041</a>
+<a class="ext-link" href="http://trac.edgewall.org/intertrac/ticket%%3A2041"; 
title="%(link_title_prefix)sticket:2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix_escaped)strac:ticket:2041</a>
 <a class="ext-link" href="http://trac.edgewall.org/intertrac/ticket%%3A2041"; 
title="%(link_title_prefix)sticket:2041 in Trac's Trac"><span 
class="icon"></span>#T2041</a>
 <a class="ext-link" href="http://trac.edgewall.org/intertrac/ticket%%3A2041"; 
title="%(link_title_prefix)sticket:2041 in Trac's Trac"><span 
class="icon"></span>#trac2041</a>
 </p>
@@ -80,8 +80,8 @@
 %(link_prefix)strac:#2041
 ------------------------------
 <p>
-<a class="ext-link" href="http://trac.edgewall.org/intertrac/%%232041"; 
title="%(link_title_prefix)s#2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix)sT:#2041</a>
-<a class="ext-link" href="http://trac.edgewall.org/intertrac/%%232041"; 
title="%(link_title_prefix)s#2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix)strac:#2041</a>
+<a class="ext-link" href="http://trac.edgewall.org/intertrac/%%232041"; 
title="%(link_title_prefix)s#2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix_escaped)sT:#2041</a>
+<a class="ext-link" href="http://trac.edgewall.org/intertrac/%%232041"; 
title="%(link_title_prefix)s#2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix_escaped)strac:#2041</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - ticket syntax with 
unicode digits
@@ -94,12 +94,12 @@
 %(link_prefix)s#trac²⁰⁴¹
 ------------------------------
 <p>
-%(link_prefix)s#⁴²
+%(link_prefix_escaped)s#⁴²
 <a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary (new)">#1</a>
 <a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary (new)">#1</a>
 <a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary (new)">#1</a>-⁵,42
 <a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary (new)">#1</a>,³,5,7
-%(link_prefix)s#T²⁰⁴¹
-%(link_prefix)s#trac²⁰⁴¹
+%(link_prefix_escaped)s#T²⁰⁴¹
+%(link_prefix_escaped)s#trac²⁰⁴¹
 </p>
 ------------------------------

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.txt
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.txt?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.txt
 (original)
+++ 
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.txt
 Wed Mar 13 08:25:02 2013
@@ -8,9 +8,9 @@
 %(link_prefix)sticket:abc
 ------------------------------
 <p>
-<a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix)sticket:1</a>
-<a class="missing ticket">%(link_prefix)sticket:12</a>
-<a class="missing ticket">%(link_prefix)sticket:abc</a>
+<a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix_escaped)sticket:1</a>
+<a class="missing ticket">%(link_prefix_escaped)sticket:12</a>
+<a class="missing ticket">%(link_prefix_escaped)sticket:abc</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - ticket: link resolver + 
arguments
@@ -18,8 +18,8 @@
 %(link_prefix)sticket:1#comment:3
 ------------------------------
 <p>
-<a class="new ticket" href="%(path_prefix)s/ticket/1?format=csv" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix)sticket:1?format=csv</a>
-<a class="new ticket" href="%(path_prefix)s/ticket/1#comment:3" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix)sticket:1#comment:3</a>
+<a class="new ticket" href="%(path_prefix)s/ticket/1?format=csv" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix_escaped)sticket:1?format=csv</a>
+<a class="new ticket" href="%(path_prefix)s/ticket/1#comment:3" 
title="%(link_title_prefix)sThis is the summary 
(new)">%(link_prefix_escaped)sticket:1#comment:3</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - ticket: link resolver 
with ranges
@@ -27,8 +27,8 @@
 %(link_prefix)sticket:12,33?order=created
 ------------------------------
 <p>
-<a href="%(path_prefix)s/query?id=12-14%%2C33" 
title="%(link_title_prefix)sTickets 12-14, 
33">%(link_prefix)sticket:12-14,33</a>
-<a href="%(path_prefix)s/query?id=12%%2C33&amp;order=created" 
title="%(link_title_prefix)sTickets 12, 
33">%(link_prefix)sticket:12,33?order=created</a>
+<a href="%(path_prefix)s/query?id=12-14%%2C33" 
title="%(link_title_prefix)sTickets 12-14, 
33">%(link_prefix_escaped)sticket:12-14,33</a>
+<a href="%(path_prefix)s/query?id=12%%2C33&amp;order=created" 
title="%(link_title_prefix)sTickets 12, 
33">%(link_prefix_escaped)sticket:12,33?order=created</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - ticket link shorthand form
@@ -60,10 +60,10 @@
 !%(link_prefix)s#1
 ------------------------------
 <p>
-%(link_prefix)s#1
+%(link_prefix_escaped)s#1
 </p>
 ------------------------------
-%(link_prefix)s#1
+%(link_prefix_escaped)s#1
 ============================== %(tc_title_prefix)s - InterTrac for tickets
 %(link_prefix)strac:ticket:2041
 [%(link_prefix)strac:ticket:2041 Trac #2041]
@@ -71,7 +71,7 @@
 %(link_prefix)s#trac2041
 ------------------------------
 <p>
-<a class="ext-link" href="http://trac.edgewall.org/intertrac/ticket%%3A2041"; 
title="%(link_title_prefix)sticket:2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix)strac:ticket:2041</a>
+<a class="ext-link" href="http://trac.edgewall.org/intertrac/ticket%%3A2041"; 
title="%(link_title_prefix)sticket:2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix_escaped)strac:ticket:2041</a>
 <a class="ext-link" href="http://trac.edgewall.org/intertrac/ticket%%3A2041"; 
title="%(link_title_prefix)sticket:2041 in Trac's Trac"><span 
class="icon"></span>Trac #2041</a>
 <a class="ext-link" href="http://trac.edgewall.org/intertrac/ticket%%3A2041"; 
title="%(link_title_prefix)sticket:2041 in Trac's Trac"><span 
class="icon"></span>#T2041</a>
 <a class="ext-link" href="http://trac.edgewall.org/intertrac/ticket%%3A2041"; 
title="%(link_title_prefix)sticket:2041 in Trac's Trac"><span 
class="icon"></span>#trac2041</a>
@@ -82,8 +82,8 @@
 %(link_prefix)strac:#2041
 ------------------------------
 <p>
-<a class="ext-link" href="http://trac.edgewall.org/intertrac/%%232041"; 
title="%(link_title_prefix)s#2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix)sT:#2041</a>
-<a class="ext-link" href="http://trac.edgewall.org/intertrac/%%232041"; 
title="%(link_title_prefix)s#2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix)strac:#2041</a>
+<a class="ext-link" href="http://trac.edgewall.org/intertrac/%%232041"; 
title="%(link_title_prefix)s#2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix_escaped)sT:#2041</a>
+<a class="ext-link" href="http://trac.edgewall.org/intertrac/%%232041"; 
title="%(link_title_prefix)s#2041 in Trac's Trac"><span 
class="icon"></span>%(link_prefix_escaped)strac:#2041</a>
 </p>
 ------------------------------
 ============================== %(tc_title_prefix)s - ticket syntax with 
unicode digits
@@ -96,12 +96,12 @@
 %(link_prefix)s#trac²⁰⁴¹
 ------------------------------
 <p>
-%(link_prefix)s#⁴²
+%(link_prefix_escaped)s#⁴²
 <a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary (new)">#1</a>
 <a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary (new)">#1</a>
 <a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary (new)">#1</a>-⁵,42
 <a class="new ticket" href="%(path_prefix)s/ticket/1" 
title="%(link_title_prefix)sThis is the summary (new)">#1</a>,³,5,7
-%(link_prefix)s#T²⁰⁴¹
-%(link_prefix)s#trac²⁰⁴¹
+%(link_prefix_escaped)s#T²⁰⁴¹
+%(link_prefix_escaped)s#trac²⁰⁴¹
 </p>
 ------------------------------

Modified: 
incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/ticket/api.py
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/ticket/api.py?rev=1455836&r1=1455835&r2=1455836&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/ticket/api.py 
(original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/ticket/api.py 
Wed Mar 13 08:25:02 2013
@@ -18,6 +18,7 @@ import copy
 import re
 
 from genshi.builder import tag
+from genshi.core import Markup, unescape
 
 from trac.cache import cached
 from trac.config import *
@@ -508,7 +509,11 @@ class TicketSystem(Component):
                 ranges = str(r)
                 if params:
                     params = '&' + params[1:]
-                label_wrap = label.replace(',', u',\u200b')
+                if isinstance(label, Markup):
+                    _label = unescape(label)
+                else:
+                    _label = label
+                label_wrap = _label.replace(',', u',\u200b')
                 ranges_wrap = ranges.replace(',', u', ')
                 return tag.a(label_wrap,
                              title=_("Tickets %(ranges)s", ranges=ranges_wrap),


Reply via email to