From a37ed665365631a925a977847fef800177184a5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 23 Nov 2018 15:22:20 -0500 Subject: [PATCH 1/6] add karma-ie-launcher to dev deps --- package-lock.json | 9 +++++++++ package.json | 1 + 2 files changed, 10 insertions(+) diff --git a/package-lock.json b/package-lock.json index 8f11af4a333..31c115ebac0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6335,6 +6335,15 @@ "integrity": "sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA==", "dev": true }, + "karma-ie-launcher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/karma-ie-launcher/-/karma-ie-launcher-1.0.0.tgz", + "integrity": "sha1-SXmGhCxJAZA0bNifVJTKmDDG1Zw=", + "dev": true, + "requires": { + "lodash": "^4.6.1" + } + }, "karma-jasmine": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz", diff --git a/package.json b/package.json index 1b1678767e9..5c0133fda95 100644 --- a/package.json +++ b/package.json @@ -139,6 +139,7 @@ "karma-chrome-launcher": "^2.0.0", "karma-fail-fast-reporter": "^1.0.5", "karma-firefox-launcher": "^1.0.1", + "karma-ie-launcher": "^1.0.0", "karma-jasmine": "^1.1.2", "karma-jasmine-spec-tags": "^1.0.1", "karma-spec-reporter": "0.0.32", From 491fd8acaa89f8cf9888865f2340028daca98563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 23 Nov 2018 15:22:56 -0500 Subject: [PATCH 2/6] add --IE11 test-jasmine CLI opt --- test/jasmine/karma.conf.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/jasmine/karma.conf.js b/test/jasmine/karma.conf.js index 904a3334bbf..bddfe334e51 100644 --- a/test/jasmine/karma.conf.js +++ b/test/jasmine/karma.conf.js @@ -7,10 +7,11 @@ var constants = require('../../tasks/util/constants'); var isCI = !!process.env.CIRCLECI; var argv = minimist(process.argv.slice(4), { string: ['bundleTest', 'width', 'height'], - 'boolean': ['info', 'nowatch', 'failFast', 'verbose', 'Chrome', 'Firefox'], + 'boolean': ['info', 'nowatch', 'failFast', 'verbose', 'Chrome', 'Firefox', 'IE11'], alias: { 'Chrome': 'chrome', 'Firefox': ['firefox', 'FF'], + 'IE11': ['ie11'], 'bundleTest': ['bundletest', 'bundle_test'], 'nowatch': 'no-watch', 'failFast': 'fail-fast' @@ -54,6 +55,7 @@ if(argv.info) { ' - `--info`: show this info message', ' - `--Chrome` (alias `--chrome`): run test in (our custom) Chrome browser', ' - `--Firefox` (alias `--FF`, `--firefox`): run test in (our custom) Firefox browser', + ' - `--IE11` (alias -- `ie11`)`: run test in IE11 browser', ' - `--nowatch (dflt: `false`, `true` on CI)`: run karma w/o `autoWatch` / multiple run mode', ' - `--failFast` (dflt: `false`): exit karma upon first test failure', ' - `--verbose` (dflt: `false`): show test result using verbose reporter', @@ -302,6 +304,7 @@ func.defaultConfig.files.push(testFileGlob); var browsers = func.defaultConfig.browsers; if(argv.Chrome) browsers.push('_Chrome'); if(argv.Firefox) browsers.push('_Firefox'); +if(argv.IE11) browsers.push('IE'); if(browsers.length === 0) browsers.push('_Chrome'); module.exports = func; From ba5ccfb05338085980eafed3be99cdabc163053f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 23 Nov 2018 15:59:15 -0500 Subject: [PATCH 3/6] handle CI not CIRCLECI env var in karma.conf --- test/jasmine/karma.conf.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jasmine/karma.conf.js b/test/jasmine/karma.conf.js index bddfe334e51..77bc53c0cea 100644 --- a/test/jasmine/karma.conf.js +++ b/test/jasmine/karma.conf.js @@ -4,7 +4,7 @@ var path = require('path'); var minimist = require('minimist'); var constants = require('../../tasks/util/constants'); -var isCI = !!process.env.CIRCLECI; +var isCI = !!process.env.CI; var argv = minimist(process.argv.slice(4), { string: ['bundleTest', 'width', 'height'], 'boolean': ['info', 'nowatch', 'failFast', 'verbose', 'Chrome', 'Firefox', 'IE11'], From 05b3b7a54f6b2fe7e60f8b63f7f5919f1e33bb2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 23 Nov 2018 15:59:40 -0500 Subject: [PATCH 4/6] add appveyor.yml, test lib_test.js --- appveyor.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000000..7db941a9b86 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,14 @@ +environment: + nodejs_version: "10" + +install: + - ps: Install-Product node $env:nodejs_version + # faster than `npm install` + - npm ci + +test_script: + - node --version + - npm --version + - npm run test-jasmine -- lib --IE11 + +build: off From f18f10e428c963e91e5d97b449b1933156a42626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 23 Nov 2018 15:59:58 -0500 Subject: [PATCH 5/6] adapt Lib.cleanNumber test for IE11 --- test/jasmine/tests/lib_test.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/test/jasmine/tests/lib_test.js b/test/jasmine/tests/lib_test.js index c3e2e6ebb6e..f66b860a0c0 100644 --- a/test/jasmine/tests/lib_test.js +++ b/test/jasmine/tests/lib_test.js @@ -1558,12 +1558,16 @@ describe('Test lib.js:', function() { describe('cleanNumber', function() { it('should return finite numbers untouched', function() { - [ - 0, 1, 2, 1234.567, - -1, -100, -999.999, - Number.MAX_VALUE, Number.MIN_VALUE, Number.EPSILON, - -Number.MAX_VALUE, -Number.MIN_VALUE, -Number.EPSILON - ].forEach(function(v) { + var vals = [0, 1, 2, 1234.567, -1, -100, -999.999]; + + if(!Lib.isIE()) { + vals.push( + Number.MAX_VALUE, Number.MIN_VALUE, Number.EPSILON, + -Number.MAX_VALUE, -Number.MIN_VALUE, -Number.EPSILON + ); + } + + vals.forEach(function(v) { expect(Lib.cleanNumber(v)).toBe(v); }); }); From 50218deb708cab59260df5bf5096d5a61988eb2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Mon, 26 Nov 2018 09:32:21 -0500 Subject: [PATCH 6/6] ok to test Number.MAX_VALUE and Number.MIN_VALUE in IE --- test/jasmine/tests/lib_test.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/test/jasmine/tests/lib_test.js b/test/jasmine/tests/lib_test.js index f66b860a0c0..ad06311c263 100644 --- a/test/jasmine/tests/lib_test.js +++ b/test/jasmine/tests/lib_test.js @@ -1558,13 +1558,14 @@ describe('Test lib.js:', function() { describe('cleanNumber', function() { it('should return finite numbers untouched', function() { - var vals = [0, 1, 2, 1234.567, -1, -100, -999.999]; + var vals = [ + 0, 1, 2, 1234.567, -1, -100, -999.999, + Number.MAX_VALUE, Number.MIN_VALUE, + -Number.MAX_VALUE, -Number.MIN_VALUE + ]; if(!Lib.isIE()) { - vals.push( - Number.MAX_VALUE, Number.MIN_VALUE, Number.EPSILON, - -Number.MAX_VALUE, -Number.MIN_VALUE, -Number.EPSILON - ); + vals.push(Number.EPSILON, -Number.EPSILON); } vals.forEach(function(v) {