mirror of
https://github.com/nodejs/node.git
synced 2024-11-29 23:16:30 +01:00
f29762f4dd
Enable linting for the test directory. A number of changes was made so all tests conform the current rules used by lib and src directories. The only exception for tests is that unreachable (dead) code is allowed. test-fs-non-number-arguments-throw had to be excluded from the changes because of a weird issue on Windows CI. PR-URL: https://github.com/nodejs/io.js/pull/1721 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
'use strict';
|
|
// We've experienced a regression where the module loader stats a bunch of
|
|
// directories on require() even if it's been called before. The require()
|
|
// should caching the request.
|
|
var common = require('../common');
|
|
var fs = require('fs');
|
|
var assert = require('assert');
|
|
|
|
var counter = 0;
|
|
|
|
// Switch out the two stat implementations so that they increase a counter
|
|
// each time they are called.
|
|
|
|
var _statSync = fs.statSync;
|
|
var _stat = fs.stat;
|
|
|
|
fs.statSync = function() {
|
|
counter++;
|
|
return _statSync.apply(this, arguments);
|
|
};
|
|
|
|
fs.stat = function() {
|
|
counter++;
|
|
return _stat.apply(this, arguments);
|
|
};
|
|
|
|
// Load the module 'a' and 'http' once. It should become cached.
|
|
require(common.fixturesDir + '/a');
|
|
require('../fixtures/a.js');
|
|
require('./../fixtures/a.js');
|
|
require('http');
|
|
|
|
console.log('counterBefore = %d', counter);
|
|
var counterBefore = counter;
|
|
|
|
// Now load the module a bunch of times with equivalent paths.
|
|
// stat should not be called.
|
|
for (var i = 0; i < 100; i++) {
|
|
require(common.fixturesDir + '/a');
|
|
require('../fixtures/a.js');
|
|
require('./../fixtures/a.js');
|
|
}
|
|
|
|
// Do the same with a built-in module
|
|
for (var i = 0; i < 100; i++) {
|
|
require('http');
|
|
}
|
|
|
|
console.log('counterAfter = %d', counter);
|
|
var counterAfter = counter;
|
|
|
|
assert.equal(counterBefore, counterAfter);
|