Terminal_Punctuation.js (6484B)
1 // Copyright 2025 Mathias Bynens. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 author: Mathias Bynens 6 description: > 7 Unicode property escapes for `Terminal_Punctuation` 8 info: | 9 Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests 10 Unicode v17.0.0 11 esid: sec-static-semantics-unicodematchproperty-p 12 features: [regexp-unicode-property-escapes] 13 includes: [regExpUtils.js] 14 ---*/ 15 16 const matchSymbols = buildString({ 17 loneCodePoints: [ 18 0x000021, 19 0x00002C, 20 0x00002E, 21 0x00003F, 22 0x00037E, 23 0x000387, 24 0x000589, 25 0x0005C3, 26 0x00060C, 27 0x00061B, 28 0x0006D4, 29 0x00070C, 30 0x00085E, 31 0x000F08, 32 0x00166E, 33 0x0017DA, 34 0x002024, 35 0x002E2E, 36 0x002E3C, 37 0x002E41, 38 0x002E4C, 39 0x00A92F, 40 0x00AADF, 41 0x00ABEB, 42 0x00FE12, 43 0x00FF01, 44 0x00FF0C, 45 0x00FF0E, 46 0x00FF1F, 47 0x00FF61, 48 0x00FF64, 49 0x01039F, 50 0x0103D0, 51 0x010857, 52 0x01091F, 53 0x0111CD, 54 0x0112A9, 55 0x011944, 56 0x011946, 57 0x011C71, 58 0x016AF5, 59 0x016B44, 60 0x01BC9F 61 ], 62 ranges: [ 63 [0x00003A, 0x00003B], 64 [0x00061D, 0x00061F], 65 [0x000700, 0x00070A], 66 [0x0007F8, 0x0007F9], 67 [0x000830, 0x000835], 68 [0x000837, 0x00083E], 69 [0x000964, 0x000965], 70 [0x000E5A, 0x000E5B], 71 [0x000F0D, 0x000F12], 72 [0x00104A, 0x00104B], 73 [0x001361, 0x001368], 74 [0x0016EB, 0x0016ED], 75 [0x001735, 0x001736], 76 [0x0017D4, 0x0017D6], 77 [0x001802, 0x001805], 78 [0x001808, 0x001809], 79 [0x001944, 0x001945], 80 [0x001AA8, 0x001AAB], 81 [0x001B4E, 0x001B4F], 82 [0x001B5A, 0x001B5B], 83 [0x001B5D, 0x001B5F], 84 [0x001B7D, 0x001B7F], 85 [0x001C3B, 0x001C3F], 86 [0x001C7E, 0x001C7F], 87 [0x00203C, 0x00203D], 88 [0x002047, 0x002049], 89 [0x002CF9, 0x002CFB], 90 [0x002E4E, 0x002E4F], 91 [0x002E53, 0x002E54], 92 [0x003001, 0x003002], 93 [0x00A4FE, 0x00A4FF], 94 [0x00A60D, 0x00A60F], 95 [0x00A6F3, 0x00A6F7], 96 [0x00A876, 0x00A877], 97 [0x00A8CE, 0x00A8CF], 98 [0x00A9C7, 0x00A9C9], 99 [0x00AA5D, 0x00AA5F], 100 [0x00AAF0, 0x00AAF1], 101 [0x00FE15, 0x00FE16], 102 [0x00FE50, 0x00FE52], 103 [0x00FE54, 0x00FE57], 104 [0x00FF1A, 0x00FF1B], 105 [0x010A56, 0x010A57], 106 [0x010AF0, 0x010AF5], 107 [0x010B3A, 0x010B3F], 108 [0x010B99, 0x010B9C], 109 [0x010F55, 0x010F59], 110 [0x010F86, 0x010F89], 111 [0x011047, 0x01104D], 112 [0x0110BE, 0x0110C1], 113 [0x011141, 0x011143], 114 [0x0111C5, 0x0111C6], 115 [0x0111DE, 0x0111DF], 116 [0x011238, 0x01123C], 117 [0x0113D4, 0x0113D5], 118 [0x01144B, 0x01144D], 119 [0x01145A, 0x01145B], 120 [0x0115C2, 0x0115C5], 121 [0x0115C9, 0x0115D7], 122 [0x011641, 0x011642], 123 [0x01173C, 0x01173E], 124 [0x011A42, 0x011A43], 125 [0x011A9B, 0x011A9C], 126 [0x011AA1, 0x011AA2], 127 [0x011C41, 0x011C43], 128 [0x011EF7, 0x011EF8], 129 [0x011F43, 0x011F44], 130 [0x012470, 0x012474], 131 [0x016A6E, 0x016A6F], 132 [0x016B37, 0x016B39], 133 [0x016D6E, 0x016D6F], 134 [0x016E97, 0x016E98], 135 [0x01DA87, 0x01DA8A] 136 ] 137 }); 138 testPropertyEscapes( 139 /^\p{Terminal_Punctuation}+$/u, 140 matchSymbols, 141 "\\p{Terminal_Punctuation}" 142 ); 143 testPropertyEscapes( 144 /^\p{Term}+$/u, 145 matchSymbols, 146 "\\p{Term}" 147 ); 148 149 const nonMatchSymbols = buildString({ 150 loneCodePoints: [ 151 0x00002D, 152 0x00061C, 153 0x00070B, 154 0x000836, 155 0x001B5C, 156 0x002E4D, 157 0x00FE53, 158 0x00FF0D, 159 0x011945 160 ], 161 ranges: [ 162 [0x00DC00, 0x00DFFF], 163 [0x000000, 0x000020], 164 [0x000022, 0x00002B], 165 [0x00002F, 0x000039], 166 [0x00003C, 0x00003E], 167 [0x000040, 0x00037D], 168 [0x00037F, 0x000386], 169 [0x000388, 0x000588], 170 [0x00058A, 0x0005C2], 171 [0x0005C4, 0x00060B], 172 [0x00060D, 0x00061A], 173 [0x000620, 0x0006D3], 174 [0x0006D5, 0x0006FF], 175 [0x00070D, 0x0007F7], 176 [0x0007FA, 0x00082F], 177 [0x00083F, 0x00085D], 178 [0x00085F, 0x000963], 179 [0x000966, 0x000E59], 180 [0x000E5C, 0x000F07], 181 [0x000F09, 0x000F0C], 182 [0x000F13, 0x001049], 183 [0x00104C, 0x001360], 184 [0x001369, 0x00166D], 185 [0x00166F, 0x0016EA], 186 [0x0016EE, 0x001734], 187 [0x001737, 0x0017D3], 188 [0x0017D7, 0x0017D9], 189 [0x0017DB, 0x001801], 190 [0x001806, 0x001807], 191 [0x00180A, 0x001943], 192 [0x001946, 0x001AA7], 193 [0x001AAC, 0x001B4D], 194 [0x001B50, 0x001B59], 195 [0x001B60, 0x001B7C], 196 [0x001B80, 0x001C3A], 197 [0x001C40, 0x001C7D], 198 [0x001C80, 0x002023], 199 [0x002025, 0x00203B], 200 [0x00203E, 0x002046], 201 [0x00204A, 0x002CF8], 202 [0x002CFC, 0x002E2D], 203 [0x002E2F, 0x002E3B], 204 [0x002E3D, 0x002E40], 205 [0x002E42, 0x002E4B], 206 [0x002E50, 0x002E52], 207 [0x002E55, 0x003000], 208 [0x003003, 0x00A4FD], 209 [0x00A500, 0x00A60C], 210 [0x00A610, 0x00A6F2], 211 [0x00A6F8, 0x00A875], 212 [0x00A878, 0x00A8CD], 213 [0x00A8D0, 0x00A92E], 214 [0x00A930, 0x00A9C6], 215 [0x00A9CA, 0x00AA5C], 216 [0x00AA60, 0x00AADE], 217 [0x00AAE0, 0x00AAEF], 218 [0x00AAF2, 0x00ABEA], 219 [0x00ABEC, 0x00DBFF], 220 [0x00E000, 0x00FE11], 221 [0x00FE13, 0x00FE14], 222 [0x00FE17, 0x00FE4F], 223 [0x00FE58, 0x00FF00], 224 [0x00FF02, 0x00FF0B], 225 [0x00FF0F, 0x00FF19], 226 [0x00FF1C, 0x00FF1E], 227 [0x00FF20, 0x00FF60], 228 [0x00FF62, 0x00FF63], 229 [0x00FF65, 0x01039E], 230 [0x0103A0, 0x0103CF], 231 [0x0103D1, 0x010856], 232 [0x010858, 0x01091E], 233 [0x010920, 0x010A55], 234 [0x010A58, 0x010AEF], 235 [0x010AF6, 0x010B39], 236 [0x010B40, 0x010B98], 237 [0x010B9D, 0x010F54], 238 [0x010F5A, 0x010F85], 239 [0x010F8A, 0x011046], 240 [0x01104E, 0x0110BD], 241 [0x0110C2, 0x011140], 242 [0x011144, 0x0111C4], 243 [0x0111C7, 0x0111CC], 244 [0x0111CE, 0x0111DD], 245 [0x0111E0, 0x011237], 246 [0x01123D, 0x0112A8], 247 [0x0112AA, 0x0113D3], 248 [0x0113D6, 0x01144A], 249 [0x01144E, 0x011459], 250 [0x01145C, 0x0115C1], 251 [0x0115C6, 0x0115C8], 252 [0x0115D8, 0x011640], 253 [0x011643, 0x01173B], 254 [0x01173F, 0x011943], 255 [0x011947, 0x011A41], 256 [0x011A44, 0x011A9A], 257 [0x011A9D, 0x011AA0], 258 [0x011AA3, 0x011C40], 259 [0x011C44, 0x011C70], 260 [0x011C72, 0x011EF6], 261 [0x011EF9, 0x011F42], 262 [0x011F45, 0x01246F], 263 [0x012475, 0x016A6D], 264 [0x016A70, 0x016AF4], 265 [0x016AF6, 0x016B36], 266 [0x016B3A, 0x016B43], 267 [0x016B45, 0x016D6D], 268 [0x016D70, 0x016E96], 269 [0x016E99, 0x01BC9E], 270 [0x01BCA0, 0x01DA86], 271 [0x01DA8B, 0x10FFFF] 272 ] 273 }); 274 testPropertyEscapes( 275 /^\P{Terminal_Punctuation}+$/u, 276 nonMatchSymbols, 277 "\\P{Terminal_Punctuation}" 278 ); 279 testPropertyEscapes( 280 /^\P{Term}+$/u, 281 nonMatchSymbols, 282 "\\P{Term}" 283 ); 284 285 reportCompare(0, 0);