Cased.js 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. // Copyright 2019 Mathias Bynens. All rights reserved.
  2. // This code is governed by the BSD license found in the LICENSE file.
  3. /*---
  4. author: Mathias Bynens
  5. description: >
  6. Unicode property escapes for `Cased`
  7. info: |
  8. Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests
  9. Unicode v12.1.0
  10. esid: sec-static-semantics-unicodematchproperty-p
  11. features: [regexp-unicode-property-escapes]
  12. includes: [regExpUtils.js]
  13. ---*/
  14. const matchSymbols = buildString({
  15. loneCodePoints: [
  16. 0x0000AA,
  17. 0x0000B5,
  18. 0x0000BA,
  19. 0x000345,
  20. 0x00037F,
  21. 0x000386,
  22. 0x00038C,
  23. 0x0010C7,
  24. 0x0010CD,
  25. 0x001F59,
  26. 0x001F5B,
  27. 0x001F5D,
  28. 0x001FBE,
  29. 0x002071,
  30. 0x00207F,
  31. 0x002102,
  32. 0x002107,
  33. 0x002115,
  34. 0x002124,
  35. 0x002126,
  36. 0x002128,
  37. 0x002139,
  38. 0x00214E,
  39. 0x002D27,
  40. 0x002D2D,
  41. 0x01D4A2,
  42. 0x01D4BB,
  43. 0x01D546
  44. ],
  45. ranges: [
  46. [0x000041, 0x00005A],
  47. [0x000061, 0x00007A],
  48. [0x0000C0, 0x0000D6],
  49. [0x0000D8, 0x0000F6],
  50. [0x0000F8, 0x0001BA],
  51. [0x0001BC, 0x0001BF],
  52. [0x0001C4, 0x000293],
  53. [0x000295, 0x0002B8],
  54. [0x0002C0, 0x0002C1],
  55. [0x0002E0, 0x0002E4],
  56. [0x000370, 0x000373],
  57. [0x000376, 0x000377],
  58. [0x00037A, 0x00037D],
  59. [0x000388, 0x00038A],
  60. [0x00038E, 0x0003A1],
  61. [0x0003A3, 0x0003F5],
  62. [0x0003F7, 0x000481],
  63. [0x00048A, 0x00052F],
  64. [0x000531, 0x000556],
  65. [0x000560, 0x000588],
  66. [0x0010A0, 0x0010C5],
  67. [0x0010D0, 0x0010FA],
  68. [0x0010FD, 0x0010FF],
  69. [0x0013A0, 0x0013F5],
  70. [0x0013F8, 0x0013FD],
  71. [0x001C80, 0x001C88],
  72. [0x001C90, 0x001CBA],
  73. [0x001CBD, 0x001CBF],
  74. [0x001D00, 0x001DBF],
  75. [0x001E00, 0x001F15],
  76. [0x001F18, 0x001F1D],
  77. [0x001F20, 0x001F45],
  78. [0x001F48, 0x001F4D],
  79. [0x001F50, 0x001F57],
  80. [0x001F5F, 0x001F7D],
  81. [0x001F80, 0x001FB4],
  82. [0x001FB6, 0x001FBC],
  83. [0x001FC2, 0x001FC4],
  84. [0x001FC6, 0x001FCC],
  85. [0x001FD0, 0x001FD3],
  86. [0x001FD6, 0x001FDB],
  87. [0x001FE0, 0x001FEC],
  88. [0x001FF2, 0x001FF4],
  89. [0x001FF6, 0x001FFC],
  90. [0x002090, 0x00209C],
  91. [0x00210A, 0x002113],
  92. [0x002119, 0x00211D],
  93. [0x00212A, 0x00212D],
  94. [0x00212F, 0x002134],
  95. [0x00213C, 0x00213F],
  96. [0x002145, 0x002149],
  97. [0x002160, 0x00217F],
  98. [0x002183, 0x002184],
  99. [0x0024B6, 0x0024E9],
  100. [0x002C00, 0x002C2E],
  101. [0x002C30, 0x002C5E],
  102. [0x002C60, 0x002CE4],
  103. [0x002CEB, 0x002CEE],
  104. [0x002CF2, 0x002CF3],
  105. [0x002D00, 0x002D25],
  106. [0x00A640, 0x00A66D],
  107. [0x00A680, 0x00A69D],
  108. [0x00A722, 0x00A787],
  109. [0x00A78B, 0x00A78E],
  110. [0x00A790, 0x00A7BF],
  111. [0x00A7C2, 0x00A7C6],
  112. [0x00A7F8, 0x00A7FA],
  113. [0x00AB30, 0x00AB5A],
  114. [0x00AB5C, 0x00AB67],
  115. [0x00AB70, 0x00ABBF],
  116. [0x00FB00, 0x00FB06],
  117. [0x00FB13, 0x00FB17],
  118. [0x00FF21, 0x00FF3A],
  119. [0x00FF41, 0x00FF5A],
  120. [0x010400, 0x01044F],
  121. [0x0104B0, 0x0104D3],
  122. [0x0104D8, 0x0104FB],
  123. [0x010C80, 0x010CB2],
  124. [0x010CC0, 0x010CF2],
  125. [0x0118A0, 0x0118DF],
  126. [0x016E40, 0x016E7F],
  127. [0x01D400, 0x01D454],
  128. [0x01D456, 0x01D49C],
  129. [0x01D49E, 0x01D49F],
  130. [0x01D4A5, 0x01D4A6],
  131. [0x01D4A9, 0x01D4AC],
  132. [0x01D4AE, 0x01D4B9],
  133. [0x01D4BD, 0x01D4C3],
  134. [0x01D4C5, 0x01D505],
  135. [0x01D507, 0x01D50A],
  136. [0x01D50D, 0x01D514],
  137. [0x01D516, 0x01D51C],
  138. [0x01D51E, 0x01D539],
  139. [0x01D53B, 0x01D53E],
  140. [0x01D540, 0x01D544],
  141. [0x01D54A, 0x01D550],
  142. [0x01D552, 0x01D6A5],
  143. [0x01D6A8, 0x01D6C0],
  144. [0x01D6C2, 0x01D6DA],
  145. [0x01D6DC, 0x01D6FA],
  146. [0x01D6FC, 0x01D714],
  147. [0x01D716, 0x01D734],
  148. [0x01D736, 0x01D74E],
  149. [0x01D750, 0x01D76E],
  150. [0x01D770, 0x01D788],
  151. [0x01D78A, 0x01D7A8],
  152. [0x01D7AA, 0x01D7C2],
  153. [0x01D7C4, 0x01D7CB],
  154. [0x01E900, 0x01E943],
  155. [0x01F130, 0x01F149],
  156. [0x01F150, 0x01F169],
  157. [0x01F170, 0x01F189]
  158. ]
  159. });
  160. testPropertyEscapes(
  161. /^\p{Cased}+$/u,
  162. matchSymbols,
  163. "\\p{Cased}"
  164. );
  165. const nonMatchSymbols = buildString({
  166. loneCodePoints: [
  167. 0x0000D7,
  168. 0x0000F7,
  169. 0x0001BB,
  170. 0x000294,
  171. 0x00037E,
  172. 0x000387,
  173. 0x00038B,
  174. 0x00038D,
  175. 0x0003A2,
  176. 0x0003F6,
  177. 0x000530,
  178. 0x0010C6,
  179. 0x001F58,
  180. 0x001F5A,
  181. 0x001F5C,
  182. 0x001F5E,
  183. 0x001FB5,
  184. 0x001FBD,
  185. 0x001FC5,
  186. 0x001FF5,
  187. 0x002114,
  188. 0x002125,
  189. 0x002127,
  190. 0x002129,
  191. 0x00212E,
  192. 0x002C2F,
  193. 0x002C5F,
  194. 0x002D26,
  195. 0x00A78F,
  196. 0x00AB5B,
  197. 0x01D455,
  198. 0x01D49D,
  199. 0x01D4AD,
  200. 0x01D4BA,
  201. 0x01D4BC,
  202. 0x01D4C4,
  203. 0x01D506,
  204. 0x01D515,
  205. 0x01D51D,
  206. 0x01D53A,
  207. 0x01D53F,
  208. 0x01D545,
  209. 0x01D551,
  210. 0x01D6C1,
  211. 0x01D6DB,
  212. 0x01D6FB,
  213. 0x01D715,
  214. 0x01D735,
  215. 0x01D74F,
  216. 0x01D76F,
  217. 0x01D789,
  218. 0x01D7A9,
  219. 0x01D7C3
  220. ],
  221. ranges: [
  222. [0x00DC00, 0x00DFFF],
  223. [0x000000, 0x000040],
  224. [0x00005B, 0x000060],
  225. [0x00007B, 0x0000A9],
  226. [0x0000AB, 0x0000B4],
  227. [0x0000B6, 0x0000B9],
  228. [0x0000BB, 0x0000BF],
  229. [0x0001C0, 0x0001C3],
  230. [0x0002B9, 0x0002BF],
  231. [0x0002C2, 0x0002DF],
  232. [0x0002E5, 0x000344],
  233. [0x000346, 0x00036F],
  234. [0x000374, 0x000375],
  235. [0x000378, 0x000379],
  236. [0x000380, 0x000385],
  237. [0x000482, 0x000489],
  238. [0x000557, 0x00055F],
  239. [0x000589, 0x00109F],
  240. [0x0010C8, 0x0010CC],
  241. [0x0010CE, 0x0010CF],
  242. [0x0010FB, 0x0010FC],
  243. [0x001100, 0x00139F],
  244. [0x0013F6, 0x0013F7],
  245. [0x0013FE, 0x001C7F],
  246. [0x001C89, 0x001C8F],
  247. [0x001CBB, 0x001CBC],
  248. [0x001CC0, 0x001CFF],
  249. [0x001DC0, 0x001DFF],
  250. [0x001F16, 0x001F17],
  251. [0x001F1E, 0x001F1F],
  252. [0x001F46, 0x001F47],
  253. [0x001F4E, 0x001F4F],
  254. [0x001F7E, 0x001F7F],
  255. [0x001FBF, 0x001FC1],
  256. [0x001FCD, 0x001FCF],
  257. [0x001FD4, 0x001FD5],
  258. [0x001FDC, 0x001FDF],
  259. [0x001FED, 0x001FF1],
  260. [0x001FFD, 0x002070],
  261. [0x002072, 0x00207E],
  262. [0x002080, 0x00208F],
  263. [0x00209D, 0x002101],
  264. [0x002103, 0x002106],
  265. [0x002108, 0x002109],
  266. [0x002116, 0x002118],
  267. [0x00211E, 0x002123],
  268. [0x002135, 0x002138],
  269. [0x00213A, 0x00213B],
  270. [0x002140, 0x002144],
  271. [0x00214A, 0x00214D],
  272. [0x00214F, 0x00215F],
  273. [0x002180, 0x002182],
  274. [0x002185, 0x0024B5],
  275. [0x0024EA, 0x002BFF],
  276. [0x002CE5, 0x002CEA],
  277. [0x002CEF, 0x002CF1],
  278. [0x002CF4, 0x002CFF],
  279. [0x002D28, 0x002D2C],
  280. [0x002D2E, 0x00A63F],
  281. [0x00A66E, 0x00A67F],
  282. [0x00A69E, 0x00A721],
  283. [0x00A788, 0x00A78A],
  284. [0x00A7C0, 0x00A7C1],
  285. [0x00A7C7, 0x00A7F7],
  286. [0x00A7FB, 0x00AB2F],
  287. [0x00AB68, 0x00AB6F],
  288. [0x00ABC0, 0x00DBFF],
  289. [0x00E000, 0x00FAFF],
  290. [0x00FB07, 0x00FB12],
  291. [0x00FB18, 0x00FF20],
  292. [0x00FF3B, 0x00FF40],
  293. [0x00FF5B, 0x0103FF],
  294. [0x010450, 0x0104AF],
  295. [0x0104D4, 0x0104D7],
  296. [0x0104FC, 0x010C7F],
  297. [0x010CB3, 0x010CBF],
  298. [0x010CF3, 0x01189F],
  299. [0x0118E0, 0x016E3F],
  300. [0x016E80, 0x01D3FF],
  301. [0x01D4A0, 0x01D4A1],
  302. [0x01D4A3, 0x01D4A4],
  303. [0x01D4A7, 0x01D4A8],
  304. [0x01D50B, 0x01D50C],
  305. [0x01D547, 0x01D549],
  306. [0x01D6A6, 0x01D6A7],
  307. [0x01D7CC, 0x01E8FF],
  308. [0x01E944, 0x01F12F],
  309. [0x01F14A, 0x01F14F],
  310. [0x01F16A, 0x01F16F],
  311. [0x01F18A, 0x10FFFF]
  312. ]
  313. });
  314. testPropertyEscapes(
  315. /^\P{Cased}+$/u,
  316. nonMatchSymbols,
  317. "\\P{Cased}"
  318. );