#!/usr/bin/perl -w
use strict;
use warnings;
use Test::More tests => 5;
use lib 't/lib';
use TestParser qw(:all);
parse_and_diff_yaml( <<'EOP', <<'EOE' );
/[abc]/;
EOP
--- !parsetree:BinOp
context: CXT_VOID
left: !parsetree:Symbol
context: CXT_SCALAR
name: _
sigil: VALUE_SCALAR
op: OP_MATCH
right: !parsetree:Pattern
components:
- !parsetree:RXClass
elements:
- a
- b
- c
flags: 0
op: OP_QL_M
EOE
parse_and_diff_yaml( <<'EOP', <<'EOE' );
/[a-q]/;
EOP
--- !parsetree:BinOp
context: CXT_VOID
left: !parsetree:Symbol
context: CXT_SCALAR
name: _
sigil: VALUE_SCALAR
op: OP_MATCH
right: !parsetree:Pattern
components:
- !parsetree:RXClass
elements:
- !parsetree:RXRange
end: q
start: a
flags: 0
op: OP_QL_M
EOE
parse_and_diff_yaml( <<'EOP', <<'EOE' );
/[a-]/;
EOP
--- !parsetree:BinOp
context: CXT_VOID
left: !parsetree:Symbol
context: CXT_SCALAR
name: _
sigil: VALUE_SCALAR
op: OP_MATCH
right: !parsetree:Pattern
components:
- !parsetree:RXClass
elements:
- a
- -
flags: 0
op: OP_QL_M
EOE
parse_and_diff_yaml( <<'EOP', <<'EOE' );
/[a-\w]/;
EOP
--- !parsetree:BinOp
context: CXT_VOID
left: !parsetree:Symbol
context: CXT_SCALAR
name: _
sigil: VALUE_SCALAR
op: OP_MATCH
right: !parsetree:Pattern
components:
- !parsetree:RXClass
elements:
- a
- -
- !parsetree:RXSpecialClass
type: WORDS
flags: 0
op: OP_QL_M
EOE
parse_and_diff_yaml( <<'EOP', <<'EOE' );
/[[\]]/;
EOP
--- !parsetree:BinOp
context: CXT_VOID
left: !parsetree:Symbol
context: CXT_SCALAR
name: _
sigil: VALUE_SCALAR
op: OP_MATCH
right: !parsetree:Pattern
components:
- !parsetree:RXClass
elements:
- '['
- ']'
flags: 0
op: OP_QL_M
EOE