File: 45regex.t

package info (click to toggle)
libxml-libxml-perl 1.70.ds-1%2Bdeb6u1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze-lts
  • size: 1,992 kB
  • ctags: 1,726
  • sloc: perl: 4,521; ansic: 3,583; xml: 177; sh: 62; makefile: 7
file content (29 lines) | stat: -rw-r--r-- 691 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#########################

use Test;
BEGIN { plan tests => 13 };
use XML::LibXML;

my $regex = '[0-9]{5}(-[0-9]{4})?';
my $bad_regex = '[0-9]{5}(-[0-9]{4}?';
my $nondet_regex = '(bc)|(bd)';
my $re = XML::LibXML::RegExp->new($regex);
ok( $re );
ok( ! $re->matches('00') );
ok( ! $re->matches('00-') );
ok( $re->matches('12345') );
ok( !$re->matches('123456') );

ok( $re->matches('12345-1234') );
ok( ! $re->matches(' 12345-1234') );
ok( ! $re->matches(' 12345-12345') );
ok( ! $re->matches('12345-1234 ') );

ok( $re->isDeterministic );

my $re2 = XML::LibXML::RegExp->new($nondet_regex);
ok( $re2 );
ok( ! $re2->isDeterministic );

eval { XML::LibXML::RegExp->new($bad_regex); };
ok( $@ );