diff --git a/.travis.yml b/.travis.yml index 40e5b442b05..862d8b0445a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,13 +22,8 @@ sudo: required dist: trusty addons: + chrome: stable firefox: latest - apt: - sources: - - google-chrome - packages: - - google-chrome-stable - # IMPORTANT: scripts require GITHUB_AUTH_TOKEN and GITHUB_AUTH_EMAIL environment variables # IMPORTANT: scripts has to be set executables in the Git repository (error 127) diff --git a/test/.eslintrc b/test/.eslintrc index 5a281785c87..8e8f899bffd 100644 --- a/test/.eslintrc +++ b/test/.eslintrc @@ -5,6 +5,7 @@ globals: acquireChart: true Chart: true moment: true + waitForResize: true # http://eslint.org/docs/rules/ rules: diff --git a/test/jasmine.index.js b/test/jasmine.index.js index 55c587ab0a2..10e2e617704 100644 --- a/test/jasmine.index.js +++ b/test/jasmine.index.js @@ -24,6 +24,7 @@ var utils = require('./jasmine.utils'); window.acquireChart = acquireChart; window.releaseChart = releaseChart; + window.waitForResize = utils.waitForResize; window.createMockContext = createMockContext; // some style initialization to limit differences between browsers across different plateforms. diff --git a/test/jasmine.utils.js b/test/jasmine.utils.js index bb3f6445cab..473edfde9dc 100644 --- a/test/jasmine.utils.js +++ b/test/jasmine.utils.js @@ -149,10 +149,20 @@ function specsFromFixtures(path) { }; } +function waitForResize(chart, callback) { + var override = chart.resize; + chart.resize = function() { + chart.resize = override; + override.apply(this, arguments); + callback(); + }; +} + module.exports = { injectCSS: injectCSS, createCanvas: createCanvas, acquireChart: acquireChart, releaseChart: releaseChart, - specsFromFixtures: specsFromFixtures + specsFromFixtures: specsFromFixtures, + waitForResize: waitForResize }; diff --git a/test/specs/core.controller.tests.js b/test/specs/core.controller.tests.js index c2038ac248d..4c6e6185865 100644 --- a/test/specs/core.controller.tests.js +++ b/test/specs/core.controller.tests.js @@ -1,18 +1,5 @@ describe('Chart', function() { - function waitForResize(chart, callback) { - var resizer = chart.canvas.parentNode._chartjs.resizer; - var content = resizer.contentWindow || resizer; - var state = content.document.readyState || 'complete'; - var handler = function() { - Chart.helpers.removeEvent(content, 'load', handler); - Chart.helpers.removeEvent(content, 'resize', handler); - setTimeout(callback, 50); - }; - - Chart.helpers.addEvent(content, state !== 'complete' ? 'load' : 'resize', handler); - } - // https://github.com/chartjs/Chart.js/issues/2481 // See global.deprecations.tests.js for backward compatibility it('should be defined and prototype of chart instances', function() { diff --git a/test/specs/platform.dom.tests.js b/test/specs/platform.dom.tests.js index 97806e613ec..4358b9b3521 100644 --- a/test/specs/platform.dom.tests.js +++ b/test/specs/platform.dom.tests.js @@ -1,18 +1,5 @@ describe('Platform.dom', function() { - function waitForResize(chart, callback) { - var resizer = chart.canvas.parentNode._chartjs.resizer; - var content = resizer.contentWindow || resizer; - var state = content.document.readyState || 'complete'; - var handler = function() { - Chart.helpers.removeEvent(content, 'load', handler); - Chart.helpers.removeEvent(content, 'resize', handler); - setTimeout(callback, 50); - }; - - Chart.helpers.addEvent(content, state !== 'complete' ? 'load' : 'resize', handler); - } - describe('context acquisition', function() { var canvasId = 'chartjs-canvas';