35 lines
		
	
	
		
			988 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			988 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | var log = console.log | ||
|  |     , assert = require( 'assert' ) | ||
|  |     , Qap = require( '../' ) | ||
|  |     , spattern = '-----hello' | ||
|  |     , splen = spattern.length | ||
|  |     , n = 1 | ||
|  |     // 2^n times
 | ||
|  |     , tlen = splen * n | ||
|  |     , indexes = [] | ||
|  |     , data = new Buffer( 256 ) | ||
|  |     , dlen = data.length | ||
|  |     , bpattern = null | ||
|  |     , i = 0 | ||
|  |     , qap = null | ||
|  |     , results = null | ||
|  |     ; | ||
|  | 
 | ||
|  | log( '- create pattern with 2 sub-pattern side by side' ); | ||
|  | for ( ; i < n; ++i ) { | ||
|  |     spattern += spattern; | ||
|  | }; | ||
|  | 
 | ||
|  | log( '- create a Buffer copying 2 patterns side by side' ); | ||
|  | bpattern = new Buffer( spattern ); | ||
|  | bpattern.copy( data, bpattern.length ); | ||
|  | bpattern.copy( data, ( bpattern.length * 2 ) ); | ||
|  | 
 | ||
|  | log( '- parse data for patterns and get results' ); | ||
|  | qap = Qap( bpattern ); | ||
|  | results = qap.parse( data ); | ||
|  | 
 | ||
|  | log( '- check if the parse method returns exactly 3 results' ); | ||
|  | assert.equal( results.length, 3, 'results length is wrong, must be 3, now it\'s ' + results.length ); | ||
|  | assert.deepEqual( results, [ 20, 30, 40 ], 'results don\'t match' ); |