2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-11-01 03:12:29 +00:00
qpdf/libtests/qtest/pcre.test

48 lines
1.3 KiB
Plaintext
Raw Normal View History

#!/usr/bin/env perl
require 5.008;
BEGIN { $^W = 1; }
use strict;
chdir("pcre") or die "chdir testdir failed: $!\n";
require TestDriver;
my $td = new TestDriver('pcre');
$td->runtest("PCRE",
{$td->COMMAND => "pcre"},
{$td->FILE => "pcre.out",
$td->EXIT_STATUS => 0},
$td->NORMALIZE_NEWLINES);
chop(my $supported = `pcre --unicode-classes-supported`);
if ($supported =~ m/^1/)
{
my $xflags = 0;
if (`pcre --unicode-classes | wc -l` == 1)
{
# On Red Hat Enterprise Linux 5, the version of pcre provided
# by default claims to support unicode character classes, but
# they don't actually work. Since qpdf doesn't use this
# functionality, we won't care if this particular test case
# fails. If someone were to make general use of this wrapper,
# this test should be re-enabled, but on the other hand, they
# could just use the C++ interface that's been added to pcre
# since this code was written.
$xflags |= $td->EXPECT_FAILURE;
}
$td->runtest("unicode character classes",
{$td->COMMAND => "pcre --unicode-classes"},
{$td->FILE => "pcre-unicode-classes.out",
$td->EXIT_STATUS => 0},
$td->NORMALIZE_NEWLINES | $xflags);
}
else
{
$td->runtest("unicode classes are not supported",
{$td->STRING => "1"},
{$td->STRING => "1"});
}
$td->report(2);