2008-04-29 12:55:25 +00:00
|
|
|
#!/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`);
|
2009-07-12 22:52:13 +00:00
|
|
|
if ($supported =~ m/^1/)
|
2008-04-29 12:55:25 +00:00
|
|
|
{
|
2009-10-27 01:51:56 +00:00
|
|
|
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;
|
|
|
|
}
|
2008-04-29 12:55:25 +00:00
|
|
|
$td->runtest("unicode character classes",
|
|
|
|
{$td->COMMAND => "pcre --unicode-classes"},
|
|
|
|
{$td->FILE => "pcre-unicode-classes.out",
|
|
|
|
$td->EXIT_STATUS => 0},
|
2009-10-27 01:51:56 +00:00
|
|
|
$td->NORMALIZE_NEWLINES | $xflags);
|
2008-04-29 12:55:25 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
$td->runtest("unicode classes are not supported",
|
|
|
|
{$td->STRING => "1"},
|
|
|
|
{$td->STRING => "1"});
|
|
|
|
}
|
|
|
|
|
|
|
|
$td->report(2);
|