import getSearchTextAt from '../getSearchTextAt' ; describe ( 'getSearchTextAt' , ( ) => { test . each ( [ [ 'finds the matching string following trigger' , 'hi @The Walking Dead' , 20 , [ '@' ] , { matchingString : 'The Walking Dead' , begin : 3 , end : 20 , } , ] , [ 'finds the matching string following trigger upto the position only' , 'hi @The Walking Dead' , 15 , [ '@' ] , { matchingString : 'The Walking' , begin : 3 , end : 15 , } , ] , [ 'finds the matching string following empty trigger' , 'Max' , 3 , [ '' ] , { matchingString : 'Max' , begin : 0 , end : 3 , } , ] , [ 'finds the matching string even if it contains the trigger' , '@one@example.c' , 14 , [ '@' ] , { matchingString : 'one@example.c' , begin : 0 , end : 14 , } , ] , [ 'finds the matching string, including trigger, following a trigger' , '@Max @one@example.c' , 19 , [ '@' ] , { matchingString : 'one@example.c' , begin : 5 , end : 19 , } , ] , [ 'finds the matching string, with a multi character trigger' , 'hi :in:The Walking Dead' , 23 , [ ':in:' ] , { matchingString : 'The Walking Dead' , begin : 3 , end : 23 , } , ] , ] ) ( '%s' , ( _text , blockText , position , trigger , result ) => { expect ( getSearchTextAt ( blockText , position , trigger ) ) . toEqual ( result ) ; } ) ; } ) ;