Skip to content

Commit

Permalink
Tests for header/footer/formatter helps
Browse files Browse the repository at this point in the history
  • Loading branch information
ebidel committed Apr 13, 2017
1 parent 7d0d818 commit 6c1a4b4
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 3 deletions.
7 changes: 6 additions & 1 deletion lighthouse-core/report/v2/renderer/report-renderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,12 @@ class ReportRenderer {
}

if (typeof module !== 'undefined' && module.exports) {
module.exports = ReportRenderer;
module.exports = {
formatDateTime,
formatNumber,
calculateRating,
ReportRenderer
};
}

/** @typedef {{id: string, weight: number, score: number, result: {description: string, displayValue: string, helpText: string, score: number|boolean, details: DetailsRenderer.DetailsJSON|undefined}}} */
Expand Down
6 changes: 6 additions & 0 deletions lighthouse-core/test/report/v2/renderer/dom-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ describe('DOM', () => {
assert.ok(clone.querySelector('.lh-score'));
});

it('should clone a template from a context scope', () => {
const heading = dom.cloneTemplate('#tmpl-lh-heading');
const items = dom.cloneTemplate('#tmpl-lh-env__items', heading);
assert.ok(items.querySelector('.lh-env__item'));
});

it('fails when template cannot be found', () => {
assert.throws(() => dom.cloneTemplate('#unknown-selector'));
});
Expand Down
27 changes: 25 additions & 2 deletions lighthouse-core/test/report/v2/renderer/report-renderer-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
'use strict';

/* eslint-env mocha, browser */
/* eslint-env mocha */

const assert = require('assert');
const fs = require('fs');
Expand Down Expand Up @@ -44,7 +44,7 @@ describe('ReportRenderer V2', () => {
};
};
const document = jsdom.jsdom(TEMPLATE_FILE);
renderer = new ReportRenderer(document);
renderer = new ReportRenderer.ReportRenderer(document);
});

after(() => {
Expand All @@ -56,6 +56,29 @@ describe('ReportRenderer V2', () => {
global.matchMedia = undefined;
});

describe('format helpers', () => {
it('formats a date', () => {
const timestamp = ReportRenderer.formatDateTime(sampleResults.generatedTime);
assert.equal(timestamp, 'Apr 5, 2017, 3:41 PM PDT');
});

it('formats a number', () => {
assert.strictEqual(ReportRenderer.formatNumber(10), '10');
assert.strictEqual(ReportRenderer.formatNumber(100.01), '100');
assert.strictEqual(ReportRenderer.formatNumber(13000.456), '13,000.5');
});

it('calculates a score ratings', () => {
assert.equal(ReportRenderer.calculateRating(0), 'fail');
assert.equal(ReportRenderer.calculateRating(10), 'fail');
assert.equal(ReportRenderer.calculateRating(45), 'average');
assert.equal(ReportRenderer.calculateRating(55), 'average');
assert.equal(ReportRenderer.calculateRating(75), 'pass');
assert.equal(ReportRenderer.calculateRating(80), 'pass');
assert.equal(ReportRenderer.calculateRating(100), 'pass');
});
});

describe('renderReport', () => {
it('should render a report', () => {
const container = renderer._dom._document.body;
Expand Down

0 comments on commit 6c1a4b4

Please sign in to comment.