MarpaX-Languages-ECMAScript-AST
view release on metacpan or search on metacpan
t/pattern.t view on Meta::CPAN
#!perl
use strict;
use warnings FATAL => 'all';
use Test::More;
use Test::Differences;
BEGIN {
use_ok( 'MarpaX::Languages::ECMAScript::AST' ) || print "Bail out!\n";
}
my $ecmaAst = MarpaX::Languages::ECMAScript::AST->new();
my $pattern = $ecmaAst->pattern;
my %DATA = (
# reg input index multiline ignoreCase Value
# [lastPos, [ @matches ] ]
'a|ab' => [[ 'abc', 0, 0, 0, [ 1, [] ] ],
],
'((a)|(ab))((c)|(bc))' => [[ 'abc', 0, 0, 0, [ 3, ['a','a',undef,'bc',undef,'bc'] ] ],
],
'a[a-z]{2,4}' => [[ 'abcdefghi', 0, 0, 0, [ 5, [] ] ],
],
'a[a-z]{2,4}' => [[ 'ABabEFcdI', 0, 0, 1, [ 5, [] ] ],
],
'a[a-z]{2,4}' => [[ "\N{U+00D7}", 0, 0, 1, 0 ],
],
"[\N{U+00DF}]" => [[ "\N{U+00DF}", 0, 0, 1, [ 1, [] ] ],
],
'a[a-z]{6,4}' => [[ 'abcdefghi', 0, 0, 0, undef ],
],
'(a[a-z]{2,4})' => [[ 'abcdefghi', 0, 0, 0, [ 5, ['abcde'] ] ],
],
'a[a-z]{2,4}?' => [[ 'abcdefghi', 0, 0, 0, [ 3, [] ] ],
],
'(a[a-z]{2,4}?)' => [[ 'abcdefghi', 0, 0, 0, [ 3, ['abc'] ] ],
],
'(aa|aabaac|ba|b|c)*' => [[ 'aabaac', 0, 0, 0, [ 4, ['ba'] ] ],
],
'(z)((a+)?(b+)?(c))*' => [[ 'zaacbbbcac', 0, 0, 0, [10, ['z', 'ac', 'a', undef, 'c'] ] ],
],
'(a*)*' => [[ 'b', 0, 0, 0, [ 0, [undef] ] ],
],
'(a*)b\1+' => [[ 'baaaac', 0, 0, 0, [ 1, [''] ] ],
],
'(?=(a+))' => [[ 'baaabac', 0, 0, 0, 0 ],
],
'(?=(a+))' => [[ 'aaabac', 0, 0, 0, [ 0, ['aaa'] ] ],
],
'(?=(a+))a*b\1' => [[ 'abac', 0, 0, 0, [ 3, ['a'] ] ],
],
'(.*?)a(?!(a+)b\2c)\2(.*)' => [[ 'baaabaac', 0, 0, 0, [ 8, ['ba', undef, 'abaac'] ] ],
],
'(?:(ABC)|(123)){2}' => [[ 'ABC123', 0, 0, 0, [ 6, [undef, '123'] ] ],
[ '123ABC', 0, 0, 0, [ 6, ['ABC', undef] ] ],
],
'\\d{3}\\-?\\d{2}\\-?\\d{4}' => [[ '123-45-6789', 0, 0, 0, [11, [] ] ],
],
'\\d{1,}\\-?\\d{2}\\-?\\d{4}' => [[ '123-45-6789', 0, 0, 0, [11, [] ] ],
],
'^\\d{3}\\-?\\d{2}\\-?\\d{4}' => [[ '123-45-6789', 0, 0, 0, [11, [] ] ],
],
'\\d{3}\\-?\\d{2}\\-?\\d{4}$' => [[ '123-45-6789', 0, 0, 0, [11, [] ] ],
],
'[a-zA-Z0-9]' => [[ 'a', 0, 0, 0, [ 1, [] ] ],
],
( run in 0.417 second using v1.01-cache-2.11-cpan-e1769b4cff6 )