1[ 2 "This resource is focused on highlighting issues with UTS #46 ToASCII", 3 { 4 "comment": "Label with hyphens in 3rd and 4th position", 5 "input": "aa--", 6 "output": "aa--" 7 }, 8 { 9 "input": "a†--", 10 "output": "xn--a---kp0a" 11 }, 12 { 13 "input": "ab--c", 14 "output": "ab--c" 15 }, 16 { 17 "comment": "Label with leading hyphen", 18 "input": "-x", 19 "output": "-x" 20 }, 21 { 22 "input": "-†", 23 "output": "xn----xhn" 24 }, 25 { 26 "input": "-x.xn--zca", 27 "output": "-x.xn--zca" 28 }, 29 { 30 "input": "-x.ß", 31 "output": "-x.xn--zca" 32 }, 33 { 34 "comment": "Label with trailing hyphen", 35 "input": "x-.xn--zca", 36 "output": "x-.xn--zca" 37 }, 38 { 39 "input": "x-.ß", 40 "output": "x-.xn--zca" 41 }, 42 { 43 "comment": "Empty labels", 44 "input": "x..xn--zca", 45 "output": "x..xn--zca" 46 }, 47 { 48 "input": "x..ß", 49 "output": "x..xn--zca" 50 }, 51 { 52 "comment": "Invalid Punycode", 53 "input": "xn--a", 54 "output": null 55 }, 56 { 57 "input": "xn--a.xn--zca", 58 "output": null 59 }, 60 { 61 "input": "xn--a.ß", 62 "output": null 63 }, 64 { 65 "input": "xn--ls8h=", 66 "output": null 67 }, 68 { 69 "comment": "Invalid Punycode (contains non-ASCII character)", 70 "input": "xn--tešla", 71 "output": null 72 }, 73 { 74 "comment": "Valid Punycode", 75 "input": "xn--zca.xn--zca", 76 "output": "xn--zca.xn--zca" 77 }, 78 { 79 "comment": "Mixed", 80 "input": "xn--zca.ß", 81 "output": "xn--zca.xn--zca" 82 }, 83 { 84 "input": "ab--c.xn--zca", 85 "output": "ab--c.xn--zca" 86 }, 87 { 88 "input": "ab--c.ß", 89 "output": "ab--c.xn--zca" 90 }, 91 { 92 "comment": "CheckJoiners is true", 93 "input": "\u200D.example", 94 "output": null 95 }, 96 { 97 "input": "xn--1ug.example", 98 "output": null 99 }, 100 { 101 "comment": "CheckBidi is true", 102 "input": "يa", 103 "output": null 104 }, 105 { 106 "input": "xn--a-yoc", 107 "output": null 108 }, 109 { 110 "comment": "processing_option is Nontransitional_Processing", 111 "input": "ශ්රී", 112 "output": "xn--10cl1a0b660p" 113 }, 114 { 115 "input": "نامهای", 116 "output": "xn--mgba3gch31f060k" 117 }, 118 { 119 "comment": "U+FFFD", 120 "input": "\uFFFD.com", 121 "output": null 122 }, 123 { 124 "comment": "U+FFFD character encoded in Punycode", 125 "input": "xn--zn7c.com", 126 "output": null 127 }, 128 { 129 "comment": "Label longer than 63 code points", 130 "input": "x01234567890123456789012345678901234567890123456789012345678901x", 131 "output": "x01234567890123456789012345678901234567890123456789012345678901x" 132 }, 133 { 134 "input": "x01234567890123456789012345678901234567890123456789012345678901†", 135 "output": "xn--x01234567890123456789012345678901234567890123456789012345678901-6963b" 136 }, 137 { 138 "input": "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca", 139 "output": "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca" 140 }, 141 { 142 "input": "x01234567890123456789012345678901234567890123456789012345678901x.ß", 143 "output": "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca" 144 }, 145 { 146 "comment": "Domain excluding TLD longer than 253 code points", 147 "input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x", 148 "output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x" 149 }, 150 { 151 "input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca", 152 "output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca" 153 }, 154 { 155 "input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.ß", 156 "output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca" 157 }, 158 { 159 "comment": "IDNA ignored code points", 160 "input": "a\u00ADb", 161 "output": "ab" 162 }, 163 { 164 "comment": "Interesting UseSTD3ASCIIRules=false cases", 165 "input": "≠", 166 "output": "xn--1ch" 167 }, 168 { 169 "input": "≮", 170 "output": "xn--gdh" 171 }, 172 { 173 "input": "≯", 174 "output": "xn--hdh" 175 } 176] 177