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-string-decoder.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-string-decoder.js')
-rw-r--r-- | test/parallel/test-string-decoder.js | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/test/parallel/test-string-decoder.js b/test/parallel/test-string-decoder.js index 8de0f7ba16..87ab5e8d37 100644 --- a/test/parallel/test-string-decoder.js +++ b/test/parallel/test-string-decoder.js @@ -144,6 +144,7 @@ function test(encoding, input, expected, singleSequence) { } else { sequences = [singleSequence]; } + const hexNumberRE = /.{2}/g; sequences.forEach((sequence) => { const decoder = new StringDecoder(encoding); let output = ''; @@ -155,7 +156,7 @@ function test(encoding, input, expected, singleSequence) { const message = 'Expected "' + unicodeEscape(expected) + '", ' + 'but got "' + unicodeEscape(output) + '"\n' + - 'input: ' + input.toString('hex').match(/.{2}/g) + '\n' + + 'input: ' + input.toString('hex').match(hexNumberRE) + '\n' + 'Write sequence: ' + JSON.stringify(sequence) + '\n' + 'Full Decoder State: ' + inspect(decoder); assert.fail(output, expected, message); |