You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					82 lines
				
				1.8 KiB
			
		
		
			
		
	
	
					82 lines
				
				1.8 KiB
			| 
											3 years ago
										 | var test = require('tape') | ||
|  | var randomBytes = require('./') | ||
|  | var MAX_BYTES = 65536 | ||
|  | var MAX_UINT32 = 4294967295 | ||
|  | 
 | ||
|  | test('sync', function (t) { | ||
|  |   t.plan(9) | ||
|  |   t.equals(randomBytes(0).length, 0, 'len: ' + 0) | ||
|  |   t.equals(randomBytes(3).length, 3, 'len: ' + 3) | ||
|  |   t.equals(randomBytes(30).length, 30, 'len: ' + 30) | ||
|  |   t.equals(randomBytes(300).length, 300, 'len: ' + 300) | ||
|  |   t.equals(randomBytes(17 + MAX_BYTES).length, 17 + MAX_BYTES, 'len: ' + 17 + MAX_BYTES) | ||
|  |   t.equals(randomBytes(MAX_BYTES * 100).length, MAX_BYTES * 100, 'len: ' + MAX_BYTES * 100) | ||
|  |   t.throws(function () { | ||
|  |     randomBytes(MAX_UINT32 + 1) | ||
|  |   }) | ||
|  |   t.throws(function () { | ||
|  |     t.equals(randomBytes(-1)) | ||
|  |   }) | ||
|  |   t.throws(function () { | ||
|  |     t.equals(randomBytes('hello')) | ||
|  |   }) | ||
|  | }) | ||
|  | 
 | ||
|  | test('async', function (t) { | ||
|  |   t.plan(9) | ||
|  | 
 | ||
|  |   randomBytes(0, function (err, resp) { | ||
|  |     if (err) throw err | ||
|  | 
 | ||
|  |     t.equals(resp.length, 0, 'len: ' + 0) | ||
|  |   }) | ||
|  | 
 | ||
|  |   randomBytes(3, function (err, resp) { | ||
|  |     if (err) throw err | ||
|  | 
 | ||
|  |     t.equals(resp.length, 3, 'len: ' + 3) | ||
|  |   }) | ||
|  | 
 | ||
|  |   randomBytes(30, function (err, resp) { | ||
|  |     if (err) throw err | ||
|  | 
 | ||
|  |     t.equals(resp.length, 30, 'len: ' + 30) | ||
|  |   }) | ||
|  | 
 | ||
|  |   randomBytes(300, function (err, resp) { | ||
|  |     if (err) throw err | ||
|  | 
 | ||
|  |     t.equals(resp.length, 300, 'len: ' + 300) | ||
|  |   }) | ||
|  | 
 | ||
|  |   randomBytes(17 + MAX_BYTES, function (err, resp) { | ||
|  |     if (err) throw err | ||
|  | 
 | ||
|  |     t.equals(resp.length, 17 + MAX_BYTES, 'len: ' + 17 + MAX_BYTES) | ||
|  |   }) | ||
|  | 
 | ||
|  |   randomBytes(MAX_BYTES * 100, function (err, resp) { | ||
|  |     if (err) throw err | ||
|  | 
 | ||
|  |     t.equals(resp.length, MAX_BYTES * 100, 'len: ' + MAX_BYTES * 100) | ||
|  |   }) | ||
|  | 
 | ||
|  |   t.throws(function () { | ||
|  |     randomBytes(MAX_UINT32 + 1, function () { | ||
|  |       t.ok(false, 'should not get here') | ||
|  |     }) | ||
|  |   }) | ||
|  | 
 | ||
|  |   t.throws(function () { | ||
|  |     randomBytes(-1, function () { | ||
|  |       t.ok(false, 'should not get here') | ||
|  |     }) | ||
|  |   }) | ||
|  | 
 | ||
|  |   t.throws(function () { | ||
|  |     randomBytes('hello', function () { | ||
|  |       t.ok(false, 'should not get here') | ||
|  |     }) | ||
|  |   }) | ||
|  | }) |