testoutput18-32 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023
  1. /-- This set of tests is for UTF-16 and UTF-32 support, and is relevant only to
  2. the 16- and 32-bit libraries. --/
  3. < forbid W
  4. /ÃÃÃxxx/8?DZSS
  5. **Failed: invalid UTF-8 string cannot be converted to UTF-32
  6. /abc/8
  7. Ã]
  8. **Failed: invalid UTF-8 string cannot be used as input in UTF mode
  9. /X(\C{3})/8
  10. X\x{11234}Y
  11. No match
  12. X\x{11234}YZ
  13. 0: X\x{11234}YZ
  14. 1: \x{11234}YZ
  15. /X(\C{4})/8
  16. X\x{11234}YZ
  17. No match
  18. X\x{11234}YZW
  19. 0: X\x{11234}YZW
  20. 1: \x{11234}YZW
  21. /X\C*/8
  22. XYZabcdce
  23. 0: XYZabcdce
  24. /X\C*?/8
  25. XYZabcde
  26. 0: X
  27. /X\C{3,5}/8
  28. Xabcdefg
  29. 0: Xabcde
  30. X\x{11234}Y
  31. No match
  32. X\x{11234}YZ
  33. 0: X\x{11234}YZ
  34. X\x{11234}\x{512}
  35. No match
  36. X\x{11234}\x{512}YZ
  37. 0: X\x{11234}\x{512}YZ
  38. X\x{11234}\x{512}\x{11234}Z
  39. 0: X\x{11234}\x{512}\x{11234}Z
  40. /X\C{3,5}?/8
  41. Xabcdefg
  42. 0: Xabc
  43. X\x{11234}Y
  44. No match
  45. X\x{11234}YZ
  46. 0: X\x{11234}YZ
  47. X\x{11234}\x{512}YZ
  48. 0: X\x{11234}\x{512}Y
  49. *** Failers
  50. No match
  51. X\x{11234}
  52. No match
  53. /a\Cb/8
  54. aXb
  55. 0: aXb
  56. a\nb
  57. 0: a\x{0a}b
  58. /a\C\Cb/8
  59. a\x{12257}b
  60. No match
  61. a\x{12257}\x{11234}b
  62. 0: a\x{12257}\x{11234}b
  63. ** Failers
  64. No match
  65. a\x{100}b
  66. No match
  67. /ab\Cde/8
  68. abXde
  69. 0: abXde
  70. /-- Check maximum character size --/
  71. /\x{ffff}/8DZ
  72. ------------------------------------------------------------------
  73. Bra
  74. \x{ffff}
  75. Ket
  76. End
  77. ------------------------------------------------------------------
  78. Capturing subpattern count = 0
  79. Options: utf
  80. First char = \x{ffff}
  81. No need char
  82. /\x{10000}/8DZ
  83. ------------------------------------------------------------------
  84. Bra
  85. \x{10000}
  86. Ket
  87. End
  88. ------------------------------------------------------------------
  89. Capturing subpattern count = 0
  90. Options: utf
  91. First char = \x{10000}
  92. No need char
  93. /\x{100}/8DZ
  94. ------------------------------------------------------------------
  95. Bra
  96. \x{100}
  97. Ket
  98. End
  99. ------------------------------------------------------------------
  100. Capturing subpattern count = 0
  101. Options: utf
  102. First char = \x{100}
  103. No need char
  104. /\x{1000}/8DZ
  105. ------------------------------------------------------------------
  106. Bra
  107. \x{1000}
  108. Ket
  109. End
  110. ------------------------------------------------------------------
  111. Capturing subpattern count = 0
  112. Options: utf
  113. First char = \x{1000}
  114. No need char
  115. /\x{10000}/8DZ
  116. ------------------------------------------------------------------
  117. Bra
  118. \x{10000}
  119. Ket
  120. End
  121. ------------------------------------------------------------------
  122. Capturing subpattern count = 0
  123. Options: utf
  124. First char = \x{10000}
  125. No need char
  126. /\x{100000}/8DZ
  127. ------------------------------------------------------------------
  128. Bra
  129. \x{100000}
  130. Ket
  131. End
  132. ------------------------------------------------------------------
  133. Capturing subpattern count = 0
  134. Options: utf
  135. First char = \x{100000}
  136. No need char
  137. /\x{10ffff}/8DZ
  138. ------------------------------------------------------------------
  139. Bra
  140. \x{10ffff}
  141. Ket
  142. End
  143. ------------------------------------------------------------------
  144. Capturing subpattern count = 0
  145. Options: utf
  146. First char = \x{10ffff}
  147. No need char
  148. /[\x{ff}]/8DZ
  149. ------------------------------------------------------------------
  150. Bra
  151. \x{ff}
  152. Ket
  153. End
  154. ------------------------------------------------------------------
  155. Capturing subpattern count = 0
  156. Options: utf
  157. First char = \x{ff}
  158. No need char
  159. /[\x{100}]/8DZ
  160. ------------------------------------------------------------------
  161. Bra
  162. \x{100}
  163. Ket
  164. End
  165. ------------------------------------------------------------------
  166. Capturing subpattern count = 0
  167. Options: utf
  168. First char = \x{100}
  169. No need char
  170. /\x80/8DZ
  171. ------------------------------------------------------------------
  172. Bra
  173. \x80
  174. Ket
  175. End
  176. ------------------------------------------------------------------
  177. Capturing subpattern count = 0
  178. Options: utf
  179. First char = \x{80}
  180. No need char
  181. /\xff/8DZ
  182. ------------------------------------------------------------------
  183. Bra
  184. \x{ff}
  185. Ket
  186. End
  187. ------------------------------------------------------------------
  188. Capturing subpattern count = 0
  189. Options: utf
  190. First char = \x{ff}
  191. No need char
  192. /\x{D55c}\x{ad6d}\x{C5B4}/DZ8
  193. ------------------------------------------------------------------
  194. Bra
  195. \x{d55c}\x{ad6d}\x{c5b4}
  196. Ket
  197. End
  198. ------------------------------------------------------------------
  199. Capturing subpattern count = 0
  200. Options: utf
  201. First char = \x{d55c}
  202. Need char = \x{c5b4}
  203. \x{D55c}\x{ad6d}\x{C5B4}
  204. 0: \x{d55c}\x{ad6d}\x{c5b4}
  205. /\x{65e5}\x{672c}\x{8a9e}/DZ8
  206. ------------------------------------------------------------------
  207. Bra
  208. \x{65e5}\x{672c}\x{8a9e}
  209. Ket
  210. End
  211. ------------------------------------------------------------------
  212. Capturing subpattern count = 0
  213. Options: utf
  214. First char = \x{65e5}
  215. Need char = \x{8a9e}
  216. \x{65e5}\x{672c}\x{8a9e}
  217. 0: \x{65e5}\x{672c}\x{8a9e}
  218. /\x{80}/DZ8
  219. ------------------------------------------------------------------
  220. Bra
  221. \x80
  222. Ket
  223. End
  224. ------------------------------------------------------------------
  225. Capturing subpattern count = 0
  226. Options: utf
  227. First char = \x{80}
  228. No need char
  229. /\x{084}/DZ8
  230. ------------------------------------------------------------------
  231. Bra
  232. \x{84}
  233. Ket
  234. End
  235. ------------------------------------------------------------------
  236. Capturing subpattern count = 0
  237. Options: utf
  238. First char = \x{84}
  239. No need char
  240. /\x{104}/DZ8
  241. ------------------------------------------------------------------
  242. Bra
  243. \x{104}
  244. Ket
  245. End
  246. ------------------------------------------------------------------
  247. Capturing subpattern count = 0
  248. Options: utf
  249. First char = \x{104}
  250. No need char
  251. /\x{861}/DZ8
  252. ------------------------------------------------------------------
  253. Bra
  254. \x{861}
  255. Ket
  256. End
  257. ------------------------------------------------------------------
  258. Capturing subpattern count = 0
  259. Options: utf
  260. First char = \x{861}
  261. No need char
  262. /\x{212ab}/DZ8
  263. ------------------------------------------------------------------
  264. Bra
  265. \x{212ab}
  266. Ket
  267. End
  268. ------------------------------------------------------------------
  269. Capturing subpattern count = 0
  270. Options: utf
  271. First char = \x{212ab}
  272. No need char
  273. /-- This one is here not because it's different to Perl, but because the way
  274. the captured single-byte is displayed. (In Perl it becomes a character, and you
  275. can't tell the difference.) --/
  276. /X(\C)(.*)/8
  277. X\x{1234}
  278. 0: X\x{1234}
  279. 1: \x{1234}
  280. 2:
  281. X\nabc
  282. 0: X\x{0a}abc
  283. 1: \x{0a}
  284. 2: abc
  285. /-- This one is here because Perl gives out a grumbly error message (quite
  286. correctly, but that messes up comparisons). --/
  287. /a\Cb/8
  288. *** Failers
  289. No match
  290. a\x{100}b
  291. 0: a\x{100}b
  292. /[^ab\xC0-\xF0]/8SDZ
  293. ------------------------------------------------------------------
  294. Bra
  295. [\x00-`c-\xbf\xf1-\xff] (neg)
  296. Ket
  297. End
  298. ------------------------------------------------------------------
  299. Capturing subpattern count = 0
  300. Options: utf
  301. No first char
  302. No need char
  303. Subject length lower bound = 1
  304. Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
  305. \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
  306. \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4
  307. 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y
  308. Z [ \ ] ^ _ ` c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f
  309. \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e
  310. \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d
  311. \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac
  312. \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb
  313. \xbc \xbd \xbe \xbf \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
  314. \xfc \xfd \xfe \xff
  315. \x{f1}
  316. 0: \x{f1}
  317. \x{bf}
  318. 0: \x{bf}
  319. \x{100}
  320. 0: \x{100}
  321. \x{1000}
  322. 0: \x{1000}
  323. *** Failers
  324. 0: *
  325. \x{c0}
  326. No match
  327. \x{f0}
  328. No match
  329. /Ä€{3,4}/8SDZ
  330. ------------------------------------------------------------------
  331. Bra
  332. \x{100}{3}
  333. \x{100}?+
  334. Ket
  335. End
  336. ------------------------------------------------------------------
  337. Capturing subpattern count = 0
  338. Options: utf
  339. First char = \x{100}
  340. Need char = \x{100}
  341. Subject length lower bound = 3
  342. No starting char list
  343. \x{100}\x{100}\x{100}\x{100\x{100}
  344. 0: \x{100}\x{100}\x{100}
  345. /(\x{100}+|x)/8SDZ
  346. ------------------------------------------------------------------
  347. Bra
  348. CBra 1
  349. \x{100}++
  350. Alt
  351. x
  352. Ket
  353. Ket
  354. End
  355. ------------------------------------------------------------------
  356. Capturing subpattern count = 1
  357. Options: utf
  358. No first char
  359. No need char
  360. Subject length lower bound = 1
  361. Starting chars: x \xff
  362. /(\x{100}*a|x)/8SDZ
  363. ------------------------------------------------------------------
  364. Bra
  365. CBra 1
  366. \x{100}*+
  367. a
  368. Alt
  369. x
  370. Ket
  371. Ket
  372. End
  373. ------------------------------------------------------------------
  374. Capturing subpattern count = 1
  375. Options: utf
  376. No first char
  377. No need char
  378. Subject length lower bound = 1
  379. Starting chars: a x \xff
  380. /(\x{100}{0,2}a|x)/8SDZ
  381. ------------------------------------------------------------------
  382. Bra
  383. CBra 1
  384. \x{100}{0,2}+
  385. a
  386. Alt
  387. x
  388. Ket
  389. Ket
  390. End
  391. ------------------------------------------------------------------
  392. Capturing subpattern count = 1
  393. Options: utf
  394. No first char
  395. No need char
  396. Subject length lower bound = 1
  397. Starting chars: a x \xff
  398. /(\x{100}{1,2}a|x)/8SDZ
  399. ------------------------------------------------------------------
  400. Bra
  401. CBra 1
  402. \x{100}
  403. \x{100}{0,1}+
  404. a
  405. Alt
  406. x
  407. Ket
  408. Ket
  409. End
  410. ------------------------------------------------------------------
  411. Capturing subpattern count = 1
  412. Options: utf
  413. No first char
  414. No need char
  415. Subject length lower bound = 1
  416. Starting chars: x \xff
  417. /\x{100}/8DZ
  418. ------------------------------------------------------------------
  419. Bra
  420. \x{100}
  421. Ket
  422. End
  423. ------------------------------------------------------------------
  424. Capturing subpattern count = 0
  425. Options: utf
  426. First char = \x{100}
  427. No need char
  428. /a\x{100}\x{101}*/8DZ
  429. ------------------------------------------------------------------
  430. Bra
  431. a\x{100}
  432. \x{101}*+
  433. Ket
  434. End
  435. ------------------------------------------------------------------
  436. Capturing subpattern count = 0
  437. Options: utf
  438. First char = 'a'
  439. Need char = \x{100}
  440. /a\x{100}\x{101}+/8DZ
  441. ------------------------------------------------------------------
  442. Bra
  443. a\x{100}
  444. \x{101}++
  445. Ket
  446. End
  447. ------------------------------------------------------------------
  448. Capturing subpattern count = 0
  449. Options: utf
  450. First char = 'a'
  451. Need char = \x{101}
  452. /[^\x{c4}]/DZ
  453. ------------------------------------------------------------------
  454. Bra
  455. [^\x{c4}]
  456. Ket
  457. End
  458. ------------------------------------------------------------------
  459. Capturing subpattern count = 0
  460. No options
  461. No first char
  462. No need char
  463. /[\x{100}]/8DZ
  464. ------------------------------------------------------------------
  465. Bra
  466. \x{100}
  467. Ket
  468. End
  469. ------------------------------------------------------------------
  470. Capturing subpattern count = 0
  471. Options: utf
  472. First char = \x{100}
  473. No need char
  474. \x{100}
  475. 0: \x{100}
  476. Z\x{100}
  477. 0: \x{100}
  478. \x{100}Z
  479. 0: \x{100}
  480. *** Failers
  481. No match
  482. /[\xff]/DZ8
  483. ------------------------------------------------------------------
  484. Bra
  485. \x{ff}
  486. Ket
  487. End
  488. ------------------------------------------------------------------
  489. Capturing subpattern count = 0
  490. Options: utf
  491. First char = \x{ff}
  492. No need char
  493. >\x{ff}<
  494. 0: \x{ff}
  495. /[^\xff]/8DZ
  496. ------------------------------------------------------------------
  497. Bra
  498. [^\x{ff}]
  499. Ket
  500. End
  501. ------------------------------------------------------------------
  502. Capturing subpattern count = 0
  503. Options: utf
  504. No first char
  505. No need char
  506. /\x{100}abc(xyz(?1))/8DZ
  507. ------------------------------------------------------------------
  508. Bra
  509. \x{100}abc
  510. CBra 1
  511. xyz
  512. Recurse
  513. Ket
  514. Ket
  515. End
  516. ------------------------------------------------------------------
  517. Capturing subpattern count = 1
  518. Options: utf
  519. First char = \x{100}
  520. Need char = 'z'
  521. /\777/8I
  522. Capturing subpattern count = 0
  523. Options: utf
  524. First char = \x{1ff}
  525. No need char
  526. \x{1ff}
  527. 0: \x{1ff}
  528. \777
  529. 0: \x{1ff}
  530. /\x{100}+\x{200}/8DZ
  531. ------------------------------------------------------------------
  532. Bra
  533. \x{100}++
  534. \x{200}
  535. Ket
  536. End
  537. ------------------------------------------------------------------
  538. Capturing subpattern count = 0
  539. Options: utf
  540. First char = \x{100}
  541. Need char = \x{200}
  542. /\x{100}+X/8DZ
  543. ------------------------------------------------------------------
  544. Bra
  545. \x{100}++
  546. X
  547. Ket
  548. End
  549. ------------------------------------------------------------------
  550. Capturing subpattern count = 0
  551. Options: utf
  552. First char = \x{100}
  553. Need char = 'X'
  554. /^[\QĀ\E-\Q�\E/BZ8
  555. Failed: missing terminating ] for character class at offset 13
  556. /X/8
  557. \x{d800}
  558. Error -10 (bad UTF-32 string) offset=0 reason=1
  559. \x{d800}\?
  560. No match
  561. \x{da00}
  562. Error -10 (bad UTF-32 string) offset=0 reason=1
  563. \x{da00}\?
  564. No match
  565. \x{dc00}
  566. Error -10 (bad UTF-32 string) offset=0 reason=1
  567. \x{dc00}\?
  568. No match
  569. \x{de00}
  570. Error -10 (bad UTF-32 string) offset=0 reason=1
  571. \x{de00}\?
  572. No match
  573. \x{dfff}
  574. Error -10 (bad UTF-32 string) offset=0 reason=1
  575. \x{dfff}\?
  576. No match
  577. \x{110000}
  578. Error -10 (bad UTF-32 string) offset=0 reason=3
  579. \x{d800}\x{1234}
  580. Error -10 (bad UTF-32 string) offset=0 reason=1
  581. /(*UTF16)\x{11234}/
  582. Failed: (*VERB) not recognized or malformed at offset 5
  583. /(*UTF)\x{11234}/I
  584. Capturing subpattern count = 0
  585. Options: utf
  586. First char = \x{11234}
  587. No need char
  588. abcd\x{11234}pqr
  589. 0: \x{11234}
  590. /(*UTF-32)\x{11234}/
  591. Failed: (*VERB) not recognized or malformed at offset 5
  592. /(*CRLF)(*UTF16)(*BSR_UNICODE)a\Rb/I
  593. Failed: (*VERB) not recognized or malformed at offset 12
  594. /(*CRLF)(*UTF32)(*BSR_UNICODE)a\Rb/I
  595. Capturing subpattern count = 0
  596. Options: bsr_unicode utf
  597. Forced newline sequence: CRLF
  598. First char = 'a'
  599. Need char = 'b'
  600. /\h/SI8
  601. Capturing subpattern count = 0
  602. Options: utf
  603. No first char
  604. No need char
  605. Subject length lower bound = 1
  606. Starting chars: \x09 \x20 \xa0 \xff
  607. ABC\x{09}
  608. 0: \x{09}
  609. ABC\x{20}
  610. 0:
  611. ABC\x{a0}
  612. 0: \x{a0}
  613. ABC\x{1680}
  614. 0: \x{1680}
  615. ABC\x{180e}
  616. 0: \x{180e}
  617. ABC\x{2000}
  618. 0: \x{2000}
  619. ABC\x{202f}
  620. 0: \x{202f}
  621. ABC\x{205f}
  622. 0: \x{205f}
  623. ABC\x{3000}
  624. 0: \x{3000}
  625. /\v/SI8
  626. Capturing subpattern count = 0
  627. Options: utf
  628. No first char
  629. No need char
  630. Subject length lower bound = 1
  631. Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
  632. ABC\x{0a}
  633. 0: \x{0a}
  634. ABC\x{0b}
  635. 0: \x{0b}
  636. ABC\x{0c}
  637. 0: \x{0c}
  638. ABC\x{0d}
  639. 0: \x{0d}
  640. ABC\x{85}
  641. 0: \x{85}
  642. ABC\x{2028}
  643. 0: \x{2028}
  644. /\h*A/SI8
  645. Capturing subpattern count = 0
  646. Options: utf
  647. No first char
  648. Need char = 'A'
  649. Subject length lower bound = 1
  650. Starting chars: \x09 \x20 A \xa0 \xff
  651. CDBABC
  652. 0: A
  653. \x{2000}ABC
  654. 0: \x{2000}A
  655. /\R*A/SI8<bsr_unicode>
  656. Capturing subpattern count = 0
  657. Options: bsr_unicode utf
  658. No first char
  659. Need char = 'A'
  660. Subject length lower bound = 1
  661. Starting chars: \x0a \x0b \x0c \x0d A \x85 \xff
  662. CDBABC
  663. 0: A
  664. \x{2028}A
  665. 0: \x{2028}A
  666. /\v+A/SI8
  667. Capturing subpattern count = 0
  668. Options: utf
  669. No first char
  670. Need char = 'A'
  671. Subject length lower bound = 2
  672. Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
  673. /\s?xxx\s/8SI
  674. Capturing subpattern count = 0
  675. Options: utf
  676. No first char
  677. Need char = 'x'
  678. Subject length lower bound = 4
  679. Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 x
  680. /\sxxx\s/I8ST1
  681. Capturing subpattern count = 0
  682. Options: utf
  683. No first char
  684. Need char = 'x'
  685. Subject length lower bound = 5
  686. Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 \x85 \xa0
  687. AB\x{85}xxx\x{a0}XYZ
  688. 0: \x{85}xxx\x{a0}
  689. AB\x{a0}xxx\x{85}XYZ
  690. 0: \x{a0}xxx\x{85}
  691. /\S \S/I8ST1
  692. Capturing subpattern count = 0
  693. Options: utf
  694. No first char
  695. Need char = ' '
  696. Subject length lower bound = 3
  697. Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0e \x0f
  698. \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e
  699. \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C
  700. D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h
  701. i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 \x84
  702. \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94
  703. \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa1 \xa2 \xa3 \xa4
  704. \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3
  705. \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2
  706. \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1
  707. \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0
  708. \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef
  709. \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe
  710. \xff
  711. \x{a2} \x{84}
  712. 0: \x{a2} \x{84}
  713. A Z
  714. 0: A Z
  715. /a+/8
  716. a\x{123}aa\>1
  717. 0: aa
  718. a\x{123}aa\>2
  719. 0: aa
  720. a\x{123}aa\>3
  721. 0: a
  722. a\x{123}aa\>4
  723. No match
  724. a\x{123}aa\>5
  725. Error -24 (bad offset value)
  726. a\x{123}aa\>6
  727. Error -24 (bad offset value)
  728. /\x{1234}+/iS8I
  729. Capturing subpattern count = 0
  730. Options: caseless utf
  731. First char = \x{1234}
  732. No need char
  733. Subject length lower bound = 1
  734. No starting char list
  735. /\x{1234}+?/iS8I
  736. Capturing subpattern count = 0
  737. Options: caseless utf
  738. First char = \x{1234}
  739. No need char
  740. Subject length lower bound = 1
  741. No starting char list
  742. /\x{1234}++/iS8I
  743. Capturing subpattern count = 0
  744. Options: caseless utf
  745. First char = \x{1234}
  746. No need char
  747. Subject length lower bound = 1
  748. No starting char list
  749. /\x{1234}{2}/iS8I
  750. Capturing subpattern count = 0
  751. Options: caseless utf
  752. First char = \x{1234}
  753. Need char = \x{1234}
  754. Subject length lower bound = 2
  755. No starting char list
  756. /[^\x{c4}]/8DZ
  757. ------------------------------------------------------------------
  758. Bra
  759. [^\x{c4}]
  760. Ket
  761. End
  762. ------------------------------------------------------------------
  763. Capturing subpattern count = 0
  764. Options: utf
  765. No first char
  766. No need char
  767. /X+\x{200}/8DZ
  768. ------------------------------------------------------------------
  769. Bra
  770. X++
  771. \x{200}
  772. Ket
  773. End
  774. ------------------------------------------------------------------
  775. Capturing subpattern count = 0
  776. Options: utf
  777. First char = 'X'
  778. Need char = \x{200}
  779. /\R/SI8
  780. Capturing subpattern count = 0
  781. Options: utf
  782. No first char
  783. No need char
  784. Subject length lower bound = 1
  785. Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
  786. /-- Check bad offset --/
  787. /a/8
  788. \x{10000}\>1
  789. No match
  790. \x{10000}ab\>1
  791. 0: a
  792. \x{10000}ab\>2
  793. No match
  794. \x{10000}ab\>3
  795. No match
  796. \x{10000}ab\>4
  797. Error -24 (bad offset value)
  798. \x{10000}ab\>5
  799. Error -24 (bad offset value)
  800. /í¼€/8
  801. **Failed: character value is ill-formed UTF-32
  802. /\w+\x{C4}/8BZ
  803. ------------------------------------------------------------------
  804. Bra
  805. \w++
  806. \x{c4}
  807. Ket
  808. End
  809. ------------------------------------------------------------------
  810. a\x{C4}\x{C4}
  811. 0: a\x{c4}
  812. /\w+\x{C4}/8BZT1
  813. ------------------------------------------------------------------
  814. Bra
  815. \w+
  816. \x{c4}
  817. Ket
  818. End
  819. ------------------------------------------------------------------
  820. a\x{C4}\x{C4}
  821. 0: a\x{c4}\x{c4}
  822. /\W+\x{C4}/8BZ
  823. ------------------------------------------------------------------
  824. Bra
  825. \W+
  826. \x{c4}
  827. Ket
  828. End
  829. ------------------------------------------------------------------
  830. !\x{C4}
  831. 0: !\x{c4}
  832. /\W+\x{C4}/8BZT1
  833. ------------------------------------------------------------------
  834. Bra
  835. \W++
  836. \x{c4}
  837. Ket
  838. End
  839. ------------------------------------------------------------------
  840. !\x{C4}
  841. 0: !\x{c4}
  842. /\W+\x{A1}/8BZ
  843. ------------------------------------------------------------------
  844. Bra
  845. \W+
  846. \x{a1}
  847. Ket
  848. End
  849. ------------------------------------------------------------------
  850. !\x{A1}
  851. 0: !\x{a1}
  852. /\W+\x{A1}/8BZT1
  853. ------------------------------------------------------------------
  854. Bra
  855. \W+
  856. \x{a1}
  857. Ket
  858. End
  859. ------------------------------------------------------------------
  860. !\x{A1}
  861. 0: !\x{a1}
  862. /X\s+\x{A0}/8BZ
  863. ------------------------------------------------------------------
  864. Bra
  865. X
  866. \s++
  867. \x{a0}
  868. Ket
  869. End
  870. ------------------------------------------------------------------
  871. X\x20\x{A0}\x{A0}
  872. 0: X \x{a0}
  873. /X\s+\x{A0}/8BZT1
  874. ------------------------------------------------------------------
  875. Bra
  876. X
  877. \s+
  878. \x{a0}
  879. Ket
  880. End
  881. ------------------------------------------------------------------
  882. X\x20\x{A0}\x{A0}
  883. 0: X \x{a0}\x{a0}
  884. /\S+\x{A0}/8BZ
  885. ------------------------------------------------------------------
  886. Bra
  887. \S+
  888. \x{a0}
  889. Ket
  890. End
  891. ------------------------------------------------------------------
  892. X\x{A0}\x{A0}
  893. 0: X\x{a0}\x{a0}
  894. /\S+\x{A0}/8BZT1
  895. ------------------------------------------------------------------
  896. Bra
  897. \S++
  898. \x{a0}
  899. Ket
  900. End
  901. ------------------------------------------------------------------
  902. X\x{A0}\x{A0}
  903. 0: X\x{a0}
  904. /\x{a0}+\s!/8BZ
  905. ------------------------------------------------------------------
  906. Bra
  907. \x{a0}++
  908. \s
  909. !
  910. Ket
  911. End
  912. ------------------------------------------------------------------
  913. \x{a0}\x20!
  914. 0: \x{a0} !
  915. /\x{a0}+\s!/8BZT1
  916. ------------------------------------------------------------------
  917. Bra
  918. \x{a0}+
  919. \s
  920. !
  921. Ket
  922. End
  923. ------------------------------------------------------------------
  924. \x{a0}\x20!
  925. 0: \x{a0} !
  926. /(*UTF)abc/9
  927. Failed: setting UTF is disabled by the application at offset 0
  928. /abc/89
  929. Failed: setting UTF is disabled by the application at offset 0
  930. /-- End of testinput18 --/