diff --git a/lib/coverage.js b/lib/coverage.js index 0f22678a..d853dd9b 100755 --- a/lib/coverage.js +++ b/lib/coverage.js @@ -109,7 +109,11 @@ internals.instrument = function (filename) { // Coverage status - if (bypass[node.range[0]] && bypass[node.range[1]]) { + const bypassTests = []; + for (let i = node.range[0]; i <= node.range[1]; ++i) { + bypassTests.push(bypass[i]); + } + if (bypassTests.every((test) => test)) { return; } diff --git a/test/coverage.js b/test/coverage.js index 952e4149..1f4c6d61 100755 --- a/test/coverage.js +++ b/test/coverage.js @@ -147,9 +147,9 @@ describe('Coverage', () => { const cov = Lab.coverage.analyze({ coveragePath: Path.join(__dirname, 'coverage/bypass-misses') }); expect(Math.floor(cov.percent)).to.equal(93); - expect(cov.sloc).to.equal(15); + expect(cov.sloc).to.equal(16); expect(cov.misses).to.equal(1); - expect(cov.hits).to.equal(14); + expect(cov.hits).to.equal(15); done(); }); diff --git a/test/coverage/bypass-misses.js b/test/coverage/bypass-misses.js index 076d2b33..476eb72d 100755 --- a/test/coverage/bypass-misses.js +++ b/test/coverage/bypass-misses.js @@ -19,8 +19,9 @@ const /*$lab:coverage:on$*/FiveMath = function () { this.subtractFive = function (value) { return value - 5; - }; + };/*$lab:coverage:off$*/ }; +/*$lab:coverage:on$*/ const fiveMath = new FiveMath();