var test = require('tape') var crypto = require('browserify-cipher/browser') var randomBytes = require('pseudorandombytes') function runIt (i) { crypto.listCiphers().forEach(function (cipher) { test('run: ' + i, function (t) { t.test('ciphers: ' + cipher, function (t) { t.plan(1) var data = randomBytes(562) var password = randomBytes(20) var crypter = crypto.createCipher(cipher, password) var decrypter = crypto.createDecipher(cipher, password) var out = [] out.push(decrypter.update(crypter.update(data))) out.push(decrypter.update(crypter.final())) if (cipher.indexOf('gcm') > -1) { decrypter.setAuthTag(crypter.getAuthTag()) } out.push(decrypter.final()) t.equals(data.toString('hex'), Buffer.concat(out).toString('hex')) }) }) }) if (i < 4) { setTimeout(runIt, 0, i + 1) } } runIt(1) test('getCiphers', function (t) { t.plan(1) t.ok(crypto.getCiphers().length, 'get ciphers returns an array') }) test('through crypto browserify works', function (t) { t.plan(2) var crypto = require('../') var cipher = 'aes-128-ctr' var data = randomBytes(562) var password = randomBytes(20) var crypter = crypto.createCipher(cipher, password) var decrypter = crypto.createDecipher(cipher, password) var out = [] out.push(decrypter.update(crypter.update(data))) out.push(decrypter.update(crypter.final())) out.push(decrypter.final()) t.equals(data.toString('hex'), Buffer.concat(out).toString('hex')) t.ok(crypto.getCiphers().length, 'get ciphers returns an array') })