Skip to content

Instantly share code, notes, and snippets.

View Trott's full-sized avatar

Rich Trott Trott

View GitHub Profile
@Trott
Trott / test-globals-descriptors.js
Created December 22, 2016 04:29
sample test for proposed change to Node.js global
'use strict';
require('../common');
const assert = require('assert');
assert(!Object.keys(global).includes('global'),
'global should be non-enumerable');

In test/parallel/test-os.js:

  • Two instances of == that are better as ===
  • Several instances of .indexOf() that can be rewritten using .includes() for more clarity
  • Bonus optional change: The os module has an undocumented and deprecated function os.getNetworkInterfaces() that is not tested at all. Write a minimal test for it.
@Trott
Trott / eqeqeq.txt
Last active November 16, 2016 23:20
node tools/eslint/bin/eslint.js --cache --rulesdir=tools/eslint-rules --rule 'eqeqeq: [2, smart]' benchmark lib test tools
/Users/trott/io.js/lib/_debugger.js
190:31 error Expected '===' and instead saw '==' eqeqeq
205:24 error Expected '===' and instead saw '==' eqeqeq
215:24 error Expected '===' and instead saw '==' eqeqeq
221:41 error Expected '===' and instead saw '==' eqeqeq
225:41 error Expected '===' and instead saw '==' eqeqeq
229:41 error Expected '===' and instead saw '==' eqeqeq
233:41 error Expected '===' and instead saw '==' eqeqeq
331:25 error Expected '===' and instead saw '==' eqeqeq
'use strict';
var assert = require('assert');
var tls = require('tls');
var net = require('net');
var fs = require('fs');
var options = {
key: fs.readFileSync(__dirname + '/../fixtures/keys/agent1-key.pem'),
cert: fs.readFileSync(__dirname + '/../fixtures/keys/agent1-cert.pem')
'use strict';
var assert = require('assert');
var tls = require('tls');
var net = require('net');
var fs = require('fs');
var options = {
key: fs.readFileSync('/Users/trott/io.js/test/fixtures/keys/agent1-key.pem'),

Releases wishlist:

  • LTS release candidates as opposed to just release candidates for semver major releases (@brycebaril, @codepilot)

  • Nightlies with a unique identifier in the version (@codepilot)

  • Release candidates ought to be release candidates (@trott)

  • Need for a 5.x.x-staging branch and a 6.x.x-staging branch (@brycebaril)

./node tools/eslint/bin/eslint.js src lib test tools/eslint-rules \
--rulesdir tools/eslint-rules --quiet
/Users/trott/io.js/lib/_tls_common.js
63:16 error "i" is already defined no-redeclare
76:16 error "i" is already defined no-redeclare
111:16 error "i" is already defined no-redeclare
111:23 error "len" is already defined no-redeclare
/Users/trott/io.js/lib/buffer.js
@Trott
Trott / symbol_for_event_name.js
Created December 4, 2015 03:35
Can Node use Symbols for the name of an Event? I'd say yep...
'use strict';
const util = require('util');
const EventEmitter = require('events');
function MyEventEmitter() {
EventEmitter.call(this);
}
// Inherit functions from `EventEmitter`'s prototype
util.inherits(MyEventEmitter, EventEmitter);
'use strict';
var assert = require('assert');
// Here we are testing the HTTP server module's flood prevention mechanism.
// When writeable.write returns false (ie the underlying send() indicated the
// native buffer is full), the HTTP server cork()s the readable part of the
// stream. This means that new requests will not be read (however request which
// have already been read, but are awaiting processing will still be
// processed).