--- parser3/tests/186.html 2008/07/21 08:52:49 1.1 +++ parser3/tests/186.html 2010/07/13 05:12:28 1.4 @@ -1,9 +1,11 @@ +$request:charset[utf-8] + $sValue[abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 `+-=~!@#^$%^^&*()_ []{}<>^;:'",./? - Ũ] +абвгдеёжзийклмнопрстуфхцчшщъыьэюя АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ]
Origin: @@ -13,15 +15,15 @@ Origin:
-$sEscapeValued[^sValue.escape[]] +$sEscapedValue[^sValue.js-escape[]] Escaped:
-=^taint[html][$sEscapeValued]=
+=^taint[html][$sEscapedValue]=
 

-$sUnescapedValue[^string:unescape[$sEscapeValued]] +$sUnescapedValue[^string:js-unescape[$sEscapedValue]] Unescaped [^if($sUnescapedValue eq $sValue){equal to source}{NOT equal to source}]:
 =^taint[html][$sUnescapedValue]=
@@ -33,6 +35,16 @@ Empty string escape/unescape:
 $v[]
 $s[$v]
 
-=^s.escape[]=
-=^string:unescape[$s]=
+=^s.js-escape[]=
+=^string:js-unescape[$s]=
+
+ + +
+# replace %uXXXX to \uXXXX and check escaping again +$sEscapedValue2[^sEscapedValue.match[%u][gi]{\u}] +
+=^taint[html][$sEscapedValue2]=
 
+$sUnescapedValue2[^string:js-unescape[$sEscapedValue2]] +Unescaped [^if($sUnescapedValue2 eq $sValue){equal to source}{NOT equal to source}]