/-- This is a specialized test for checking, when PCRE is compiled with the EBCDIC option but in an ASCII environment, that newline and white space functionality is working. It catches cases where explicit values such as 0x0a have been used instead of names like CHAR_LF. Needless to say, it is not a genuine EBCDIC test! In patterns, alphabetic characters that follow a backslash must be in EBCDIC code. In data, newlines and other spacing characters must be in EBCDIC, but can be specified as escapes. --/ /-- Test default newline and variations --/ /^A/m ABC 12\x15ABC /^A/m 12\x15ABC 12\x0dABC 12\x0d\x15ABC 12\x25ABC /^A/m 12\x15ABC 12\x0dABC 12\x0d\x15ABC ** Fail 12\x25ABC /-- Test \h --/ /^A\ˆ/ A B /-- Test \H --/ /^A\È/ AB ** Fail A B /-- Test \R --/ /^A\Ù/ A\x15B A\x0dB A\x25B A\x0bB A\x0cB ** Fail A B /-- Test \v --/ /^A\¥/ A\x15B A\x0dB A\x25B A\x0bB A\x0cB ** Fail A B /-- Test \V --/ /^A\å/ A B ** Fail A\x15B A\x0dB A\x25B A\x0bB A\x0cB /-- For repeated items, use an atomic group so that the output is the same for DFA matching (otherwise it may show multiple matches). --/ /-- Test \h+ --/ /^A(?>\ˆ+)/ A B /-- Test \H+ --/ /^A(?>\È+)/ AB ** Fail A B /-- Test \R+ --/ /^A(?>\Ù+)/ A\x15B A\x0dB A\x25B A\x0bB A\x0cB ** Fail A B /-- Test \v+ --/ /^A(?>\¥+)/ A\x15B A\x0dB A\x25B A\x0bB A\x0cB ** Fail A B /-- Test \V+ --/ /^A(?>\å+)/ A B ** Fail A\x15B A\x0dB A\x25B A\x0bB A\x0cB /-- End --/