File: minimize_bug.t

package info (click to toggle)
libregexp-grammars-perl 1.058-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,328 kB
  • sloc: perl: 53,328; makefile: 2
file content (42 lines) | stat: -rw-r--r-- 744 bytes parent folder | download | duplicates (5)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
use 5.010;
use Data::Dumper;
use Regexp::Grammars;

my $nocontext = qr{
  <nocontext:>

  <list>

  <rule: list>
    <[expr]>+ % <[sep=([\w,;])]>
    <minimize:>

  <rule: expr>
    <[item]>+ % <[op=([+-])]>
    <minimize:>

  <token:item> (\d+)

}xms;

use Test::More;

plan tests => 2;

if ("1+2,3" =~ $nocontext) {
    is_deeply \%/,  { 'list' => {
                        'sep'  => [','],
                        'expr' => [{ 'item' => ['1','2'], 'op' => ['+'] }, '3']
                       }
                    } => 'Should not minimize';
}
else {
    fail 'Should not minimize (did not match)';
}

if ("1" =~ $nocontext) {
    is_deeply \%/,  { 'list' => 1 } => 'Should minimize';
}
else {
    fail 'Should minimize (did not match)';
}