XXX: rangematch()
[perl/list-index.git] / t / 20-links.t
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
4
5 use Test::More tests => 13;
6 use Test::NoWarnings;
7
8 BEGIN { use_ok('List::Index' => 'rangematch'); }
9
10 for (
11         [   q      => 'q'],
12         ['#foo.!$' => '\#foo\.\!\$'],
13         [    -q    =>            '(?:(?![q-z])|q)'],
14         [    -qqq  =>            '(?:(?![q-z])|q(?![q-z])|qq(?![q-z])|qqq)'],
15         [  'q-'    =>    '[q-z]'],
16         ['qqq-'    => '(?:[r-z]|q[r-z]|qq[q-z])'],
17         [  'q-x'   =>    '[q-x]'],
18         ['qqq-xxx' => '(?:[r-w]|q[r-z]|qq[q-z]|x(?![x-z])|xx(?![x-z])|xxx)'],
19         ['qqq-x'   => '(?:[r-x]|q[r-z]|qq[q-z])'],
20         ['qqq-q'   =>       '(?:q[r-z]|qq[q-z])'],
21         [  'q-xxx' =>                '(?:[q-w]|x(?![x-z])|xx(?![x-z])|xxx)'],
22 ) {
23         my ($in, $out) = @$_;
24         is(eval { rangematch($in) }, "(?i-xsm:^$out)", $in);
25         diag($@) if $@;
26 }
27