testoutput18-16 22 KB

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