1
- import { truncate } from '../src/string' ;
1
+ import { isMatchingPattern , truncate } from '../src/string' ;
2
2
3
3
describe ( 'truncate()' , ( ) => {
4
4
test ( 'it works as expected' , ( ) => {
@@ -10,3 +10,32 @@ describe('truncate()', () => {
10
10
expect ( truncate ( new Array ( 1000 ) . join ( 'f' ) , 0 ) ) . toEqual ( new Array ( 1000 ) . join ( 'f' ) ) ;
11
11
} ) ;
12
12
} ) ;
13
+
14
+ describe ( 'isMatchingPattern()' , ( ) => {
15
+ test ( 'match using string substring' , ( ) => {
16
+ expect ( isMatchingPattern ( 'foobar' , 'foobar' ) ) . toEqual ( true ) ;
17
+ expect ( isMatchingPattern ( 'foobar' , 'foo' ) ) . toEqual ( true ) ;
18
+ expect ( isMatchingPattern ( 'foobar' , 'bar' ) ) . toEqual ( true ) ;
19
+ expect ( isMatchingPattern ( 'foobar' , 'nope' ) ) . toEqual ( false ) ;
20
+ } ) ;
21
+
22
+ test ( 'match using regexp test' , ( ) => {
23
+ expect ( isMatchingPattern ( 'foobar' , / ^ f o o / ) ) . toEqual ( true ) ;
24
+ expect ( isMatchingPattern ( 'foobar' , / f o o / ) ) . toEqual ( true ) ;
25
+ expect ( isMatchingPattern ( 'foobar' , / b .{ 1 } r / ) ) . toEqual ( true ) ;
26
+ expect ( isMatchingPattern ( 'foobar' , / ^ f o o $ / ) ) . toEqual ( false ) ;
27
+ } ) ;
28
+
29
+ test ( 'should match empty pattern as true' , ( ) => {
30
+ expect ( isMatchingPattern ( 'foo' , '' ) ) . toEqual ( true ) ;
31
+ expect ( isMatchingPattern ( 'bar' , '' ) ) . toEqual ( true ) ;
32
+ expect ( isMatchingPattern ( '' , '' ) ) . toEqual ( true ) ;
33
+ } ) ;
34
+
35
+ test ( 'should bail out with false when given non-string value' , ( ) => {
36
+ expect ( isMatchingPattern ( null , 'foo' ) ) . toEqual ( false ) ;
37
+ expect ( isMatchingPattern ( undefined , 'foo' ) ) . toEqual ( false ) ;
38
+ expect ( isMatchingPattern ( { } , 'foo' ) ) . toEqual ( false ) ;
39
+ expect ( isMatchingPattern ( [ ] , 'foo' ) ) . toEqual ( false ) ;
40
+ } ) ;
41
+ } ) ;
0 commit comments