use strict;
use warnings;
-use Test::More tests => 22;
+use Test::More tests => 28;
use Test::NoWarnings;
use Data::Dump 'pp';
for (
[ q => 'q'],
['#foo.!$' => '\#foo\.\!\$'],
+ [ '-' => ''],
+ [ '' => ''],
[ -q => '(?:(?![q-z])|q)'],
[ -qqq => '(?:(?![q-z])|q(?![q-z])|qq(?![q-z])|qqq)'],
[ 'q-' => '[q-z]'],
['qqq-q' => '(?:q[r-z]|qq[q-z])'],
) {
my ($in, $out) = @$_;
- is(eval { rangematch($in) }, "(?i-xsm:^$out)", $in);
+ is(eval { rangematch($in) }, "(?i-xsm:^$out)", (length $in ? $in : q{''}));
diag($@) if $@;
}
+for my $in (
+ 'qqq-qc',
+ 'x-q',
+ 'xxx-qqq',
+ 'xxx-q',
+) {
+ is(eval { rangematch($in) }, undef, (length $in ? $in : q{''}) . ' failure');
+}