From d566efe811f386ee050de3c44f9d24f2bc0e69e0 Mon Sep 17 00:00:00 2001 From: Jason Kurian Date: Mon, 7 Jan 2019 21:13:33 -0500 Subject: [PATCH] test: stop using LAZY_LOAD_COUNT (#960) --- package-lock.json | 118 -------------------------------------------- package.json | 1 - test/src/nyc-tap.js | 36 ++++++++------ 3 files changed, 22 insertions(+), 133 deletions(-) diff --git a/package-lock.json b/package-lock.json index 191f30763..5da9885f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -101,41 +101,6 @@ "to-fast-properties": "^2.0.0" } }, - "@sinonjs/commons": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.0.2.tgz", - "integrity": "sha512-WR3dlgqJP4QNrLC4iXN/5/2WaLQQ0VijOOkmflqFGVJ6wLEpbSjo7c0ZeGIdtY8Crk7xBBp87sM6+Mkerz7alw==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/formatio": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.0.0.tgz", - "integrity": "sha512-vdjoYLDptCgvtJs57ULshak3iJe4NW3sJ3g36xVDGff5AE8P30S6A093EIEPjdi2noGhfuNOEkbxt3J3awFW1w==", - "dev": true, - "requires": { - "@sinonjs/samsam": "2.1.0" - }, - "dependencies": { - "@sinonjs/samsam": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.0.tgz", - "integrity": "sha512-5x2kFgJYupaF1ns/RmharQ90lQkd2ELS8A9X0ymkAAdemYHGtI2KiUHG8nX2WU0T1qgnOU5YMqnBM2V7NUanNw==", - "dev": true, - "requires": { - "array-from": "^2.1.1" - } - } - } - }, - "@sinonjs/samsam": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.2.tgz", - "integrity": "sha512-ZwTHAlC9akprWDinwEPD4kOuwaYZlyMwVJIANsKNC3QVp0AHB04m7RnB4eqeWfgmxw8MGTzS9uMaw93Z3QcZbw==", - "dev": true - }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -240,12 +205,6 @@ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", "dev": true }, - "array-from": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", - "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", - "dev": true - }, "array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", @@ -3117,12 +3076,6 @@ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -3280,12 +3233,6 @@ "array-includes": "^3.0.3" } }, - "just-extend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-3.0.0.tgz", - "integrity": "sha512-Fu3T6pKBuxjWT/p4DkqGHFRsysc8OauWr4ZRTY9dIx07Y9O0RkoR5jcv28aeD1vuAwhm3nLkDurwLXoALp4DpQ==", - "dev": true - }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", @@ -3346,12 +3293,6 @@ "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, "lodash.template": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", @@ -3377,12 +3318,6 @@ "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", "dev": true }, - "lolex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-3.0.0.tgz", - "integrity": "sha512-hcnW80h3j2lbUfFdMArd5UPA/vxZJ+G8vobd+wg3nVEQA0EigStbYcrG030FJxL6xiDDPEkoMatV9xIh5OecQQ==", - "dev": true - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -3724,27 +3659,6 @@ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, - "nise": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.5.tgz", - "integrity": "sha512-OHRVvdxKgwZELf2DTgsJEIA4MOq8XWvpSUzoOXyxJ2mY0mMENWC66+70AShLR2z05B1dzrzWlUQJmJERlOUpZw==", - "dev": true, - "requires": { - "@sinonjs/formatio": "3.0.0", - "just-extend": "^3.0.0", - "lolex": "^2.3.2", - "path-to-regexp": "^1.7.0", - "text-encoding": "^0.6.4" - }, - "dependencies": { - "lolex": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.5.tgz", - "integrity": "sha512-l9x0+1offnKKIzYVjyXU2SiwhXDLekRzKyhnbyldPHvC7BvLPVpdNUNR2KeMAiCN2D/kLNttZgQD5WjSxuBx3Q==", - "dev": true - } - } - }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -6602,15 +6516,6 @@ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - }, "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -7061,23 +6966,6 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, - "sinon": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.0.0.tgz", - "integrity": "sha512-8OrSYFPZ9xaECfi1ayVMd0ihYCW2OZYgX3rBczrB990gHZMM+aftvhNTJazGz/luS0Us9NWgD5P3KGQ7kYZvGg==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.0.2", - "@sinonjs/formatio": "^3.0.0", - "@sinonjs/samsam": "^2.1.2", - "diff": "^3.5.0", - "lodash.get": "^4.4.2", - "lolex": "^3.0.0", - "nise": "^1.4.5", - "supports-color": "^5.5.0", - "type-detect": "^4.0.8" - } - }, "slice-ansi": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", @@ -7776,12 +7664,6 @@ "require-main-filename": "^1.0.1" } }, - "text-encoding": { - "version": "0.6.4", - "resolved": "http://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", - "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", - "dev": true - }, "text-extensions": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", diff --git a/package.json b/package.json index d80659f57..50638a021 100644 --- a/package.json +++ b/package.json @@ -111,7 +111,6 @@ "newline-regex": "^0.2.1", "requirejs": "^2.3.5", "sanitize-filename": "^1.6.1", - "sinon": "^7.0.0", "source-map-support": "^0.5.6", "standard": "^11.0.1", "standard-version": "^4.4.0", diff --git a/test/src/nyc-tap.js b/test/src/nyc-tap.js index deb705084..cbc9057f6 100644 --- a/test/src/nyc-tap.js +++ b/test/src/nyc-tap.js @@ -26,7 +26,6 @@ function NYC (opts) { var path = require('path') var glob = require('glob') var rimraf = require('rimraf') -var sinon = require('sinon') var isWindows = require('is-windows')() var spawn = require('child_process').spawn var fixtures = path.resolve(__dirname, '../fixtures') @@ -42,9 +41,6 @@ delete process.env.NYC_CWD require('chai').should() require('tap').mochaGlobals() -// modules lazy-loaded when first file is instrumented. -const LAZY_LOAD_COUNT = 266 - describe('nyc', function () { describe('cwd', function () { it('sets cwd to process.cwd() if no environment variable is set', function () { @@ -185,9 +181,11 @@ describe('nyc', function () { describe('custom require hooks are installed', function () { it('wraps modules with coverage counters when the custom require hook compiles them', function () { - var hook = sinon.spy(function (module, filename) { + let required = false + const hook = function (module, filename) { + if (filename.indexOf('check-instrumented.js') !== -1) required = true module._compile(fs.readFileSync(filename, 'utf8'), filename) - }) + } var nyc = new NYC(configUtil.buildYargs().parse()) nyc.reset() @@ -200,7 +198,7 @@ describe('nyc', function () { check().should.equal(true) // and the hook should have been called - hook.callCount.should.equal(1 + LAZY_LOAD_COUNT) + required.should.equal(true) }) }) @@ -240,21 +238,31 @@ describe('nyc', function () { }) it('calls the `_handleJs` function for custom file extensions', function () { + const required = { + es6: false, + custom: false + } var nyc = new NYC(configUtil.buildYargs( path.resolve(__dirname, '../fixtures/conf-multiple-extensions') ).parse()) - sinon.spy(nyc, '_handleJs') + nyc['_handleJs'] = (code, options) => { + if (options.filename.indexOf('check-instrumented.es6') !== -1) { + required.es6 = true + } + if (options.filename.indexOf('check-instrumented.foo.bar') !== -1) { + required.custom = true + } + return code + } nyc.reset() nyc.wrap() - const check1 = require('../fixtures/conf-multiple-extensions/check-instrumented.es6') - const check2 = require('../fixtures/conf-multiple-extensions/check-instrumented.foo.bar') - check1().should.equal(true) - check2().should.equal(true) - - nyc._handleJs.callCount.should.equal(2 + LAZY_LOAD_COUNT) + require('../fixtures/conf-multiple-extensions/check-instrumented.es6') + require('../fixtures/conf-multiple-extensions/check-instrumented.foo.bar') + required.custom.should.equal(true) + required.es6.should.equal(true) }) })