1+ import test from 'ava'
2+ import { occurrences } from '../src'
3+
4+ test ( 'empty substring' , t => {
5+ t . deepEqual ( occurrences ( '' , '' ) , 1 )
6+ t . deepEqual ( occurrences ( 'abc' , '' ) , 4 )
7+ } )
8+
9+ test ( 'single occurences' , t => {
10+ t . deepEqual ( occurrences ( 'foo' , 'foo' ) , 1 )
11+ t . deepEqual ( occurrences ( 'blahfooblah' , 'foo' ) , 1 )
12+ t . deepEqual ( occurrences ( 'foo' , 'f' ) , 1 )
13+ } )
14+
15+ test ( 'multiple occurrences' , t => {
16+ t . deepEqual ( occurrences ( 'foofoofoofoo' , 'foo' ) , 4 )
17+ t . deepEqual ( occurrences ( 'foofoofoofoo' , 'foofoo' ) , 2 )
18+ t . deepEqual ( occurrences ( 'blafooblahfooblah' , 'foo' ) , 2 )
19+ t . deepEqual ( occurrences ( 'foofoofooooofo' , 'foo' ) , 3 )
20+ } )
21+
22+ test ( 'no occurrences' , t => {
23+ t . deepEqual ( occurrences ( '' , 'foo' ) , 0 )
24+ t . deepEqual ( occurrences ( 'abc' , 'foo' ) , 0 )
25+ t . deepEqual ( occurrences ( 'boo' , 'foo' ) , 0 )
26+ } )
27+
28+ test ( 'overlap' , t => {
29+ t . deepEqual ( occurrences ( '' , '' , true ) , 1 )
30+ t . deepEqual ( occurrences ( 'abc' , '' , true ) , 4 )
31+ t . deepEqual ( occurrences ( 'foofoofoofoo' , 'foofoo' , true ) , 3 )
32+ t . deepEqual ( occurrences ( 'blafooblahfooblah' , 'foo' , true ) , 2 )
33+ t . deepEqual ( occurrences ( 'foofoofooooofo' , 'foo' , true ) , 3 )
34+ } )
35+
36+ test ( 'overlap no occurrences' , t => {
37+ t . deepEqual ( occurrences ( '' , 'foo' , true ) , 0 ) ;
38+ t . deepEqual ( occurrences ( 'abc' , 'foo' , true ) , 0 ) ;
39+ t . deepEqual ( occurrences ( 'boo' , 'foo' , true ) , 0 ) ;
40+ t . deepEqual ( occurrences ( 'fooofooofooofoo' , 'foofoo' , true ) , 0 ) ;
41+ t . deepEqual ( occurrences ( 'blafobooblahfoboblah' , 'foo' , true ) , 0 ) ;
42+ t . deepEqual ( occurrences ( 'fofofofaooooofo' , 'foo' , true ) , 0 ) ;
43+ } )
0 commit comments