mirror of
https://github.com/chartjs/Chart.js.git
synced 2024-10-07 04:39:06 +02:00
872dfec0f3
New `options.resolve` helper that determines the final value to use from an array of input values (fallback) and a given context and/or index. For now, only the bubble chart support scriptable options, see documentation for details. Add scriptable options documentation and update the bubble chart dataset properties table with their scriptable and indexable capabilities and default values. Also move point style description under the element configuration section.
62 lines
1.5 KiB
JavaScript
62 lines
1.5 KiB
JavaScript
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();
|
|
}
|
|
|
|
// force ratio=1 for tests on high-res/retina devices
|
|
// fixes https://github.com/chartjs/Chart.js/issues/4515
|
|
window.devicePixelRatio = 1;
|
|
|
|
window.acquireChart = acquireChart;
|
|
window.releaseChart = releaseChart;
|
|
window.waitForResize = utils.waitForResize;
|
|
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' +
|
|
'}');
|
|
|
|
jasmine.specsFromFixtures = utils.specsFromFixtures;
|
|
jasmine.triggerMouseEvent = utils.triggerMouseEvent;
|
|
|
|
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);
|
|
}
|
|
});
|
|
});
|
|
}());
|