tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

toascii.json (9043B)


      1 [
      2  "This contains assorted IDNA tests that IdnaTestV2 might not cover.",
      3  "Feel free to deduplicate with a clear commit message.",
      4  "",
      5  "If the test only applies to the URL Standard's 'domain to ASCII', ",
      6  "and not to TR46's ToASCII, then tag it with `urlStandardOnly`",
      7  {
      8    "comment": "Label with hyphens in 3rd and 4th position",
      9    "input": "aa--",
     10    "output": "aa--"
     11  },
     12  {
     13    "input": "a†--",
     14    "output": "xn--a---kp0a"
     15  },
     16  {
     17    "input": "ab--c",
     18    "output": "ab--c"
     19  },
     20  {
     21    "comment": "Label with leading hyphen",
     22    "input": "-x",
     23    "output": "-x"
     24  },
     25  {
     26    "input": "-†",
     27    "output": "xn----xhn"
     28  },
     29  {
     30    "input": "-x.xn--zca",
     31    "output": "-x.xn--zca"
     32  },
     33  {
     34    "input": "-x.ß",
     35    "output": "-x.xn--zca"
     36  },
     37  {
     38    "comment": "Label with trailing hyphen",
     39    "input": "x-.xn--zca",
     40    "output": "x-.xn--zca"
     41  },
     42  {
     43    "input": "x-.ß",
     44    "output": "x-.xn--zca"
     45  },
     46  {
     47    "comment": "Empty labels",
     48    "input": "x..xn--zca",
     49    "output": "x..xn--zca"
     50  },
     51  {
     52    "input": "x..ß",
     53    "output": "x..xn--zca"
     54  },
     55  {
     56    "comment": "Invalid Punycode",
     57    "input": "xn--a",
     58    "output": null
     59  },
     60  {
     61    "input": "xn--a.xn--zca",
     62    "output": null
     63  },
     64  {
     65    "input": "xn--a.ß",
     66    "output": null
     67  },
     68  {
     69    "input": "xn--ls8h=",
     70    "output": null
     71  },
     72  {
     73    "comment": "Invalid Punycode (contains non-ASCII character)",
     74    "input": "xn--tešla",
     75    "output": null
     76  },
     77  {
     78    "comment": "Valid Punycode",
     79    "input": "xn--zca.xn--zca",
     80    "output": "xn--zca.xn--zca"
     81  },
     82  {
     83    "comment": "Mixed",
     84    "input": "xn--zca.ß",
     85    "output": "xn--zca.xn--zca"
     86  },
     87  {
     88    "input": "ab--c.xn--zca",
     89    "output": "ab--c.xn--zca"
     90  },
     91  {
     92    "input": "ab--c.ß",
     93    "output": "ab--c.xn--zca"
     94  },
     95  {
     96    "comment": "CheckJoiners is true",
     97    "input": "\u200D.example",
     98    "output": null
     99  },
    100  {
    101    "input": "xn--1ug.example",
    102    "output": null
    103  },
    104  {
    105    "comment": "CheckBidi is true",
    106    "input": "يa",
    107    "output": null
    108  },
    109  {
    110    "input": "xn--a-yoc",
    111    "output": null
    112  },
    113  {
    114    "comment": "processing_option is Nontransitional_Processing",
    115    "input": "ශ්‍රී",
    116    "output": "xn--10cl1a0b660p"
    117  },
    118  {
    119    "input": "نامه‌ای",
    120    "output": "xn--mgba3gch31f060k"
    121  },
    122  {
    123    "comment": "U+FFFD",
    124    "input": "\uFFFD.com",
    125    "output": null
    126  },
    127  {
    128    "comment": "U+FFFD character encoded in Punycode",
    129    "input": "xn--zn7c.com",
    130    "output": null
    131  },
    132  {
    133    "comment": "Label longer than 63 code points",
    134    "input": "x01234567890123456789012345678901234567890123456789012345678901x",
    135    "output": "x01234567890123456789012345678901234567890123456789012345678901x"
    136  },
    137  {
    138    "input": "x01234567890123456789012345678901234567890123456789012345678901†",
    139    "output": "xn--x01234567890123456789012345678901234567890123456789012345678901-6963b"
    140  },
    141  {
    142    "input": "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca",
    143    "output": "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca"
    144  },
    145  {
    146    "input": "x01234567890123456789012345678901234567890123456789012345678901x.ß",
    147    "output": "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca"
    148  },
    149  {
    150    "comment": "Domain excluding TLD longer than 253 code points",
    151    "input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x",
    152    "output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x"
    153  },
    154  {
    155    "input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca",
    156    "output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca"
    157  },
    158  {
    159    "input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.ß",
    160    "output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca"
    161  },
    162  {
    163    "comment": "IDNA ignored code points",
    164    "input": "a\u00ADb",
    165    "output": "ab"
    166  },
    167  {
    168    "comment": "Interesting UseSTD3ASCIIRules=false cases",
    169    "input": "≠",
    170    "output": "xn--1ch"
    171  },
    172  {
    173    "input": "≮",
    174    "output": "xn--gdh"
    175  },
    176  {
    177    "input": "≯",
    178    "output": "xn--hdh"
    179  },
    180  {
    181    "comment": "NFC normalization (forbidden < and > characters are normalized to valid ones)",
    182    "input": "=\u0338",
    183    "output": "xn--1ch"
    184  },
    185  {
    186    "input": "<\u0338",
    187    "output": "xn--gdh"
    188  },
    189  {
    190    "input": ">\u0338",
    191    "output": "xn--hdh"
    192  },
    193  {
    194    "comment": "Same with inserted IDNA ignored code point",
    195    "input": "=\u00AD\u0338",
    196    "output": "xn--1ch"
    197  },
    198  {
    199    "input": "<\u00AD\u0338",
    200    "output": "xn--gdh"
    201  },
    202  {
    203    "input": ">\u00AD\u0338",
    204    "output": "xn--hdh"
    205  },
    206  "Tests below are from WebKit (fast/url/idna2003.html & fast/url/idna2008.html; contributed by Chris Weber back in 2011).",
    207  {
    208    "input": "fa\u00DF.de",
    209    "output": "xn--fa-hia.de"
    210  },
    211  {
    212    "input": "\u03B2\u03CC\u03BB\u03BF\u03C2.com",
    213    "output": "xn--nxasmm1c.com"
    214  },
    215  {
    216    "input": "\u0DC1\u0DCA\u200D\u0DBB\u0DD3.com",
    217    "output": "xn--10cl1a0b660p.com"
    218  },
    219  {
    220    "input": "\u0646\u0627\u0645\u0647\u200C\u0627\u06CC.com",
    221    "output": "xn--mgba3gch31f060k.com"
    222  },
    223  {
    224    "input": "www.loo\u0138out.net",
    225    "output": "www.xn--looout-5bb.net"
    226  },
    227  {
    228    "input": "\u15EF\u15EF\u15EF.lookout.net",
    229    "output": "xn--1qeaa.lookout.net"
    230  },
    231  {
    232    "input": "www.lookout.\u0441\u043E\u043C",
    233    "output": "www.lookout.xn--l1adi"
    234  },
    235  {
    236    "input": "www\u2025lookout.net",
    237    "output": null
    238  },
    239  {
    240    "input": "www.lookout\u2027net",
    241    "output": "www.xn--lookoutnet-406e"
    242  },
    243  {
    244    "input": "www.lookout.net\u2A7480",
    245    "output": null,
    246    "urlStandardOnly": true
    247  },
    248  {
    249    "input": "www\u00A0.lookout.net",
    250    "output": null,
    251    "urlStandardOnly": true
    252  },
    253  {
    254    "input": "\u1680lookout.net",
    255    "output": null
    256  },
    257  {
    258    "input": "\u001flookout.net",
    259    "output": null,
    260    "urlStandardOnly": true
    261  },
    262  {
    263    "input": "look\u06DDout.net",
    264    "output": null
    265  },
    266  {
    267    "input": "look\u180Eout.net",
    268    "output": "lookout.net"
    269  },
    270  {
    271    "input": "look\u2060out.net",
    272    "output": "lookout.net"
    273  },
    274  {
    275    "input": "look\uFEFFout.net",
    276    "output": "lookout.net"
    277  },
    278  {
    279    "input": "look\uD83F\uDFFEout.net",
    280    "output": null
    281  },
    282  {
    283    "input": "look\uFFFAout.net",
    284    "output": null
    285  },
    286  {
    287    "input": "look\u2FF0out.net",
    288    "output": null
    289  },
    290  {
    291    "input": "look\u0341out.net",
    292    "output": "xn--looout-kp7b.net"
    293  },
    294  {
    295    "input": "look\u202Eout.net",
    296    "output": null
    297  },
    298  {
    299    "input": "look\u206Bout.net",
    300    "output": "lookout.net"
    301  },
    302  {
    303    "input": "look\uDB40\uDC01out.net",
    304    "output": null
    305  },
    306  {
    307    "input": "look\uDB40\uDC20out.net",
    308    "output": null
    309  },
    310  {
    311    "input": "look\u05BEout.net",
    312    "output": null
    313  },
    314  {
    315    "input": "B\u00FCcher.de",
    316    "output": "xn--bcher-kva.de"
    317  },
    318  {
    319    "input": "\u2665.net",
    320    "output": "xn--g6h.net"
    321  },
    322  {
    323    "input": "\u0378.net",
    324    "output": null
    325  },
    326  {
    327    "input": "\u04C0.com",
    328    "output": "xn--s5a.com"
    329  },
    330  {
    331    "input": "\uD87E\uDC68.com",
    332    "output": "xn--snl.com"
    333  },
    334  {
    335    "input": "\u2183.com",
    336    "output": "xn--r5g.com"
    337  },
    338  {
    339    "input": "look\u034Fout.net",
    340    "output": "lookout.net"
    341  },
    342  {
    343    "input": "gOoGle.com",
    344    "output": "google.com"
    345  },
    346  {
    347    "input": "\u09dc.com",
    348    "output": "xn--15b8c.com"
    349  },
    350  {
    351    "input": "\u1E9E.com",
    352    "output": "xn--zca.com"
    353  },
    354  {
    355    "input": "\u1E9E.foo.com",
    356    "output": "xn--zca.foo.com"
    357  },
    358  {
    359    "input": "-foo.bar.com",
    360    "output": "-foo.bar.com"
    361  },
    362  {
    363    "input": "foo-.bar.com",
    364    "output": "foo-.bar.com"
    365  },
    366  {
    367    "input": "ab--cd.com",
    368    "output": "ab--cd.com"
    369  },
    370  {
    371    "input": "xn--0.com",
    372    "output": null
    373  },
    374  {
    375    "input": "foo\u0300.bar.com",
    376    "output": "xn--fo-3ja.bar.com"
    377  }
    378 ]