intl/uconv/tests/test_unicode_noncharacterescapes.html

Wed, 31 Dec 2014 07:22:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:22:50 +0100
branch
TOR_BUG_3246
changeset 4
fc2d59ddac77
permissions
-rw-r--r--

Correct previous dual key logic pending first delivery installment.

     1 <!DOCTYPE HTML>
     2 <html>
     3 <!--
     4 https://bugzilla.mozilla.org/show_bug.cgi?id=445886
     5 -->
     6 <head>
     7   <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
     8   <title>Test for Unicode non-characters</title>
     9   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
    10   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
    11 </head>
    12 <body onload="Inject()">
    13 <pre id="test">
    14 <script class="testbody" type="text/javascript">
    16 /** Test that unicode non-characters are not discarded **/
    17 function test()
    18 {
    19     is($("display").innerHTML,"All good.", "Noncharacters not stripped");
    20     SimpleTest.finish();
    21 }
    23 function Inject()
    24 {
    25     // script fragments containing Unicode non-characters
    26     try {
    27         // U+FDD0
    28         eval("$(\"display\").inner\ufdd0HTML += \" U+FDD0 is evil\"");
    29     } catch(e) {}
    30     try {
    31         // U+FDD1
    32         eval("$(\"display\").inner\ufdd1HTML += \" U+FDD1 is evil\"");
    33     } catch(e) {}
    34     try {
    35         // U+FDD2
    36         eval("$(\"display\").inner\ufdd2HTML += \" U+FDD2 is evil\"");
    37     } catch(e) {}
    38     try {
    39         // U+FDD3
    40         eval("$(\"display\").inner\ufdd3HTML += \" U+FDD3 is evil\"");
    41     } catch(e) {}
    42     try {
    43         // U+FDD4
    44         eval("$(\"display\").inner\ufdd4HTML += \" U+FDD4 is evil\"");
    45     } catch(e) {}
    46     try {
    47         // U+FDD5
    48         eval("$(\"display\").inner\ufdd5HTML += \" U+FDD5 is evil\"");
    49     } catch(e) {}
    50     try {
    51         // U+FDD6
    52         eval("$(\"display\").inner\ufdd6HTML += \" U+FDD6 is evil\"");
    53     } catch(e) {}
    54     try {
    55         // U+FDD7
    56         eval("$(\"display\").inner\ufdd7HTML += \" U+FDD7 is evil\"");
    57     } catch(e) {}
    58     try {
    59         // U+FDD8
    60         eval("$(\"display\").inner\ufdd8HTML += \" U+FDD8 is evil\"");
    61     } catch(e) {}
    62     try {
    63         // U+FDD9
    64         eval("$(\"display\").inner\ufdd9HTML += \" U+FDD9 is evil\"");
    65     } catch(e) {}
    66     try {
    67         // U+FDDA
    68         eval("$(\"display\").inner\ufddaHTML += \" U+FDDA is evil\"");
    69     } catch(e) {}
    70     try {
    71         // U+FDDB
    72         eval("$(\"display\").inner\ufddbHTML += \" U+FDDB is evil\"");
    73     } catch(e) {}
    74     try {
    75         // U+FDDC
    76         eval("$(\"display\").inner\ufddcHTML += \" U+FDDC is evil\"");
    77     } catch(e) {}
    78     try {
    79         // U+FDDD
    80         eval("$(\"display\").inner\ufdddHTML += \" U+FDDD is evil\"");
    81     } catch(e) {}
    82     try {
    83         // U+FDDE
    84         eval("$(\"display\").inner\ufddeHTML += \" U+FDDE is evil\"");
    85     } catch(e) {}
    86     try {
    87         // U+FDDF
    88         eval("$(\"display\").inner\ufddfHTML += \" U+FDDF is evil\"");
    89     } catch(e) {}
    90     try {
    91         // U+FDE0
    92         eval("$(\"display\").inner\ufde0HTML += \" U+FDE0 is evil\"");
    93     } catch(e) {}
    94     try {
    95         // U+FDE1
    96         eval("$(\"display\").inner\ufde1HTML += \" U+FDE1 is evil\"");
    97     } catch(e) {}
    98     try {
    99         // U+FDE2
   100         eval("$(\"display\").inner\ufde2HTML += \" U+FDE2 is evil\"");
   101     } catch(e) {}
   102     try {
   103         // U+FDE3
   104         eval("$(\"display\").inner\ufde3HTML += \" U+FDE3 is evil\"");
   105     } catch(e) {}
   106     try {
   107         // U+FDE4
   108         eval("$(\"display\").inner\ufde4HTML += \" U+FDE4 is evil\"");
   109     } catch(e) {}
   110     try {
   111         // U+FDE5
   112         eval("$(\"display\").inner\ufde5HTML += \" U+FDE5 is evil\"");
   113     } catch(e) {}
   114     try {
   115         // U+FDE6
   116         eval("$(\"display\").inner\ufde6HTML += \" U+FDE6 is evil\"");
   117     } catch(e) {}
   118     try {
   119         // U+FDE7
   120         eval("$(\"display\").inner\ufde7HTML += \" U+FDE7 is evil\"");
   121     } catch(e) {}
   122     try {
   123         // U+FDE8
   124         eval("$(\"display\").inner\ufde8HTML += \" U+FDE8 is evil\"");
   125     } catch(e) {}
   126     try {
   127         // U+FDE9
   128         eval("$(\"display\").inner\ufde9HTML += \" U+FDE9 is evil\"");
   129     } catch(e) {}
   130     try {
   131         // U+FDEA
   132         eval("$(\"display\").inner\ufdeaHTML += \" U+FDEA is evil\"");
   133     } catch(e) {}
   134     try {
   135         // U+FDEB
   136         eval("$(\"display\").inner\ufdebHTML += \" U+FDEB is evil\"");
   137     } catch(e) {}
   138     try {
   139         // U+FDEC
   140         eval("$(\"display\").inner\ufdecHTML += \" U+FDEC is evil\"");
   141     } catch(e) {}
   142     try {
   143         // U+FDED
   144         eval("$(\"display\").inner\ufdedHTML += \" U+FDED is evil\"");
   145     } catch(e) {}
   146     try {
   147         // U+FDEE
   148         eval("$(\"display\").inner\ufdeeHTML += \" U+FDEE is evil\"");
   149     } catch(e) {}
   150     try {
   151         // U+FDEF
   152         eval("$(\"display\").inner\ufdefHTML += \" U+FDEF is evil\"");
   153     } catch(e) {}
   154     try {
   155         // U+FFFE
   156         eval("$(\"display\").inner\ufffeHTML += \" U+FFFE is evil\"");
   157     } catch(e) {}
   158     try {
   159         // U+FFFF
   160         eval("$(\"display\").inner\uffffHTML += \" U+FFFF is evil\"");
   161     } catch(e) {}
   162     try {
   163         // U+1FFFE
   164         eval("$(\"display\").inner\ud83f\udffeHTML += \" U+1FFFE is evil\"");
   165     } catch(e) {}
   166     try {
   167         // U+1FFFF
   168         eval("$(\"display\").inner\ud83f\udfffHTML += \" U+1FFFF is evil\"");
   169     } catch(e) {}
   170     try {
   171         // U+2FFFE
   172         eval("$(\"display\").inner\ud87f\udffeHTML += \" U+2FFFE is evil\"");
   173     } catch(e) {}
   174     try {
   175         // U+2FFFF
   176         eval("$(\"display\").inner\ud87f\udfffHTML += \" U+2FFFF is evil\"");
   177     } catch(e) {}
   178     try {
   179         // U+3FFFE
   180         eval("$(\"display\").inner\ud8bf\udffeHTML += \" U+3FFFE is evil\"");
   181     } catch(e) {}
   182     try {
   183         // U+3FFFF
   184         eval("$(\"display\").inner\ud8bf\udfffHTML += \" U+3FFFF is evil\"");
   185     } catch(e) {}
   186     try {
   187         // U+4FFFE
   188         eval("$(\"display\").inner\ud8ff\udffeHTML += \" U+4FFFE is evil\"");
   189     } catch(e) {}
   190     try {
   191         // U+4FFFF
   192         eval("$(\"display\").inner\ud8ff\udfffHTML += \" U+4FFFF is evil\"");
   193     } catch(e) {}
   194     try {
   195         // U+5FFFE
   196         eval("$(\"display\").inner\ud93f\udffeHTML += \" U+5FFFE is evil\"");
   197     } catch(e) {}
   198     try {
   199         // U+5FFFF
   200         eval("$(\"display\").inner\ud93f\udfffHTML += \" U+5FFFF is evil\"");
   201     } catch(e) {}
   202     try {
   203         // U+6FFFE
   204         eval("$(\"display\").inner\ud97f\udffeHTML += \" U+6FFFE is evil\"");
   205     } catch(e) {}
   206     try {
   207         // U+6FFFF
   208         eval("$(\"display\").inner\ud97f\udfffHTML += \" U+6FFFF is evil\"");
   209     } catch(e) {}
   210     try {
   211         // U+7FFFE
   212         eval("$(\"display\").inner\ud9bf\udffeHTML += \" U+7FFFE is evil\"");
   213     } catch(e) {}
   214     try {
   215         // U+7FFFF
   216         eval("$(\"display\").inner\ud9bf\udfffHTML += \" U+7FFFF is evil\"");
   217     } catch(e) {}
   218     try {
   219         // U+8FFFE
   220         eval("$(\"display\").inner\ud9ff\udffeHTML += \" U+8FFFE is evil\"");
   221     } catch(e) {}
   222     try {
   223         // U+8FFFF
   224         eval("$(\"display\").inner\ud9ff\udfffHTML += \" U+8FFFF is evil\"");
   225     } catch(e) {}
   226     try {
   227         // U+9FFFE
   228         eval("$(\"display\").inner\uda3f\udffeHTML += \" U+9FFFE is evil\"");
   229     } catch(e) {}
   230     try {
   231         // U+9FFFF
   232         eval("$(\"display\").inner\uda3f\udfffHTML += \" U+9FFFF is evil\"");
   233     } catch(e) {}
   234     try {
   235         // U+AFFFE
   236         eval("$(\"display\").inner\uda7f\udffeHTML += \" U+AFFFE is evil\"");
   237     } catch(e) {}
   238     try {
   239         // U+AFFFF
   240         eval("$(\"display\").inner\uda7f\udfffHTML += \" U+AFFFF is evil\"");
   241     } catch(e) {}
   242     try {
   243         // U+BFFFE
   244         eval("$(\"display\").inner\udabf\udffeHTML += \" U+BFFFE is evil\"");
   245     } catch(e) {}
   246     try {
   247         // U+BFFFF
   248         eval("$(\"display\").inner\udabf\udfffHTML += \" U+BFFFF is evil\"");
   249     } catch(e) {}
   250     try {
   251         // U+CFFFE
   252         eval("$(\"display\").inner\udaff\udffeHTML += \" U+CFFFE is evil\"");
   253     } catch(e) {}
   254     try {
   255         // U+CFFFF
   256         eval("$(\"display\").inner\udaff\udfffHTML += \" U+CFFFF is evil\"");
   257     } catch(e) {}
   258     try {
   259         // U+DFFFE
   260         eval("$(\"display\").inner\udb3f\udffeHTML += \" U+DFFFE is evil\"");
   261     } catch(e) {}
   262     try {
   263         // U+DFFFF
   264         eval("$(\"display\").inner\udb3f\udfffHTML += \" U+DFFFF is evil\"");
   265     } catch(e) {}
   266     try {
   267         // U+EFFFE
   268         eval("$(\"display\").inner\udb7f\udffeHTML += \" U+EFFFE is evil\"");
   269     } catch(e) {}
   270     try {
   271         // U+EFFFF
   272         eval("$(\"display\").inner\udb7f\udfffHTML += \" U+EFFFF is evil\"");
   273     } catch(e) {}
   274     try {
   275         // U+FFFFE
   276         eval("$(\"display\").inner\udbbf\udffeHTML += \" U+FFFFE is evil\"");
   277     } catch(e) {}
   278     try {
   279         // U+FFFFF
   280         eval("$(\"display\").inner\udbbf\udfffHTML += \" U+FFFFF is evil\"");
   281     } catch(e) {}
   282     try {
   283         // U+10FFFE
   284         eval("$(\"display\").inner\udbff\udffeHTML += \" U+10FFFE is evil\"");
   285     } catch(e) {}
   286     try {
   287         // U+10FFFF
   288         eval("$(\"display\").inner\udbff\udfffHTML += \" U+10FFFF is evil\"");
   289     } catch(e) {}
   290     test();
   291 }
   293   SimpleTest.waitForExplicitFinish();
   294 </script>
   295 </pre>
   296 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=445886">Mozilla Bug 445886</a>
   297 <p id="display">All good.</p>
   298 <div id="content" style="display: none"></div>
   299 </body>
   300 </html>

mercurial