36 lines
		
	
	
		
			963 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			963 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | var log = console.log | ||
|  |     , assert = require( 'assert' ) | ||
|  |     , Qap = require( '../' ) | ||
|  |     , plen = 10 * 1024 * 1024 | ||
|  |     , pattern = new Buffer( plen ) | ||
|  |     , i = 0 | ||
|  |     , rand = 0 | ||
|  |     , mb = 300 | ||
|  |     , dlen = mb * 1024 * 1024 | ||
|  |     , data = new Buffer( dlen ) | ||
|  |     , indexes = [ dlen / 1024, plen + dlen / 1024 ] | ||
|  |     , qap = null | ||
|  |     , results = null | ||
|  |     ; | ||
|  | 
 | ||
|  | for ( ; i < plen; ++i ) { | ||
|  |     rand = Math.floor( Math.random() * 255 * plen ) % 255; | ||
|  |     pattern[ i ] = rand;  | ||
|  | }; | ||
|  | 
 | ||
|  | qap = Qap( pattern ); | ||
|  | 
 | ||
|  | // log( Math.log( ( Math.log( plen ) / Math.log( 2 ) ) ) );
 | ||
|  | 
 | ||
|  | log( '- copy', indexes.length, 'big patterns in test data' ); | ||
|  | pattern.copy( data, indexes[ 0 ] ); | ||
|  | pattern.copy( data, indexes[ 1 ] ); | ||
|  | 
 | ||
|  | log( '- parse test data for big patterns' ); | ||
|  | results = qap.parse( data ); | ||
|  | 
 | ||
|  | log( '- check if results length is equal to', indexes.length ); | ||
|  | assert.equal( results.length, indexes.length ); | ||
|  | 
 | ||
|  | log( '- compare results and pre-defined indexes' ); | ||
|  | assert.deepEqual( results, indexes ); |