On Jan 28, 2009, at 11:52 AM, tmortagne (SVN) wrote:

> Author: tmortagne
> Date: 2009-01-28 11:52:19 +0100 (Wed, 28 Jan 2009)
> New Revision: 15814
>
> Added:
>   platform/core/branches/xwiki-core-1.7/xwiki-rendering/src/test/ 
> resources/escape/escape14.test
> Modified:
>   platform/core/branches/xwiki-core-1.7/xwiki-rendering/src/main/ 
> java/org/xwiki/rendering/renderer/XWikiSyntaxRenderer.java
>   platform/core/branches/xwiki-core-1.7/xwiki-rendering/src/test/ 
> java/org/xwiki/rendering/RenderingTests.java
> Log:
> XWIKI-3170: Custom parameter ending syntax characters are not  
> escaped inside xwiki/2.0 custom parameter values
> XWIKI-3143: Quotes are not escaped inside xwiki/2.0 custom parameter  
> values
>
> Modified: platform/core/branches/xwiki-core-1.7/xwiki-rendering/src/ 
> main/java/org/xwiki/rendering/renderer/XWikiSyntaxRenderer.java
> ===================================================================
> --- platform/core/branches/xwiki-core-1.7/xwiki-rendering/src/main/ 
> java/org/xwiki/rendering/renderer/XWikiSyntaxRenderer.java     
> 2009-01-28 10:51:35 UTC (rev 15813)
> +++ platform/core/branches/xwiki-core-1.7/xwiki-rendering/src/main/ 
> java/org/xwiki/rendering/renderer/XWikiSyntaxRenderer.java     
> 2009-01-28 10:52:19 UTC (rev 15814)
> @@ -934,8 +934,8 @@
>         if (!parameters.isEmpty()) {
>             StringBuffer buffer = new StringBuffer("(%");
>             for (Map.Entry<String, String> entry :  
> parameters.entrySet()) {
> -                buffer.append('  
> ').append 
> (entry.getKey()).append('=').append('\"').append(entry.getValue())
> -                    .append('\"');
> +                buffer.append('  
> ').append(entry.getKey()).append('=').append('\"').append(
> +                    entry.getValue().replaceAll("[\\\\\"]", "\\\\ 
> $0").replaceAll("\\%\\)", "~%)")).append('\"');

I think this requires a bit of comments to explain why this magic is  
done :)

[snip]

> Added: platform/core/branches/xwiki-core-1.7/xwiki-rendering/src/ 
> test/resources/escape/escape14.test
> ===================================================================
> --- platform/core/branches/xwiki-core-1.7/xwiki-rendering/src/test/ 
> resources/escape/escape14.test                                (rev 0)
> +++ platform/core/branches/xwiki-core-1.7/xwiki-rendering/src/test/ 
> resources/escape/escape14.test        2009-01-28 10:52:19 UTC (rev 15814)
> @@ -0,0 +1,26 @@
> + 
> .#---------------------------------------------------------------------------------------------------------
> +.input|xwiki/2.0

I think a comment here would be good to explain what this test is  
about since it's not that obvious.

>
> + 
> .#---------------------------------------------------------------------------------------------------------
> +(% style="font-(%weight: bold; ~%)font-family: \"monospace\"; font- 
> size: 14pt;" %)
> +foobar
> +.#-----------------------------------------------------
> +.expect|event
> +.#-----------------------------------------------------
> +beginDocument
> +beginParagraph [[style]=[font-(%weight: bold; %)font-family:  
> "monospace"; font-size: 14pt;]]
> +onWord [foobar]
> +endParagraph [[style]=[font-(%weight: bold; %)font-family:  
> "monospace"; font-size: 14pt;]]
> +endDocument
> +.#-----------------------------------------------------
> +.expect|xhtml
> +.#-----------------------------------------------------
> +<p style="font-(%weight: bold; %)font-family:  
> &quot;monospace&quot;; font-size: 14pt;">foobar</p>
> +.#-----------------------------------------------------
> +.expect|xwiki
> +.#-----------------------------------------------------
> +(% style="font-(%weight: bold; ~%)font-family: \"monospace\"; font- 
> size: 14pt;" %)
> +foobar
> +.#-----------------------------------------------------
> +.input|xhtml/1.0
> +.#-----------------------------------------------------
> +<p style="font-(%weight: bold; %)font-family:  
> &quot;monospace&quot;; font-size: 14pt;">foobar</p>
> \ No newline at end of file

Thanks
-Vincent
http://xwiki.com
http://xwiki.org
http://massol.net






_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to