From 025e42c0f3def10279625083fa02b6b631787a4f Mon Sep 17 00:00:00 2001 From: joyeecheung Date: Thu, 1 Dec 2016 10:00:10 -0600 Subject: [PATCH] test: improve test for crypto pbkdf2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - use assert.strictEqual instead of assert.equal - add regexp for assert.throws PR-URL: https://github.com/nodejs/node/pull/9883 Reviewed-By: Colin Ihrig Reviewed-By: Luigi Pinca Reviewed-By: Michaƫl Zasso Reviewed-By: James M Snell --- test/parallel/test-crypto-pbkdf2.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/test/parallel/test-crypto-pbkdf2.js b/test/parallel/test-crypto-pbkdf2.js index f9fa7aa486318d..af72dc7f3067dd 100644 --- a/test/parallel/test-crypto-pbkdf2.js +++ b/test/parallel/test-crypto-pbkdf2.js @@ -13,10 +13,10 @@ var crypto = require('crypto'); // function testPBKDF2(password, salt, iterations, keylen, expected) { var actual = crypto.pbkdf2Sync(password, salt, iterations, keylen, 'sha256'); - assert.equal(actual.toString('latin1'), expected); + assert.strictEqual(actual.toString('latin1'), expected); crypto.pbkdf2(password, salt, iterations, keylen, 'sha256', (err, actual) => { - assert.equal(actual.toString('latin1'), expected); + assert.strictEqual(actual.toString('latin1'), expected); }); } @@ -47,43 +47,43 @@ testPBKDF2('pass\0word', 'sa\0lt', 4096, 16, var expected = '64c486c55d30d4c5a079b8823b7d7cb37ff0556f537da8410233bcec330ed956'; var key = crypto.pbkdf2Sync('password', 'salt', 32, 32, 'sha256'); -assert.equal(key.toString('hex'), expected); +assert.strictEqual(key.toString('hex'), expected); crypto.pbkdf2('password', 'salt', 32, 32, 'sha256', common.mustCall(ondone)); function ondone(err, key) { if (err) throw err; - assert.equal(key.toString('hex'), expected); + assert.strictEqual(key.toString('hex'), expected); } // Error path should not leak memory (check with valgrind). assert.throws(function() { crypto.pbkdf2('password', 'salt', 1, 20, null); -}); +}, /^Error: No callback provided to pbkdf2$/); // Should not work with Infinity key length assert.throws(function() { crypto.pbkdf2('password', 'salt', 1, Infinity, 'sha256', common.fail); -}, /Bad key length/); +}, /^TypeError: Bad key length$/); // Should not work with negative Infinity key length assert.throws(function() { crypto.pbkdf2('password', 'salt', 1, -Infinity, 'sha256', common.fail); -}, /Bad key length/); +}, /^TypeError: Bad key length$/); // Should not work with NaN key length assert.throws(function() { crypto.pbkdf2('password', 'salt', 1, NaN, 'sha256', common.fail); -}, /Bad key length/); +}, /^TypeError: Bad key length$/); // Should not work with negative key length assert.throws(function() { crypto.pbkdf2('password', 'salt', 1, -1, 'sha256', common.fail); -}, /Bad key length/); +}, /^TypeError: Bad key length$/); // Should not work with key length that does not fit into 32 signed bits assert.throws(function() { crypto.pbkdf2('password', 'salt', 1, 4073741824, 'sha256', common.fail); -}, /Bad key length/); +}, /^TypeError: Bad key length$/); // Should not get FATAL ERROR with empty password and salt // https://github.com/nodejs/node/issues/8571