1- import { truncate } from '../src/string' ;
1+ import { isMatchingPattern , truncate } from '../src/string' ;
22
33describe ( 'truncate()' , ( ) => {
44 test ( 'it works as expected' , ( ) => {
@@ -10,3 +10,32 @@ describe('truncate()', () => {
1010 expect ( truncate ( new Array ( 1000 ) . join ( 'f' ) , 0 ) ) . toEqual ( new Array ( 1000 ) . join ( 'f' ) ) ;
1111 } ) ;
1212} ) ;
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