intl/uconv/tests/test_unicode_noncharacters_utf8.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﷐HTML += \" U+FDD0 is evil \"");
    29     } catch(e) {}
    30     try {
    31         // U+FDD1
    32         eval("$(\"display\").inner﷑HTML += \" U+FDD1 is evil \"");
    33     } catch(e) {}
    34     try {
    35         // U+FDD2
    36         eval("$(\"display\").inner﷒HTML += \" U+FDD2 is evil \"");
    37     } catch(e) {}
    38     try {
    39         // U+FDD3
    40         eval("$(\"display\").inner﷓HTML += \" U+FDD3 is evil \"");
    41     } catch(e) {}
    42     try {
    43         // U+FDD4
    44         eval("$(\"display\").inner﷔HTML += \" U+FDD4 is evil \"");
    45     } catch(e) {}
    46     try {
    47         // U+FDD5
    48         eval("$(\"display\").inner﷕HTML += \" U+FDD5 is evil \"");
    49     } catch(e) {}
    50     try {
    51         // U+FDD6
    52         eval("$(\"display\").inner﷖HTML += \" U+FDD6 is evil \"");
    53     } catch(e) {}
    54     try {
    55         // U+FDD7
    56         eval("$(\"display\").inner﷗HTML += \" U+FDD7 is evil \"");
    57     } catch(e) {}
    58     try {
    59         // U+FDD8
    60         eval("$(\"display\").inner﷘HTML += \" U+FDD8 is evil \"");
    61     } catch(e) {}
    62     try {
    63         // U+FDD9
    64         eval("$(\"display\").inner﷙HTML += \" U+FDD9 is evil \"");
    65     } catch(e) {}
    66     try {
    67         // U+FDDA
    68         eval("$(\"display\").inner﷚HTML += \" U+FDDA is evil \"");
    69     } catch(e) {}
    70     try {
    71         // U+FDDB
    72         eval("$(\"display\").inner﷛HTML += \" U+FDDB is evil \"");
    73     } catch(e) {}
    74     try {
    75         // U+FDDC
    76         eval("$(\"display\").inner﷜HTML += \" U+FDDC is evil \"");
    77     } catch(e) {}
    78     try {
    79         // U+FDDD
    80         eval("$(\"display\").inner﷝HTML += \" U+FDDD is evil \"");
    81     } catch(e) {}
    82     try {
    83         // U+FDDE
    84         eval("$(\"display\").inner﷞HTML += \" U+FDDE is evil \"");
    85     } catch(e) {}
    86     try {
    87         // U+FDDF
    88         eval("$(\"display\").inner﷟HTML += \" U+FDDF is evil \"");
    89     } catch(e) {}
    90     try {
    91         // U+FDE0
    92         eval("$(\"display\").inner﷠HTML += \" U+FDE0 is evil \"");
    93     } catch(e) {}
    94     try {
    95         // U+FDE1
    96         eval("$(\"display\").inner﷡HTML += \" U+FDE1 is evil \"");
    97     } catch(e) {}
    98     try {
    99         // U+FDE2
   100         eval("$(\"display\").inner﷢HTML += \" U+FDE2 is evil \"");
   101     } catch(e) {}
   102     try {
   103         // U+FDE3
   104         eval("$(\"display\").inner﷣HTML += \" U+FDE3 is evil \"");
   105     } catch(e) {}
   106     try {
   107         // U+FDE4
   108         eval("$(\"display\").inner﷤HTML += \" U+FDE4 is evil \"");
   109     } catch(e) {}
   110     try {
   111         // U+FDE5
   112         eval("$(\"display\").inner﷥HTML += \" U+FDE5 is evil \"");
   113     } catch(e) {}
   114     try {
   115         // U+FDE6
   116         eval("$(\"display\").inner﷦HTML += \" U+FDE6 is evil \"");
   117     } catch(e) {}
   118     try {
   119         // U+FDE7
   120         eval("$(\"display\").inner﷧HTML += \" U+FDE7 is evil \"");
   121     } catch(e) {}
   122     try {
   123         // U+FDE8
   124         eval("$(\"display\").inner﷨HTML += \" U+FDE8 is evil \"");
   125     } catch(e) {}
   126     try {
   127         // U+FDE9
   128         eval("$(\"display\").inner﷩HTML += \" U+FDE9 is evil \"");
   129     } catch(e) {}
   130     try {
   131         // U+FDEA
   132         eval("$(\"display\").inner﷪HTML += \" U+FDEA is evil \"");
   133     } catch(e) {}
   134     try {
   135         // U+FDEB
   136         eval("$(\"display\").inner﷫HTML += \" U+FDEB is evil \"");
   137     } catch(e) {}
   138     try {
   139         // U+FDEC
   140         eval("$(\"display\").inner﷬HTML += \" U+FDEC is evil \"");
   141     } catch(e) {}
   142     try {
   143         // U+FDED
   144         eval("$(\"display\").inner﷭HTML += \" U+FDED is evil \"");
   145     } catch(e) {}
   146     try {
   147         // U+FDEE
   148         eval("$(\"display\").inner﷮HTML += \" U+FDEE is evil \"");
   149     } catch(e) {}
   150     try {
   151         // U+FDEF
   152         eval("$(\"display\").inner﷯HTML += \" U+FDEF is evil \"");
   153     } catch(e) {}
   154     try {
   155         // U+FFFE
   156         eval("$(\"display\").inner￾HTML += \" U+FFFE is evil \"");
   157     } catch(e) {}
   158     try {
   159         // U+FFFF
   160         eval("$(\"display\").inner￿HTML += \" U+FFFF is evil \"");
   161     } catch(e) {}
   162     try {
   163         // U+1FFFE
   164         eval("$(\"display\").inner🿾HTML += \" U+1FFFE is evil \"");
   165     } catch(e) {}
   166     try {
   167         // U+1FFFF
   168         eval("$(\"display\").inner🿿HTML += \" U+1FFFF is evil \"");
   169     } catch(e) {}
   170     try {
   171         // U+2FFFE
   172         eval("$(\"display\").inner𯿾HTML += \" U+2FFFE is evil \"");
   173     } catch(e) {}
   174     try {
   175         // U+2FFFF
   176         eval("$(\"display\").inner𯿿HTML += \" U+2FFFF is evil \"");
   177     } catch(e) {}
   178     try {
   179         // U+3FFFE
   180         eval("$(\"display\").inner𿿾HTML += \" U+3FFFE is evil \"");
   181     } catch(e) {}
   182     try {
   183         // U+3FFFF
   184         eval("$(\"display\").inner𿿿HTML += \" U+3FFFF is evil \"");
   185     } catch(e) {}
   186     try {
   187         // U+4FFFE
   188         eval("$(\"display\").inner񏿾HTML += \" U+4FFFE is evil \"");
   189     } catch(e) {}
   190     try {
   191         // U+4FFFF
   192         eval("$(\"display\").inner񏿿HTML += \" U+4FFFF is evil \"");
   193     } catch(e) {}
   194     try {
   195         // U+5FFFE
   196         eval("$(\"display\").inner񟿾HTML += \" U+5FFFE is evil \"");
   197     } catch(e) {}
   198     try {
   199         // U+5FFFF
   200         eval("$(\"display\").inner񟿿HTML += \" U+5FFFF is evil \"");
   201     } catch(e) {}
   202     try {
   203         // U+6FFFE
   204         eval("$(\"display\").inner񯿾HTML += \" U+6FFFE is evil \"");
   205     } catch(e) {}
   206     try {
   207         // U+6FFFF
   208         eval("$(\"display\").inner񯿿HTML += \" U+6FFFF is evil \"");
   209     } catch(e) {}
   210     try {
   211         // U+7FFFE
   212         eval("$(\"display\").inner񿿾HTML += \" U+7FFFE is evil \"");
   213     } catch(e) {}
   214     try {
   215         // U+7FFFF
   216         eval("$(\"display\").inner񿿿HTML += \" U+7FFFF is evil \"");
   217     } catch(e) {}
   218     try {
   219         // U+8FFFE
   220         eval("$(\"display\").inner򏿾HTML += \" U+8FFFE is evil \"");
   221     } catch(e) {}
   222     try {
   223         // U+8FFFF
   224         eval("$(\"display\").inner򏿿HTML += \" U+8FFFF is evil \"");
   225     } catch(e) {}
   226     try {
   227         // U+9FFFE
   228         eval("$(\"display\").inner򟿾HTML += \" U+9FFFE is evil \"");
   229     } catch(e) {}
   230     try {
   231         // U+9FFFF
   232         eval("$(\"display\").inner򟿿HTML += \" U+9FFFF is evil \"");
   233     } catch(e) {}
   234     try {
   235         // U+AFFFE
   236         eval("$(\"display\").inner򯿾HTML += \" U+AFFFE is evil \"");
   237     } catch(e) {}
   238     try {
   239         // U+AFFFF
   240         eval("$(\"display\").inner򯿿HTML += \" U+AFFFF is evil \"");
   241     } catch(e) {}
   242     try {
   243         // U+BFFFE
   244         eval("$(\"display\").inner򿿾HTML += \" U+BFFFE is evil \"");
   245     } catch(e) {}
   246     try {
   247         // U+BFFFF
   248         eval("$(\"display\").inner򿿿HTML += \" U+BFFFF is evil \"");
   249     } catch(e) {}
   250     try {
   251         // U+CFFFE
   252         eval("$(\"display\").inner󏿾HTML += \" U+CFFFE is evil \"");
   253     } catch(e) {}
   254     try {
   255         // U+CFFFF
   256         eval("$(\"display\").inner󏿿HTML += \" U+CFFFF is evil \"");
   257     } catch(e) {}
   258     try {
   259         // U+DFFFE
   260         eval("$(\"display\").inner󟿾HTML += \" U+DFFFE is evil \"");
   261     } catch(e) {}
   262     try {
   263         // U+DFFFF
   264         eval("$(\"display\").inner󟿿HTML += \" U+DFFFF is evil \"");
   265     } catch(e) {}
   266     try {
   267         // U+EFFFE
   268         eval("$(\"display\").inner󯿾HTML += \" U+EFFFE is evil \"");
   269     } catch(e) {}
   270     try {
   271         // U+EFFFF
   272         eval("$(\"display\").inner󯿿HTML += \" U+EFFFF is evil \"");
   273     } catch(e) {}
   274     try {
   275         // U+FFFFE
   276         eval("$(\"display\").inner󿿾HTML += \" U+FFFFE is evil \"");
   277     } catch(e) {}
   278     try {
   279         // U+FFFFF
   280         eval("$(\"display\").inner󿿿HTML += \" U+FFFFF is evil \"");
   281     } catch(e) {}
   282     try {
   283         // U+10FFFE
   284         eval("$(\"display\").inner􏿾HTML += \" U+10FFFE is evil \"");
   285     } catch(e) {}
   286     try {
   287         // U+10FFFF
   288         eval("$(\"display\").inner􏿿HTML += \" 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