1
- import { one , oneOrMore , optionally , zeroOrMore } from '../quantifiers' ;
1
+ import { oneOrMore , optionally , zeroOrMore } from '../quantifiers' ;
2
2
import {
3
3
any ,
4
4
anyOf ,
@@ -35,7 +35,7 @@ test('`whitespace` character class', () => {
35
35
expect ( [ 'x' , whitespace , 'x' ] ) . toHavePattern ( 'x\\sx' ) ;
36
36
} ) ;
37
37
38
- test ( '" characterClass" base cases' , ( ) => {
38
+ test ( '` characterClass` base cases' , ( ) => {
39
39
expect ( characterClass ( characterRange ( 'a' , 'z' ) ) ) . toHavePattern ( '[a-z]' ) ;
40
40
expect (
41
41
characterClass ( characterRange ( 'a' , 'z' ) , characterRange ( 'A' , 'Z' ) )
@@ -48,12 +48,32 @@ test('"characterClass" base cases', () => {
48
48
) . toHavePattern ( '[a-z\\s05]' ) ;
49
49
} ) ;
50
50
51
- test ( '"characterRange" base cases' , ( ) => {
51
+ test ( '`characterClass` throws on inverted arguments' , ( ) => {
52
+ expect ( ( ) =>
53
+ characterClass ( inverted ( whitespace ) )
54
+ ) . toThrowErrorMatchingInlineSnapshot (
55
+ `"\`characterClass\` should receive only non-inverted character classes"`
56
+ ) ;
57
+ } ) ;
58
+
59
+ test ( '`characterRange` base cases' , ( ) => {
52
60
expect ( characterRange ( 'a' , 'z' ) ) . toHavePattern ( '[a-z]' ) ;
53
61
expect ( [ 'x' , characterRange ( '0' , '9' ) ] ) . toHavePattern ( 'x[0-9]' ) ;
54
62
expect ( [ characterRange ( 'A' , 'F' ) , 'x' ] ) . toHavePattern ( '[A-F]x' ) ;
55
63
} ) ;
56
64
65
+ test ( '`characterRange` throws on incorrect arguments' , ( ) => {
66
+ expect ( ( ) => characterRange ( 'z' , 'a' ) ) . toThrowErrorMatchingInlineSnapshot (
67
+ `"\`start\` should be less or equal to \`end\`"`
68
+ ) ;
69
+ expect ( ( ) => characterRange ( 'aa' , 'z' ) ) . toThrowErrorMatchingInlineSnapshot (
70
+ `"\`characterRange\` should receive only single character \`start\` string"`
71
+ ) ;
72
+ expect ( ( ) => characterRange ( 'a' , 'zz' ) ) . toThrowErrorMatchingInlineSnapshot (
73
+ `"\`characterRange\` should receive only single character \`end\` string"`
74
+ ) ;
75
+ } ) ;
76
+
57
77
test ( '`anyOf` base cases' , ( ) => {
58
78
expect ( anyOf ( 'a' ) ) . toHavePattern ( 'a' ) ;
59
79
expect ( [ 'x' , anyOf ( 'a' ) , 'x' ] ) . toHavePattern ( 'xax' ) ;
0 commit comments