| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 'use strict';
- var fixture = require('./fixture');
- var Context = require('./context');
- var matchers = require('./matchers');
- var utils = require('./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 platforms.
- utils.injectCSS(
- '.chartjs-wrapper, .chartjs-wrapper canvas {' +
- 'border: 0;' +
- 'margin: 0;' +
- 'padding: 0;' +
- '}' +
- '.chartjs-wrapper {' +
- 'position: absolute' +
- '}');
- jasmine.fixture = fixture;
- 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);
- }
- });
- });
- }());
|