Skip to content

Commit

Permalink
Made import statement more generic, barebones coverage statistics aft…
Browse files Browse the repository at this point in the history
…er experimenting with merging multiple runs using puppeteer-to-istanbul, nyc merge and jest
  • Loading branch information
Onno van der Zee committed Jun 14, 2019
1 parent 7f2f96d commit 55a9e29
Show file tree
Hide file tree
Showing 11 changed files with 45 additions and 12 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.DS_Store
.nyc_output
node_modules
coverage
test/screenshots
3 changes: 2 additions & 1 deletion .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ src
.travis.yml
test
coverage
.map
.map
.nyc_output
1 change: 1 addition & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
module.exports = {

"coveragePathIgnorePatterns": [
"<rootDir>/lib",
"<rootDir>/test"
],

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"build:docs": "documentation build src/*.js --format md > API.md",
"build": "npm run build:src && npm run build:docs",
"start": "rollup --config --watch",
"coverage": "clear-folder coverage test/screenshots && jest --coverage",
"coverage": "clear-folder .nyc_output coverage test/screenshots && jest --coverage",
"test": "clear-folder test/screenshots && jest"
},
"repository": {
Expand Down
13 changes: 13 additions & 0 deletions test/e2e/_interaction.js → test/_spec_helper.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
const chalk = require('chalk')

let triggerEvent = async (page) => {
await page.evaluate(_ => {
Expand All @@ -19,3 +20,15 @@ exports.scrollSecondInView = async (page) => {
await page.$eval('.example:nth-child(2n)', elm => elm.scrollIntoView())
triggerEvent(page)
}

exports.outputCoverageScores = (jsCoverage) => {
let coverageScore = []
for (const entry of jsCoverage) {
let entryBytes = 0
for (const range of entry.ranges) {
entryBytes += range.end - range.start - 1
}
coverageScore.push(`Spec coverage for ${entry.url.split('/').pop()}: ${Math.round(entryBytes / entry.text.length * 10000)/100}%`)
}
console.log(chalk.blue.bold(coverageScore.join('\n')))
}
14 changes: 11 additions & 3 deletions test/e2e/classes.test.js → test/spec/classes.test.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
const server = require('../../lib/static-server')
const interaction = require('./_interaction')
const interaction = require('../_spec_helper.js')
const triggerEvent = interaction.triggerEvent
const scrollDown = interaction.scrollDown
const scrollSecondInView = interaction.scrollSecondInView
const outputCoverageScores = interaction.outputCoverageScores

describe(
'Basic relations between classes',
() => {
beforeAll(async () => {
await server.start()
await Promise.all([
page.coverage.startJSCoverage(),
])
await page.goto(`http://localhost:${server.port}/test/basic.html`)
await page.waitForSelector('footer')
})
Expand All @@ -17,8 +21,12 @@ describe(
await page.click('button#reset')
})

afterAll(() => {
server.stop()
afterAll(async () => {
await server.stop()
const [jsCoverage] = await Promise.all([
page.coverage.stopJSCoverage(),
])
outputCoverageScores(jsCoverage)
})


Expand Down
15 changes: 12 additions & 3 deletions test/e2e/collection.test.js → test/spec/collection.test.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
const server = require('../../lib/static-server')
const triggerEvent = require('./_interaction').triggerEvent
const interaction = require('../_spec_helper.js')
const triggerEvent = interaction.triggerEvent
const outputCoverageScores = interaction.outputCoverageScores

describe(
'Basic collection methods',
() => {
beforeAll(async () => {
await server.start()
await Promise.all([
page.coverage.startJSCoverage(),
])
await page.goto(`http://localhost:${server.port}/test/basic.html`)
await page.waitForSelector('footer')
})
Expand All @@ -14,8 +19,12 @@ describe(
await page.click('button#reset')
})

afterAll(() => {
server.stop()
afterAll(async () => {
await server.stop()
const [jsCoverage] = await Promise.all([
page.coverage.stopJSCoverage(),
])
outputCoverageScores(jsCoverage)
})


Expand Down
2 changes: 1 addition & 1 deletion test/unit/api.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import {
onScreenness,
onScreenTest
} from '../../src/onScreenness';
} from '../../src/onScreenness.js';


describe('The API manages queryLists', function () {
Expand Down
2 changes: 1 addition & 1 deletion test/unit/calculate.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import {
onScreenness,
onScreenTest
} from '../../src/onScreenness';
} from '../../src/onScreenness.js';


describe('calculatePresence calculates presence by a bounding rectangle', function () {
Expand Down
2 changes: 1 addition & 1 deletion test/unit/core.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import {
onScreenness,
onScreenTest
} from '../../src/onScreenness';
} from '../../src/onScreenness.js';


describe('The eventHandlers deal with live nodeLists', function () {
Expand Down
2 changes: 1 addition & 1 deletion test/unit/utilities.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
commaSeperatedListToArray,
queryToArray,
roundAt
} from '../../src/utilities';
} from '../../src/utilities.js';


test('roundAt rounds 1.005 to 1.01', () => {
Expand Down

0 comments on commit 55a9e29

Please sign in to comment.