|
1 | 1 | import 'package:petitparser/reflection.dart'; |
2 | 2 | import 'package:petitparser_examples/regexp.dart'; |
3 | | -import 'package:petitparser_examples/src/regexp/classes.dart'; |
4 | 3 | import 'package:test/test.dart'; |
5 | 4 |
|
6 | 5 | void expectedEqual(Node actual, Node expected) { |
@@ -39,12 +38,12 @@ void main() { |
39 | 38 | expectedEqual(Node.fromString(r'\e'), LiteralNode('\x1b')); |
40 | 39 | }); |
41 | 40 | test('escape classes', () { |
42 | | - expectedEqual(Node.fromString(r'\s'), spaceCharClass); |
43 | | - expectedEqual(Node.fromString(r'\S'), ComplementNode(spaceCharClass)); |
44 | | - expectedEqual(Node.fromString(r'\d'), digitCharClass); |
45 | | - expectedEqual(Node.fromString(r'\D'), ComplementNode(digitCharClass)); |
46 | | - expectedEqual(Node.fromString(r'\w'), wordCharClass); |
47 | | - expectedEqual(Node.fromString(r'\W'), ComplementNode(wordCharClass)); |
| 41 | + expect(Node.fromString(r'\s'), isA<AlternationNode>()); |
| 42 | + expect(Node.fromString(r'\S'), isA<ComplementNode>()); |
| 43 | + expect(Node.fromString(r'\d'), isA<RangeNode>()); |
| 44 | + expect(Node.fromString(r'\D'), isA<ComplementNode>()); |
| 45 | + expect(Node.fromString(r'\w'), isA<AlternationNode>()); |
| 46 | + expect(Node.fromString(r'\W'), isA<ComplementNode>()); |
48 | 47 | }); |
49 | 48 | test('escape other', () { |
50 | 49 | expectedEqual(Node.fromString(r'\.'), LiteralNode('.')); |
@@ -80,6 +79,7 @@ void main() { |
80 | 79 | AlternationNode(AlternationNode(la, lb), lc), |
81 | 80 | ); |
82 | 81 | expectedEqual(Node.fromString(r'[a-c]'), RangeNode('a', 'c')); |
| 82 | + expectedEqual(Node.fromString(r'[\t-z]'), RangeNode('\t', 'z')); |
83 | 83 | expectedEqual(Node.fromString(r'[^a]'), ComplementNode(la)); |
84 | 84 | expectedEqual( |
85 | 85 | Node.fromString(r'[^ab]'), |
|
0 commit comments