| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | var test = require('tape')var crypto = require('../')var Buffer = require('safe-buffer').Buffertest('get error message', function (t) {  try {    var b = crypto.randomFillSync(Buffer.alloc(10))    t.ok(Buffer.isBuffer(b))    t.end()  } catch (err) {    t.ok(/not supported/.test(err.message), '"not supported"  is in error message')    t.end()  }})test('randomfill', function (t) {  t.plan(5)  t.equal(crypto.randomFillSync(Buffer.alloc(10)).length, 10)  t.ok(Buffer.isBuffer(crypto.randomFillSync(Buffer.alloc(10))))  crypto.randomFill(Buffer.alloc(10), function (ex, bytes) {    t.error(ex)    t.equal(bytes.length, 10)    t.ok(Buffer.isBuffer(bytes))    t.end()  })})test('seems random', function (t) {  var L = 1000  var b = crypto.randomFillSync(Buffer.alloc(L))  var mean = [].reduce.call(b, function (a, b) {    return a + b  }, 0) / L  // test that the random numbers are plausably random.  // Math.random() will pass this, but this will catch  // terrible mistakes such as this blunder:  // https://github.com/dominictarr/crypto-browserify/commit/3267955e1df7edd1680e52aeede9a89506ed2464#commitcomment-7916835  // this doesn't check that the bytes are in a random *order*  // but it's better than nothing.  var expected = 256 / 2  var smean = Math.sqrt(mean)  // console.log doesn't work right on testling, *grumble grumble*  console.log(JSON.stringify([expected - smean, mean, expected + smean]))  t.ok(mean < expected + smean)  t.ok(mean > expected - smean)  t.end()})
 |