diff options
author | Vse Mozhet Byt <vsemozhetbyt@gmail.com> | 2017-06-18 16:22:32 +0300 |
---|---|---|
committer | Vse Mozhet Byt <vsemozhetbyt@gmail.com> | 2017-06-21 03:40:27 +0300 |
commit | 76340e3f1007998c7cb9d69fa1a42d42663ca6c2 (patch) | |
tree | 9df1452725a049e20884a918d698f9abe72c7e2b /test/parallel/test-crypto-authenticated.js | |
parent | 330349f706a1f21234eee9b9d75d7c1e953ad1f0 (diff) | |
download | android-node-v8-76340e3f1007998c7cb9d69fa1a42d42663ca6c2.tar.gz android-node-v8-76340e3f1007998c7cb9d69fa1a42d42663ca6c2.tar.bz2 android-node-v8-76340e3f1007998c7cb9d69fa1a42d42663ca6c2.zip |
test: fix RegExp nits
* Remove needless RegExp flag
In fixed case, `/g` flag is needless in the boolean context.
* Remove needless RegExp capturing
Use non-capturing grouping or remove capturing completely when:
* capturing is useless per se, e.g. in test() check;
* captured groups are not used afterward at all;
* some of the later captured groups are not used afterward.
* Use test, not match/exec in boolean context
match() and exec() return a complicated object,
unneeded in a boolean context.
* Do not needlessly repeat RegExp creation
This commit takes RegExp creation out of cycles and other repetitions.
As long as the RegExp does not use /g flag and match indices,
we are safe here.
In tests, this fix hardly gives a significant performance gain,
but it increases clarity and maintainability,
reassuring some RegExps to be identical.
RegExp in functions are not taken out of their functions:
while these functions are called many times
and their RegExps are recreated with each call,
the performance gain in test cases
does not seem to be worth decreasing function self-dependency.
PR-URL: https://github.com/nodejs/node/pull/13770
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'test/parallel/test-crypto-authenticated.js')
-rw-r--r-- | test/parallel/test-crypto-authenticated.js | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/test/parallel/test-crypto-authenticated.js b/test/parallel/test-crypto-authenticated.js index c1d70efa5f..2d5370ba3e 100644 --- a/test/parallel/test-crypto-authenticated.js +++ b/test/parallel/test-crypto-authenticated.js @@ -328,6 +328,13 @@ const TEST_CASES = [ tag: 'a44a8266ee1c8eb0c8b5d4cf5ae9f19a', tampered: false }, ]; +const errMessages = { + auth: / auth/, + state: / state/, + FIPS: /not supported in FIPS mode/, + length: /Invalid IV length/, +}; + const ciphers = crypto.getCiphers(); for (const i in TEST_CASES) { @@ -378,14 +385,14 @@ for (const i in TEST_CASES) { assert.strictEqual(msg, test.plain); } else { // assert that final throws if input data could not be verified! - assert.throws(function() { decrypt.final('ascii'); }, / auth/); + assert.throws(function() { decrypt.final('ascii'); }, errMessages.auth); } } if (test.password) { if (common.hasFipsCrypto) { assert.throws(() => { crypto.createCipher(test.algo, test.password); }, - /not supported in FIPS mode/); + errMessages.FIPS); } else { const encrypt = crypto.createCipher(test.algo, test.password); if (test.aad) @@ -404,7 +411,7 @@ for (const i in TEST_CASES) { if (test.password) { if (common.hasFipsCrypto) { assert.throws(() => { crypto.createDecipher(test.algo, test.password); }, - /not supported in FIPS mode/); + errMessages.FIPS); } else { const decrypt = crypto.createDecipher(test.algo, test.password); decrypt.setAuthTag(Buffer.from(test.tag, 'hex')); @@ -416,7 +423,7 @@ for (const i in TEST_CASES) { assert.strictEqual(msg, test.plain); } else { // assert that final throws if input data could not be verified! - assert.throws(function() { decrypt.final('ascii'); }, / auth/); + assert.throws(function() { decrypt.final('ascii'); }, errMessages.auth); } } } @@ -427,7 +434,7 @@ for (const i in TEST_CASES) { Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex')); encrypt.update('blah', 'ascii'); - assert.throws(function() { encrypt.getAuthTag(); }, / state/); + assert.throws(function() { encrypt.getAuthTag(); }, errMessages.state); } { @@ -436,7 +443,7 @@ for (const i in TEST_CASES) { Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex')); assert.throws(() => { encrypt.setAuthTag(Buffer.from(test.tag, 'hex')); }, - / state/); + errMessages.state); } { @@ -444,7 +451,7 @@ for (const i in TEST_CASES) { const decrypt = crypto.createDecipheriv(test.algo, Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex')); - assert.throws(function() { decrypt.getAuthTag(); }, / state/); + assert.throws(function() { decrypt.getAuthTag(); }, errMessages.state); } { @@ -455,7 +462,7 @@ for (const i in TEST_CASES) { Buffer.from(test.key, 'hex'), Buffer.alloc(0) ); - }, /Invalid IV length/); + }, errMessages.length); } } @@ -467,6 +474,7 @@ for (const i in TEST_CASES) { '6fKjEjR3Vl30EUYC'); encrypt.update('blah', 'ascii'); encrypt.final(); - assert.throws(() => encrypt.getAuthTag(), / state/); - assert.throws(() => encrypt.setAAD(Buffer.from('123', 'ascii')), / state/); + assert.throws(() => encrypt.getAuthTag(), errMessages.state); + assert.throws(() => encrypt.setAAD(Buffer.from('123', 'ascii')), + errMessages.state); } |