From 1ca0ffb5d5b6c2072176fd36fa85a58c483aa434 Mon Sep 17 00:00:00 2001 From: Simon Brunel Date: Sun, 5 Mar 2017 17:49:12 +0100 Subject: [PATCH] Introduce unit test based on image comparison (#3988) Attempt to make easier the creation of unit tests that check the drawing output. Until now, this was done by checking calls on a 'fake' context, which is hard to maintain (need to update pixel values by hands) and also not reliable when optimizing code (i.e. different calls sequence but same result). As of now, it's possible to define 'auto' tests based on JSON/PNG fixtures: chart is generated from the JSON file and compared to the associated PNG image. The image diff is done using `pixelmatch`. As an example (and in preparation of the `filler` plugin), add auto tests for the line element `fill` options. --- gulpfile.js | 2 + package.json | 1 + .../element.line/fill-line-bottom-span.json | 55 ++++++++++ .../element.line/fill-line-bottom-span.png | Bin 0 -> 17347 bytes .../element.line/fill-line-bottom.json | 55 ++++++++++ .../element.line/fill-line-bottom.png | Bin 0 -> 15653 bytes .../element.line/fill-line-spline-span.json | 55 ++++++++++ .../element.line/fill-line-spline-span.png | Bin 0 -> 20758 bytes .../element.line/fill-line-spline.json | 55 ++++++++++ .../element.line/fill-line-spline.png | Bin 0 -> 19286 bytes .../element.line/fill-line-stepped-span.json | 56 +++++++++++ .../element.line/fill-line-stepped-span.png | Bin 0 -> 6922 bytes .../element.line/fill-line-stepped.json | 56 +++++++++++ .../element.line/fill-line-stepped.png | Bin 0 -> 6892 bytes .../element.line/fill-line-top-span.json | 55 ++++++++++ .../element.line/fill-line-top-span.png | Bin 0 -> 16356 bytes test/fixtures/element.line/fill-line-top.json | 55 ++++++++++ test/fixtures/element.line/fill-line-top.png | Bin 0 -> 15057 bytes .../element.line/fill-line-zero-span.json | 55 ++++++++++ .../element.line/fill-line-zero-span.png | Bin 0 -> 17340 bytes .../fixtures/element.line/fill-line-zero.json | 55 ++++++++++ test/fixtures/element.line/fill-line-zero.png | Bin 0 -> 16008 bytes .../element.line/fill-radar-spline.json | 50 ++++++++++ .../element.line/fill-radar-spline.png | Bin 0 -> 25918 bytes .../element.line/fill-radar-zero.json | 49 +++++++++ .../fixtures/element.line/fill-radar-zero.png | Bin 0 -> 22988 bytes test/jasmine.index.js | 2 + test/jasmine.matchers.js | 94 +++++++++++++++++- test/jasmine.utils.js | 84 +++++++++++++++- test/specs/element.line.tests.js | 4 +- 30 files changed, 835 insertions(+), 3 deletions(-) create mode 100644 test/fixtures/element.line/fill-line-bottom-span.json create mode 100644 test/fixtures/element.line/fill-line-bottom-span.png create mode 100644 test/fixtures/element.line/fill-line-bottom.json create mode 100644 test/fixtures/element.line/fill-line-bottom.png create mode 100644 test/fixtures/element.line/fill-line-spline-span.json create mode 100644 test/fixtures/element.line/fill-line-spline-span.png create mode 100644 test/fixtures/element.line/fill-line-spline.json create mode 100644 test/fixtures/element.line/fill-line-spline.png create mode 100644 test/fixtures/element.line/fill-line-stepped-span.json create mode 100644 test/fixtures/element.line/fill-line-stepped-span.png create mode 100644 test/fixtures/element.line/fill-line-stepped.json create mode 100644 test/fixtures/element.line/fill-line-stepped.png create mode 100644 test/fixtures/element.line/fill-line-top-span.json create mode 100644 test/fixtures/element.line/fill-line-top-span.png create mode 100644 test/fixtures/element.line/fill-line-top.json create mode 100644 test/fixtures/element.line/fill-line-top.png create mode 100644 test/fixtures/element.line/fill-line-zero-span.json create mode 100644 test/fixtures/element.line/fill-line-zero-span.png create mode 100644 test/fixtures/element.line/fill-line-zero.json create mode 100644 test/fixtures/element.line/fill-line-zero.png create mode 100644 test/fixtures/element.line/fill-radar-spline.json create mode 100644 test/fixtures/element.line/fill-radar-spline.png create mode 100644 test/fixtures/element.line/fill-radar-zero.json create mode 100644 test/fixtures/element.line/fill-radar-zero.png diff --git a/gulpfile.js b/gulpfile.js index 868001696..c9d604713 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -171,6 +171,8 @@ function validHTMLTask() { function startTest() { return [ + {pattern: './test/fixtures/**/*.json', included: false}, + {pattern: './test/fixtures/**/*.png', included: false}, './node_modules/moment/min/moment.min.js', './test/jasmine.index.js', './src/**/*.js', diff --git a/package.json b/package.json index 374f90d17..24a313f4b 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "karma-jasmine": "^1.1.0", "karma-jasmine-html-reporter": "^0.2.2", "merge-stream": "^1.0.0", + "pixelmatch": "^4.0.2", "vinyl-source-stream": "^1.1.0", "watchify": "^3.7.0", "yargs": "^5.0.0" diff --git a/test/fixtures/element.line/fill-line-bottom-span.json b/test/fixtures/element.line/fill-line-bottom-span.json new file mode 100644 index 000000000..ec6bb4b0d --- /dev/null +++ b/test/fixtures/element.line/fill-line-bottom-span.json @@ -0,0 +1,55 @@ +{ + "config": { + "type": "line", + "data": { + "labels": ["0", "1", "2", "3", "4", "5", "6", "7", "8"], + "datasets": [{ + "backgroundColor": "rgba(0, 0, 255, 0.25)", + "data": [null, null, 2, 3, 4, -4, -2, 1, 0] + }, { + "backgroundColor": "rgba(0, 255, 0, 0.25)", + "data": [6, 2, null, 4, 5, null, null, 2, 1] + }, { + "backgroundColor": "rgba(255, 0, 0, 0.25)", + "data": [7, 3, 4, 5, 6, 1, 4, null, null] + }, { + "backgroundColor": "rgba(0, 0, 255, 0.25)", + "data": [8, 7, 6, -6, -4, -6, 4, 5, 8] + }] + }, + "options": { + "responsive": false, + "spanGaps": true, + "legend": false, + "title": false, + "scales": { + "xAxes": [{ + "ticks": { + "display": false + } + }], + "yAxes": [{ + "ticks": { + "display": false + } + }] + }, + "elements": { + "point": { + "radius": 0 + }, + "line": { + "borderColor": "transparent", + "fill": "bottom", + "tension": 0 + } + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/element.line/fill-line-bottom-span.png b/test/fixtures/element.line/fill-line-bottom-span.png new file mode 100644 index 0000000000000000000000000000000000000000..45e4992768b07b190bc8ebf7b2fb3ced93d7343b GIT binary patch literal 17347 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

CL#4pDc4kU)7n7;M|0!!>+5^ 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 literal 0 Hc-jL100001 diff --git a/test/fixtures/element.line/fill-line-spline-span.json b/test/fixtures/element.line/fill-line-spline-span.json new file mode 100644 index 000000000..c87833b6e --- /dev/null +++ b/test/fixtures/element.line/fill-line-spline-span.json @@ -0,0 +1,55 @@ +{ + "config": { + "type": "line", + "data": { + "labels": ["0", "1", "2", "3", "4", "5", "6", "7", "8"], + "datasets": [{ + "backgroundColor": "rgba(0, 0, 192, 0.25)", + "data": [null, null, 2, 4, 2, 1, -1, 1, 2] + }, { + "backgroundColor": "rgba(0, 192, 0, 0.25)", + "data": [4, 2, null, 3, 2.5, null, -2, 1.5, 3] + }, { + "backgroundColor": "rgba(192, 0, 0, 0.25)", + "data": [3.5, 2, 1, 2.5, -2, 3, -1, null, null] + }, { + "backgroundColor": "rgba(128, 0, 128, 0.25)", + "data": [5, 6, 5, -2, -4, -3, 4, 2, 4.5] + }] + }, + "options": { + "responsive": false, + "spanGaps": true, + "legend": false, + "title": false, + "scales": { + "xAxes": [{ + "ticks": { + "display": false + } + }], + "yAxes": [{ + "ticks": { + "display": false + } + }] + }, + "elements": { + "point": { + "radius": 0 + }, + "line": { + "cubicInterpolationMode": "monotone", + "borderColor": "transparent", + "fill": "zero" + } + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/element.line/fill-line-spline-span.png b/test/fixtures/element.line/fill-line-spline-span.png new file mode 100644 index 0000000000000000000000000000000000000000..01aae5a995d0dfe10b4fee9e0feacb2f9f1894e6 GIT binary patch literal 20758 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

y3i=sB6c-sy*} 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 q9N`*E!PSzov!a&2!UjXoIqL&4XE#el1 literal 0 Hc-jL100001 diff --git a/test/fixtures/element.line/fill-line-stepped-span.json b/test/fixtures/element.line/fill-line-stepped-span.json new file mode 100644 index 000000000..c6f24e1c1 --- /dev/null +++ b/test/fixtures/element.line/fill-line-stepped-span.json @@ -0,0 +1,56 @@ +{ + "config": { + "type": "line", + "data": { + "labels": ["0", "1", "2", "3", "4", "5", "6", "7", "8"], + "datasets": [{ + "backgroundColor": "rgba(0, 0, 192, 0.25)", + "data": [null, null, 2, 4, 2, 1, -1, 1, 2] + }, { + "backgroundColor": "rgba(0, 192, 0, 0.25)", + "data": [4, 2, null, 3, 2.5, null, -2, 1.5, 3] + }, { + "backgroundColor": "rgba(192, 0, 0, 0.25)", + "data": [3.5, 2, 1, 2.5, -2, 3, -1, null, null] + }, { + "backgroundColor": "rgba(128, 0, 128, 0.25)", + "data": [5, 6, 5, -2, -4, -3, 4, 2, 4.5] + }] + }, + "options": { + "responsive": false, + "spanGaps": true, + "legend": false, + "title": false, + "scales": { + "xAxes": [{ + "ticks": { + "display": false + } + }], + "yAxes": [{ + "ticks": { + "display": false + } + }] + }, + "elements": { + "point": { + "radius": 0 + }, + "line": { + "cubicInterpolationMode": "monotone", + "borderColor": "transparent", + "stepped": true, + "fill": "zero" + } + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/element.line/fill-line-stepped-span.png b/test/fixtures/element.line/fill-line-stepped-span.png new file mode 100644 index 0000000000000000000000000000000000000000..9f7c15b9ddbc5e8e5dffe34cd1b48780a190e813 GIT binary patch literal 6922 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 Bf$abQ literal 0 Hc-jL100001 diff --git a/test/fixtures/element.line/fill-line-top-span.json b/test/fixtures/element.line/fill-line-top-span.json new file mode 100644 index 000000000..b74b1f5ca --- /dev/null +++ b/test/fixtures/element.line/fill-line-top-span.json @@ -0,0 +1,55 @@ +{ + "config": { + "type": "line", + "data": { + "labels": ["0", "1", "2", "3", "4", "5", "6", "7", "8"], + "datasets": [{ + "backgroundColor": "rgba(0, 0, 192, 0.25)", + "data": [null, null, 2, 3, 4, -4, -2, 1, 0] + }, { + "backgroundColor": "rgba(0, 192, 0, 0.25)", + "data": [5.5, 2, null, 4, 5, null, null, 2, 1] + }, { + "backgroundColor": "rgba(192, 0, 0, 0.25)", + "data": [7, 3, 4, 5, 6, 1, 4, null, null] + }, { + "backgroundColor": "rgba(0, 0, 192, 0.25)", + "data": [8, 7, 6.5, -6, -4, -6, 4, 5, 8] + }] + }, + "options": { + "responsive": false, + "spanGaps": true, + "legend": false, + "title": false, + "scales": { + "xAxes": [{ + "ticks": { + "display": false + } + }], + "yAxes": [{ + "ticks": { + "display": false + } + }] + }, + "elements": { + "point": { + "radius": 0 + }, + "line": { + "borderColor": "transparent", + "fill": "top", + "tension": 0 + } + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/element.line/fill-line-top-span.png b/test/fixtures/element.line/fill-line-top-span.png new file mode 100644 index 0000000000000000000000000000000000000000..83519b05fb72b9c23a2d305937c0c6a2201fef3c GIT binary patch literal 16356 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

wviPTq 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 literal 0 Hc-jL100001 diff --git a/test/fixtures/element.line/fill-line-zero.json b/test/fixtures/element.line/fill-line-zero.json new file mode 100644 index 000000000..1958fc5d0 --- /dev/null +++ b/test/fixtures/element.line/fill-line-zero.json @@ -0,0 +1,55 @@ +{ + "config": { + "type": "line", + "data": { + "labels": ["0", "1", "2", "3", "4", "5", "6", "7", "8"], + "datasets": [{ + "backgroundColor": "rgba(0, 0, 192, 0.25)", + "data": [null, null, 2, 3, 4, -4, -2, 1, 0] + }, { + "backgroundColor": "rgba(0, 192, 0, 0.25)", + "data": [6, 2, null, 4, 5, null, null, 2, 1] + }, { + "backgroundColor": "rgba(192, 0, 0, 0.25)", + "data": [7, 3, 4, 5, 6, 1, 4, null, null] + }, { + "backgroundColor": "rgba(0, 64, 192, 0.25)", + "data": [8, 7, 6, -6, -4, -6, 4, 5, 8] + }] + }, + "options": { + "responsive": false, + "spanGaps": false, + "legend": false, + "title": false, + "scales": { + "xAxes": [{ + "ticks": { + "display": false + } + }], + "yAxes": [{ + "ticks": { + "display": false + } + }] + }, + "elements": { + "point": { + "radius": 0 + }, + "line": { + "borderColor": "transparent", + "fill": "zero", + "tension": 0 + } + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/element.line/fill-line-zero.png b/test/fixtures/element.line/fill-line-zero.png new file mode 100644 index 0000000000000000000000000000000000000000..f8f0208d4fde7f1f79a312e59ff3f3d5af6ae163 GIT binary patch literal 16008 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' + + 'thr: ' + toPercent(threshold) + '%, ' + + 'tol: '+ toPercent(tolerance) + '%' + } + ].forEach(function(values) { + var item = document.createElement('div'); + item.style.cssText = 'text-align: center; font: 12px monospace; line-height: 1.4; margin: 8px'; + item.innerHTML = '
' + values.label + '
'; + item.appendChild(canvasFromImageData(values.data)); + wrapper.appendChild(item); + }); + + // WORKAROUND: https://github.com/karma-runner/karma-jasmine/issues/139 + wrapper.indexOf = function() { + return -1; + }; + + return wrapper; +} + function toBeCloseToPixel() { return { compare: function(actual, expected) { @@ -105,9 +156,50 @@ function toBeChartOfSize() { }; } +function toEqualImageData() { + return { + compare: function(actual, expected, opts) { + var message = null; + var debug = opts.debug || false; + var tolerance = opts.tolerance === undefined? 0.001 : opts.tolerance; + var threshold = opts.threshold === undefined? 0.1 : opts.threshold; + var ctx, idata, ddata, w, h, count, ratio; + + if (actual instanceof Chart) { + ctx = actual.ctx; + } else if (actual instanceof HTMLCanvasElement) { + ctx = actual.getContext('2d'); + } else if (actual instanceof CanvasRenderingContext2D) { + ctx = actual; + } + + if (ctx) { + h = expected.height; + w = expected.width; + idata = ctx.getImageData(0, 0, w, h); + ddata = createImageData(w, h); + count = pixelmatch(idata.data, expected.data, ddata.data, w, h, {threshold: threshold}); + ratio = count / (w * h); + + if ((ratio > tolerance) || debug) { + message = buildPixelMatchPreview(idata, expected, ddata, threshold, tolerance, count); + } + } else { + message = 'Input value is not a valid image source.'; + } + + return { + message: message, + pass: !message + }; + } + }; +} + module.exports = { toBeCloseToPixel: toBeCloseToPixel, toEqualOneOf: toEqualOneOf, toBeValidChart: toBeValidChart, - toBeChartOfSize: toBeChartOfSize + toBeChartOfSize: toBeChartOfSize, + toEqualImageData: toEqualImageData }; diff --git a/test/jasmine.utils.js b/test/jasmine.utils.js index 77f05c6e0..f5ead49ec 100644 --- a/test/jasmine.utils.js +++ b/test/jasmine.utils.js @@ -1,3 +1,40 @@ +/* global __karma__ */ + +function loadJSON(url, callback) { + var request = new XMLHttpRequest(); + request.onreadystatechange = function() { + if (request.readyState === 4) { + return callback(JSON.parse(request.responseText)); + } + }; + + request.overrideMimeType('application/json'); + request.open('GET', url, true); + request.send(null); +} + +function createCanvas(w, h) { + var canvas = document.createElement('canvas'); + canvas.width = w; + canvas.height = h; + return canvas; +} + +function readImageData(url, callback) { + var image = new Image(); + + image.onload = function() { + var h = image.height; + var w = image.width; + var canvas = createCanvas(w, h); + var ctx = canvas.getContext('2d'); + ctx.drawImage(image, 0, 0, w, h); + callback(ctx.getImageData(0, 0, w, h)); + }; + + image.src = url; +} + /** * Injects a new canvas (and div wrapper) and creates teh associated Chart instance * using the given config. Additional options allow tweaking elements generation. @@ -69,8 +106,53 @@ function injectCSS(css) { head.appendChild(style); } +function specFromFixture(description, inputs) { + it(inputs.json, function(done) { + loadJSON(inputs.json, function(json) { + var chart = acquireChart(json.config, json.options); + if (!inputs.png) { + fail('Missing PNG comparison file for ' + inputs.json); + if (!json.debug) { + releaseChart(chart); + } + done(); + } + + readImageData(inputs.png, function(expected) { + expect(chart).toEqualImageData(expected, json); + releaseChart(chart); + done(); + }); + }); + }); +} + +function specsFromFixtures(path) { + var regex = new RegExp('(^/base/test/fixtures/' + path + '.+)\\.(png|json)'); + var inputs = {}; + + Object.keys(__karma__.files || {}).forEach(function(file) { + var matches = file.match(regex); + var name = matches && matches[1]; + var type = matches && matches[2]; + + if (name && type) { + inputs[name] = inputs[name] || {}; + inputs[name][type] = file; + } + }); + + return function() { + Object.keys(inputs).forEach(function(key) { + specFromFixture(key, inputs[key]); + }); + }; +} + module.exports = { injectCSS: injectCSS, + createCanvas: createCanvas, acquireChart: acquireChart, - releaseChart: releaseChart + releaseChart: releaseChart, + specsFromFixtures: specsFromFixtures }; diff --git a/test/specs/element.line.tests.js b/test/specs/element.line.tests.js index 0a2a6eced..52d94cd37 100644 --- a/test/specs/element.line.tests.js +++ b/test/specs/element.line.tests.js @@ -1,5 +1,7 @@ // Tests for the line element -describe('Line element tests', function() { +describe('Chart.elements.Line', function() { + describe('auto', jasmine.specsFromFixtures('element.line')); + it('should be constructed', function() { var line = new Chart.elements.Line({ _datasetindex: 2, -- 2.47.3