blob: 4edc8f998a803c4be58c4c754f20207a2bb225f9 [file] [log] [blame]
Elliott Hughes653c2102019-01-09 15:41:36 -08001PCRE2 version 10.32-RC1 2018-02-19
Janis Danisevskis112c9cc2016-03-31 13:35:25 +01002# This is a specialized test for checking, when PCRE2 is compiled with the
3# EBCDIC option but in an ASCII environment, that newline, white space, and \c
4# functionality is working. It catches cases where explicit values such as 0x0a
5# have been used instead of names like CHAR_LF. Needless to say, it is not a
6# genuine EBCDIC test! In patterns, alphabetic characters that follow a
7# backslash must be in EBCDIC code. In data, NL, NEL, LF, ESC, and DEL must be
8# in EBCDIC, but can of course be specified as escapes.
9
10# Test default newline and variations
11
12/^A/m
13 ABC
14 0: A
15 12\x15ABC
16 0: A
17
18/^A/m,newline=any
19 12\x15ABC
20 0: A
21 12\x0dABC
22 0: A
23 12\x0d\x15ABC
24 0: A
25 12\x25ABC
26 0: A
27
28/^A/m,newline=anycrlf
29 12\x15ABC
30 0: A
31 12\x0dABC
32 0: A
33 12\x0d\x15ABC
34 0: A
35 ** Fail
36No match
37 12\x25ABC
38No match
39
40# Test \h
41
42/^A\ˆ/
43 A B
44 0: A\x20
45 A\x41B
46 0: AA
47
48# Test \H
49
50/^A\È/
51 AB
52 0: AB
53 A\x42B
54 0: AB
55 ** Fail
56No match
57 A B
58No match
59 A\x41B
60No match
61
62# Test \R
63
64/^A\Ù/
65 A\x15B
66 0: A\x15
67 A\x0dB
68 0: A\x0d
69 A\x25B
70 0: A\x25
71 A\x0bB
72 0: A\x0b
73 A\x0cB
74 0: A\x0c
75 ** Fail
76No match
77 A B
78No match
79
80# Test \v
81
82/^A\¥/
83 A\x15B
84 0: A\x15
85 A\x0dB
86 0: A\x0d
87 A\x25B
88 0: A\x25
89 A\x0bB
90 0: A\x0b
91 A\x0cB
92 0: A\x0c
93 ** Fail
94No match
95 A B
96No match
97
98# Test \V
99
100/^A\å/
101 A B
102 0: A\x20
103 ** Fail
104No match
105 A\x15B
106No match
107 A\x0dB
108No match
109 A\x25B
110No match
111 A\x0bB
112No match
113 A\x0cB
114No match
115
116# For repeated items, use an atomic group so that the output is the same
117# for DFA matching (otherwise it may show multiple matches).
118
119# Test \h+
120
121/^A(?>+)/
122 A B
123 0: A\x20
124
125# Test \H+
126
127/^A(?>+)/
128 AB
129 0: AB
130 ** Fail
131No match
132 A B
133No match
134
135# Test \R+
136
137/^A(?>+)/
138 A\x15B
139 0: A\x15
140 A\x0dB
141 0: A\x0d
142 A\x25B
143 0: A\x25
144 A\x0bB
145 0: A\x0b
146 A\x0cB
147 0: A\x0c
148 ** Fail
149No match
150 A B
151No match
152
153# Test \v+
154
155/^A(?>+)/
156 A\x15B
157 0: A\x15
158 A\x0dB
159 0: A\x0d
160 A\x25B
161 0: A\x25
162 A\x0bB
163 0: A\x0b
164 A\x0cB
165 0: A\x0c
166 ** Fail
167No match
168 A B
169No match
170
171# Test \V+
172
173/^A(?>+)/
174 A B
175 0: A\x20B
176 ** Fail
177No match
178 A\x15B
179No match
180 A\x0dB
181No match
182 A\x25B
183No match
184 A\x0bB
185No match
186 A\x0cB
187No match
188
189# Test \c functionality
190
191/@\ƒ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\ƒZ/
192 \x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f
193 0: \x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a
194
195/[\ƒ\\ƒ]^\ƒ_/
196 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f
197 0: \x1b\x1c\x1d\x1e\x1f
198
199/?/
200 A\xffB
201 0: \xff
202
203/&/
Elliott Hughes653c2102019-01-09 15:41:36 -0800204Failed: error 168 at offset 3: \c\x20must\x20be\x20followed\x20by\x20a\x20letter\x20or\x20one\x20of\x20[\]^_\x3f
Janis Danisevskis112c9cc2016-03-31 13:35:25 +0100205
206# End