Annotation of parser3/tests/186.html, revision 1.4
1.4 ! misha 1: $request:charset[utf-8]
1.2 misha 2:
1.1 misha 3: $sValue[abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
4: 0123456789
5: `+-=~!@#^$%^^&*()_
6: []{}<>^;:'",./?
7:
1.2 misha 8: абвгдеёжзийклмнопрстуфхцчшщъыьэюя АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ]
1.1 misha 9:
10: <hr />
11: Origin:
12: <pre>
13: =^taint[html][$sValue]=
14: </pre>
15:
16:
17: <hr />
1.4 ! misha 18: $sEscapedValue[^sValue.js-escape[]]
1.1 misha 19: Escaped:
20: <pre>
1.4 ! misha 21: =^taint[html][$sEscapedValue]=
1.1 misha 22: </pre>
23:
24:
25: <hr />
1.4 ! misha 26: $sUnescapedValue[^string:js-unescape[$sEscapedValue]]
1.1 misha 27: Unescaped [^if($sUnescapedValue eq $sValue){equal to source}{NOT equal to source}]:
28: <pre>
29: =^taint[html][$sUnescapedValue]=
30: </pre>
31:
32:
33: <hr />
34: Empty string escape/unescape:
35: $v[]
36: $s[$v]
37: <pre>
1.3 misha 38: =^s.js-escape[]=
39: =^string:js-unescape[$s]=
1.1 misha 40: </pre>
1.4 ! misha 41:
! 42:
! 43: <hr />
! 44: # replace %uXXXX to \uXXXX and check escaping again
! 45: $sEscapedValue2[^sEscapedValue.match[%u][gi]{\u}]
! 46: <pre>
! 47: =^taint[html][$sEscapedValue2]=
! 48: </pre>
! 49: $sUnescapedValue2[^string:js-unescape[$sEscapedValue2]]
! 50: Unescaped [^if($sUnescapedValue2 eq $sValue){equal to source}{NOT equal to source}]
E-mail: