Browse Source

lib: simplify code with String.prototype.repeat()

use String.prototype.repeat() to simplify code, less code,
more semantically.

PR-URL: https://github.com/nodejs/node/pull/5359
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
process-exit-stdio-flushing
Jackson Tian 9 years ago
committed by James M Snell
parent
commit
4d78121b77
  1. 14
      benchmark/http_simple.js
  2. 11
      benchmark/http_simple_auto.js
  3. 5
      benchmark/static_http_server.js
  4. 6
      lib/_debugger.js
  5. 7
      test/fixtures/print-chars.js
  6. 5
      test/parallel/test-buffer.js
  7. 2
      test/parallel/test-fs-realpath.js
  8. 5
      test/parallel/test-http-full-response.js
  9. 5
      test/parallel/test-http-pipeline-regr-2639.js
  10. 5
      test/parallel/test-net-large-string.js
  11. 5
      test/pummel/test-https-large-response.js
  12. 5
      test/pummel/test-net-many-clients.js
  13. 5
      test/pummel/test-net-throttle.js
  14. 8
      test/pummel/test-tls-throttle.js

14
benchmark/http_simple.js

@ -4,7 +4,7 @@ var http = require('http');
var port = parseInt(process.env.PORT || 8000);
var fixed = makeString(20 * 1024, 'C'),
var fixed = 'C'.repeat(20 * 1024),
storedBytes = {},
storedBuffer = {},
storedUnicode = {};
@ -42,7 +42,7 @@ var server = module.exports = http.createServer(function(req, res) {
if (n <= 0)
throw new Error('bytes called with n <= 0');
if (storedBytes[n] === undefined) {
storedBytes[n] = makeString(n, 'C');
storedBytes[n] = 'C'.repeat(n);
}
body = storedBytes[n];
@ -63,7 +63,7 @@ var server = module.exports = http.createServer(function(req, res) {
if (n <= 0)
throw new Error('unicode called with n <= 0');
if (storedUnicode[n] === undefined) {
storedUnicode[n] = makeString(n, '\u263A');
storedUnicode[n] = '\u263A'.repeat(n);
}
body = storedUnicode[n];
@ -107,14 +107,6 @@ var server = module.exports = http.createServer(function(req, res) {
}
});
function makeString(size, c) {
var s = '';
while (s.length < size) {
s += c;
}
return s;
}
server.listen(port, function() {
if (module === require.main)
console.error('Listening at http://127.0.0.1:' + port + '/');

11
benchmark/http_simple_auto.js

@ -13,11 +13,7 @@ var spawn = require('child_process').spawn;
var port = parseInt(process.env.PORT || 8000);
var fixed = '';
var i;
for (i = 0; i < 20 * 1024; i++) {
fixed += 'C';
}
var fixed = "C".repeat(20 * 1024);
var stored = {};
var storedBuffer = {};
@ -36,10 +32,7 @@ var server = http.createServer(function(req, res) {
if (n <= 0)
throw new Error('bytes called with n <= 0');
if (stored[n] === undefined) {
stored[n] = '';
for (i = 0; i < n; i++) {
stored[n] += 'C';
}
stored[n] = "C".repeat(n);
}
body = stored[n];

5
benchmark/static_http_server.js

@ -9,10 +9,7 @@ var bytes = 1024 * 5;
var requests = 0;
var responses = 0;
var body = '';
for (var i = 0; i < bytes; i++) {
body += 'C';
}
var body = 'C'.repeat(bytes);
var server = http.createServer(function(req, res) {
res.writeHead(200, {

6
lib/_debugger.js

@ -1016,11 +1016,7 @@ function leftPad(n, prefix, maxN) {
const nchars = Math.max(2, String(maxN).length) + 1;
const nspaces = nchars - s.length - 1;
for (var i = 0; i < nspaces; i++) {
prefix += ' ';
}
return prefix + s;
return prefix + ' '.repeat(nspaces) + s;
}

7
test/fixtures/print-chars.js

@ -2,9 +2,4 @@ var assert = require('assert');
var n = parseInt(process.argv[2]);
var s = '';
for (var i = 0; i < n; i++) {
s += 'c';
}
process.stdout.write(s);
process.stdout.write('c'.repeat(n));

5
test/parallel/test-buffer.js

@ -681,10 +681,7 @@ assert.equal(Buffer('=bad'.repeat(1e4), 'base64').length, 0);
{
// Creating buffers larger than pool size.
const l = Buffer.poolSize + 5;
let s = '';
for (let i = 0; i < l; i++) {
s += 'h';
}
const s = 'h'.repeat(l);
const b = new Buffer(s);

2
test/parallel/test-fs-realpath.js

@ -219,7 +219,7 @@ function test_cyclic_link_overprotection(callback) {
var folder = cycles + '/folder';
var link = folder + '/cycles';
var testPath = cycles;
for (var i = 0; i < 10; i++) testPath += '/folder/cycles';
testPath += '/folder/cycles'.repeat(10);
try {fs.unlinkSync(link);} catch (ex) {}
fs.symlinkSync(cycles, link, 'dir');
unlink.push(link);

5
test/parallel/test-http-full-response.js

@ -7,10 +7,7 @@ var exec = require('child_process').exec;
var bodyLength = 12345;
var body = '';
for (var i = 0; i < bodyLength; i++) {
body += 'c';
}
var body = 'c'.repeat(bodyLength);
var server = http.createServer(function(req, res) {
res.writeHead(200, {

5
test/parallel/test-http-pipeline-regr-2639.js

@ -22,9 +22,8 @@ var server = http.createServer(function(req, res) {
}).listen(common.PORT, function() {
const s = net.connect(common.PORT);
var big = '';
for (var i = 0; i < COUNT; i++)
big += 'GET / HTTP/1.0\r\n\r\n';
var big = 'GET / HTTP/1.0\r\n\r\n'.repeat(COUNT);
s.write(big);
s.resume();
});

5
test/parallel/test-net-large-string.js

@ -4,10 +4,7 @@ var assert = require('assert');
var net = require('net');
var kPoolSize = 40 * 1024;
var data = '';
for (var i = 0; i < kPoolSize; ++i) {
data += 'あ'; // 3bytes
}
var data = 'あ'.repeat(kPoolSize);
var receivedSize = 0;
var encoding = 'UTF-8';

5
test/pummel/test-https-large-response.js

@ -16,12 +16,9 @@ var options = {
};
var reqCount = 0;
var body = '';
process.stdout.write('build body...');
for (var i = 0; i < 1024 * 1024; i++) {
body += 'hello world\n';
}
var body = 'hello world\n'.repeat(1024 * 1024);
process.stdout.write('done\n');
var server = https.createServer(options, function(req, res) {

5
test/pummel/test-net-many-clients.js

@ -11,10 +11,7 @@ var connections_per_client = 5;
// measured
var total_connections = 0;
var body = '';
for (var i = 0; i < bytes; i++) {
body += 'C';
}
var body = 'C'.repeat(bytes);
var server = net.createServer(function(c) {
console.log('connected');

5
test/pummel/test-net-throttle.js

@ -9,10 +9,7 @@ var chars_recved = 0;
var npauses = 0;
console.log('build big string');
var body = '';
for (var i = 0; i < N; i++) {
body += 'C';
}
body = 'C'.repeat(N);
console.log('start server on port ' + common.PORT);

8
test/pummel/test-tls-throttle.js

@ -12,16 +12,10 @@ if (!common.hasCrypto) {
var tls = require('tls');
var fs = require('fs');
var body = '';
process.stdout.write('build body...');
for (var i = 0; i < 1024 * 1024; i++) {
body += 'hello world\n';
}
var body = 'hello world\n'.repeat(1024 * 1024);
process.stdout.write('done\n');
var options = {
key: fs.readFileSync(common.fixturesDir + '/keys/agent2-key.pem'),
cert: fs.readFileSync(common.fixturesDir + '/keys/agent2-cert.pem')

Loading…
Cancel
Save