All files / src/probes paint.js

100% Statements 3/3
100% Branches 0/0
100% Functions 1/1
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28                                          1x   2x 2x      
'use strict';
/**
 * Get data from the Paint Timing API in the browser.
 *
 * @module probes/paint
 * @see {@link Probe}
 * @see <https://www.w3.org/TR/paint-timing/>
 */
 
/* istanbul ignore next */
function browserCode() {
	/* eslint-env browser */
	const result = {};
	performance.getEntriesByType( 'paint' ).forEach( ( entry ) => {
		// first-paint
		// first-contentful-paint
		result[ entry.name ] = entry.startTime;
	} );
	return result;
}
 
module.exports = {
	async after( page, writer, addData ) {
		const response = await page.evaluate( browserCode );
		addData( response );
	}
};