1/-- This is a specialized test for checking, when PCRE is compiled with the
2EBCDIC option but in an ASCII environment, that newline and white space
3functionality is working. It catches cases where explicit values such as 0x0a
4have been used instead of names like CHAR_LF. Needless to say, it is not a
5genuine EBCDIC test! In patterns, alphabetic characters that follow a backslash
6must be in EBCDIC code. In data, newlines and other spacing characters must be
7in EBCDIC, but can be specified as escapes. --/
8
9/-- Test default newline and variations --/
10
11/^A/m
12    ABC
13 0: A
14    12\x15ABC
15 0: A
16
17/^A/m<any>
18    12\x15ABC
19 0: A
20    12\x0dABC
21 0: A
22    12\x0d\x15ABC
23 0: A
24    12\x25ABC
25 0: A
26
27/^A/m<anycrlf>
28    12\x15ABC
29 0: A
30    12\x0dABC
31 0: A
32    12\x0d\x15ABC
33 0: A
34    ** Fail
35No match
36    12\x25ABC
37No match
38
39/-- Test \h --/
40
41/^A\�/
42    A B
43 0: A\x20
44    A\x41B
45 0: AA
46
47/-- Test \H --/
48
49/^A\�/
50    AB
51 0: AB
52    A\x42B
53 0: AB
54    ** Fail
55No match
56    A B
57No match
58    A\x41B
59No match
60
61/-- Test \R --/
62
63/^A\�/
64    A\x15B
65 0: A\x15
66    A\x0dB
67 0: A\x0d
68    A\x25B
69 0: A\x25
70    A\x0bB
71 0: A\x0b
72    A\x0cB
73 0: A\x0c
74    ** Fail
75No match
76    A B
77No match
78
79/-- Test \v --/
80
81/^A\�/
82    A\x15B
83 0: A\x15
84    A\x0dB
85 0: A\x0d
86    A\x25B
87 0: A\x25
88    A\x0bB
89 0: A\x0b
90    A\x0cB
91 0: A\x0c
92    ** Fail
93No match
94    A B
95No match
96
97/-- Test \V --/
98
99/^A\�/
100    A B
101 0: A\x20
102    ** Fail
103No match
104    A\x15B
105No match
106    A\x0dB
107No match
108    A\x25B
109No match
110    A\x0bB
111No match
112    A\x0cB
113No match
114
115/-- For repeated items, use an atomic group so that the output is the same
116for DFA matching (otherwise it may show multiple matches). --/
117
118/-- Test \h+ --/
119
120/^A(?>\�+)/
121    A B
122 0: A\x20
123
124/-- Test \H+ --/
125
126/^A(?>\�+)/
127    AB
128 0: AB
129    ** Fail
130No match
131    A B
132No match
133
134/-- Test \R+ --/
135
136/^A(?>\�+)/
137    A\x15B
138 0: A\x15
139    A\x0dB
140 0: A\x0d
141    A\x25B
142 0: A\x25
143    A\x0bB
144 0: A\x0b
145    A\x0cB
146 0: A\x0c
147    ** Fail
148No match
149    A B
150No match
151
152/-- Test \v+ --/
153
154/^A(?>\�+)/
155    A\x15B
156 0: A\x15
157    A\x0dB
158 0: A\x0d
159    A\x25B
160 0: A\x25
161    A\x0bB
162 0: A\x0b
163    A\x0cB
164 0: A\x0c
165    ** Fail
166No match
167    A B
168No match
169
170/-- Test \V+ --/
171
172/^A(?>\�+)/
173    A B
174 0: A\x20B
175    ** Fail
176No match
177    A\x15B
178No match
179    A\x0dB
180No match
181    A\x25B
182No match
183    A\x0bB
184No match
185    A\x0cB
186No match
187
188/-- End --/
189