2017-03-04 16:47:53 +01:00
|
|
|
var Context = require('./jasmine.context');
|
|
|
|
var matchers = require('./jasmine.matchers');
|
|
|
|
var utils = require('./jasmine.utils');
|
|
|
|
|
|
|
|
(function() {
|
|
|
|
|
|
|
|
// Keep track of all acquired charts to automatically release them after each specs
|
|
|
|
var charts = {};
|
|
|
|
|
|
|
|
function acquireChart() {
|
|
|
|
var chart = utils.acquireChart.apply(utils, arguments);
|
|
|
|
charts[chart.id] = chart;
|
|
|
|
return chart;
|
|
|
|
}
|
|
|
|
|
|
|
|
function releaseChart(chart) {
|
|
|
|
utils.releaseChart.apply(utils, arguments);
|
|
|
|
delete charts[chart.id];
|
|
|
|
}
|
|
|
|
|
|
|
|
function createMockContext() {
|
|
|
|
return new Context();
|
|
|
|
}
|
|
|
|
|
2017-08-05 16:48:12 +02:00
|
|
|
// force ratio=1 for tests on high-res/retina devices
|
|
|
|
// fixes https://github.com/chartjs/Chart.js/issues/4515
|
|
|
|
window.devicePixelRatio = 1;
|
|
|
|
|
2017-03-04 16:47:53 +01:00
|
|
|
window.acquireChart = acquireChart;
|
|
|
|
window.releaseChart = releaseChart;
|
2017-07-26 13:33:45 +02:00
|
|
|
window.waitForResize = utils.waitForResize;
|
2017-03-04 16:47:53 +01:00
|
|
|
window.createMockContext = createMockContext;
|
|
|
|
|
|
|
|
// some style initialization to limit differences between browsers across different plateforms.
|
|
|
|
utils.injectCSS(
|
|
|
|
'.chartjs-wrapper, .chartjs-wrapper canvas {' +
|
|
|
|
'border: 0;' +
|
|
|
|
'margin: 0;' +
|
|
|
|
'padding: 0;' +
|
|
|
|
'}' +
|
|
|
|
'.chartjs-wrapper {' +
|
|
|
|
'position: absolute' +
|
|
|
|
'}');
|
|
|
|
|
2017-03-05 17:49:12 +01:00
|
|
|
jasmine.specsFromFixtures = utils.specsFromFixtures;
|
2017-08-24 09:34:38 +02:00
|
|
|
jasmine.triggerMouseEvent = utils.triggerMouseEvent;
|
2017-03-05 17:49:12 +01:00
|
|
|
|
2017-03-04 16:47:53 +01:00
|
|
|
beforeEach(function() {
|
|
|
|
jasmine.addMatchers(matchers);
|
|
|
|
});
|
|
|
|
|
|
|
|
afterEach(function() {
|
|
|
|
// Auto releasing acquired charts
|
|
|
|
Object.keys(charts).forEach(function(id) {
|
|
|
|
var chart = charts[id];
|
|
|
|
if (!(chart.$test || {}).persistent) {
|
|
|
|
releaseChart(chart);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}());
|