Skip to content

Commit

Permalink
Switch to Jasmine 2 for testing. Fixes ajax testing in IE9
Browse files Browse the repository at this point in the history
  • Loading branch information
ssenbud committed Nov 21, 2015
1 parent 8865df5 commit 3dc10e4
Show file tree
Hide file tree
Showing 10 changed files with 224 additions and 264 deletions.
4 changes: 2 additions & 2 deletions dist/stacktrace-with-polyfills.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/stacktrace-with-polyfills.min.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/stacktrace.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/stacktrace.min.js.map

Large diffs are not rendered by default.

114 changes: 66 additions & 48 deletions karma.conf.ci.js
Expand Up @@ -8,54 +8,77 @@ module.exports = function (config) {
// Commented some of these out just so CI doesn't take forever.
// Check out https://saucelabs.com/platforms for all browser/platform combos
var customLaunchers = {
//slIOS7: {
// base: 'SauceLabs',
// browserName: 'iPhone',
// platform: 'OS X 10.9',
// version: '7.1'
//},
slIOS8: {
base: 'SauceLabs',
browserName: 'iPhone',
platform: 'OS X 10.9',
version: '8.1'
platform: 'OS X 10.10',
version: '8.4'
},
slIOS9: {
base: 'SauceLabs',
browserName: 'iPhone',
platform: 'OS X 10.11',
version: '9.1'
},
slAndroid4: {
base: 'SauceLabs',
browserName: 'Android',
platform: 'Linux',
version: '4.4'
},
slAndroid5: {
base: 'SauceLabs',
browserName: 'Android',
platform: 'Linux',
version: '5.1'
},
//slAndroid4: {
// base: 'SauceLabs',
// browserName: 'Android',
// platform: 'Linux',
// version: '4.4'
//},
slChrome: {
base: 'SauceLabs',
browserName: 'chrome'
},
slFirefox: {
slChromeBeta: {
base: 'SauceLabs',
browserName: 'firefox'
browserName: 'chrome',
version: 'beta'
},
slChromeCanary: {
base: 'SauceLabs',
browserName: 'chrome',
version: 'dev'
},
slFirefox42: {
base: 'SauceLabs',
browserName: 'firefox',
platform: 'Windows 8.1',
version: '42.0'
},
slFirefoxDev: {
base: 'SauceLabs',
browserName: 'firefox',
version: 'dev'
},
slSafari8: {
base: 'SauceLabs',
browserName: 'safari',
platform: 'OS X 10.10',
version: '8'
},
slSafari9: {
base: 'SauceLabs',
browserName: 'safari',
platform: 'OS X 10.11',
version: '9'
},
//slSafari6: {
// base: 'SauceLabs',
// browserName: 'safari',
// platform: 'OS X 10.8',
// version: '6'
//},
//slSafari7: {
// base: 'SauceLabs',
// browserName: 'safari',
// platform: 'OS X 10.9',
// version: '7'
//},
//slSafari8: {
// base: 'SauceLabs',
// browserName: 'safari',
// platform: 'OS X 10.10',
// version: '8'
//}
slOpera: {
base: 'SauceLabs',
browserName: 'opera'
},
slEdge20: {
base: 'SauceLabs',
browserName: 'microsoftedge',
platform: 'Windows 10',
version: '20.10240'
},
slIE11: {
base: 'SauceLabs',
browserName: 'internet explorer',
Expand All @@ -67,36 +90,31 @@ module.exports = function (config) {
browserName: 'internet explorer',
platform: 'Windows 8',
version: '10'
},
slIE9: {
base: 'SauceLabs',
browserName: 'internet explorer',
platform: 'Windows 7',
version: '9'
}
//slIE9: {
// base: 'SauceLabs',
// browserName: 'internet explorer',
// platform: 'Windows 7',
// version: '9'
//},
// Commented out due to lack of polyfills for SourceMapConsumer
//slIE8: {
// base: 'SauceLabs',
// browserName: 'internet explorer',
// platform: 'Windows XP',
// version: '8'
//}
//},
//slIE7: {
// base: 'SauceLabs',
// browserName: 'internet explorer',
// platform: 'Windows XP',
// version: '7'
//}
//slIE6: {
// base: 'SauceLabs',
// browserName: 'internet explorer',
// platform: 'Windows XP',
// version: '6'
//}
};

config.set({
basePath: '',
frameworks: ['jasmine', 'sinon'],
frameworks: ['jasmine-ajax', 'jasmine'],
files: [
'node_modules/es6-promise/dist/es6-promise.js',
'polyfills.js',
Expand Down
2 changes: 1 addition & 1 deletion karma.conf.js
@@ -1,7 +1,7 @@
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', 'sinon'],
frameworks: ['jasmine-ajax', 'jasmine'],
files: [
'node_modules/es6-promise/dist/es6-promise.js',
'node_modules/stacktrace-gps/dist/stacktrace-gps.min.js',
Expand Down
20 changes: 10 additions & 10 deletions package.json
Expand Up @@ -32,25 +32,25 @@
"gulp": "^3.9.0",
"gulp-concat": "^2.6.0",
"gulp-coveralls": "^0.1.4",
"gulp-jshint": "^1.11.2",
"gulp-jshint": "^1.12.0",
"gulp-sourcemaps": "^1.5.2",
"gulp-uglify": "^1.4.1",
"jasmine-node": "~1.14",
"jasmine-sinon": "^0.4.0",
"gulp-uglify": "^1.5.1",
"jasmine": "^2.3.2",
"jasmine-ajax": "^3.2.0",
"jasmine-core": "^2.3.4",
"json3": "^3.3.2",
"karma": "^0.13.9",
"karma-chrome-launcher": "^0.2.0",
"karma-chrome-launcher": "^0.2.1",
"karma-coverage": "^0.5.2",
"karma-firefox-launcher": "^0.1.6",
"karma-firefox-launcher": "^0.1.7",
"karma-ie-launcher": "^0.2.0",
"karma-jasmine": "^0.1.5",
"karma-jasmine": "^0.3.6",
"karma-jasmine-ajax": "^0.1.13",
"karma-opera-launcher": "^0.3.0",
"karma-phantomjs2-launcher": "^0.3.2",
"karma-safari-launcher": "^0.1.1",
"karma-sauce-launcher": "^0.2.14",
"karma-sinon": "^1.0.4",
"run-sequence": "^1.1.2",
"sinon": "^1.16.1"
"run-sequence": "^1.1.2"
},
"bugs": {
"url": "https://github.com/stacktracejs/stacktrace.js/issues"
Expand Down
8 changes: 8 additions & 0 deletions polyfills.js
@@ -1,3 +1,11 @@
// Polyfill for old browsers
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
if (!Array.isArray) {
Array.isArray = function(arg) {
return Object.prototype.toString.call(arg) === '[object Array]';
};
}

if (typeof Promise === 'undefined') {
ES6Promise.polyfill();
}
Expand Down
58 changes: 26 additions & 32 deletions spec/spec-helper.js
@@ -1,37 +1,31 @@
// Polyfill for old browsers
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
if (!Array.isArray) {
Array.isArray = function(arg) {
return Object.prototype.toString.call(arg) === '[object Array]';
};
}

beforeEach(function() {
this.addMatchers({
toMatchStackFrame: function(expected) {
var actual = this.actual;
var message = '';
if (actual.getFunctionName() !== expected[0]) {
message += 'expected functionName: ' + actual.getFunctionName() + ' to equal ' + expected[0] + '\n';
}
if (Array.isArray(actual.getArgs()) && Array.isArray(expected[1])) {
if (actual.getArgs().join() !== expected[1].join()) {
message += 'expected args: ' + actual.getArgs() + ' to equal ' + expected[1] + '\n';
jasmine.addMatchers({
toMatchStackFrame: function() {
return {
compare: function(actual, expected) {
var message = '';
if (actual.getFunctionName() !== expected[0]) {
message += 'expected functionName: ' + actual.getFunctionName() + ' to equal ' + expected[0] + '\n';
}
if (Array.isArray(actual.getArgs()) && Array.isArray(expected[1])) {
if (actual.getArgs().join() !== expected[1].join()) {
message += 'expected args: ' + actual.getArgs() + ' to equal ' + expected[1] + '\n';
}
} else if (actual.getArgs() !== expected[1]) {
message += 'expected args: ' + actual.getArgs() + ' to equal ' + expected[1] + '\n';
}
if (actual.getFileName() !== expected[2]) {
message += 'expected fileName: ' + actual.getFileName() + ' to equal ' + expected[2] + '\n';
}
if (actual.getLineNumber() !== expected[3]) {
message += 'expected lineNumber: ' + actual.getLineNumber() + ' to equal ' + expected[3] + '\n';
}
if (actual.getColumnNumber() !== expected[4]) {
message += 'expected columnNumber: ' + actual.getColumnNumber() + ' to equal ' + expected[4] + '\n';
}
return {pass: message === '', message: message};
}
} else if (actual.getArgs() !== expected[1]) {
message += 'expected args: ' + actual.getArgs() + ' to equal ' + expected[1] + '\n';
}
if (actual.getFileName() !== expected[2]) {
message += 'expected fileName: ' + actual.getFileName() + ' to equal ' + expected[2] + '\n';
}
if (actual.getLineNumber() !== expected[3]) {
message += 'expected lineNumber: ' + actual.getLineNumber() + ' to equal ' + expected[3] + '\n';
}
if (actual.getColumnNumber() !== expected[4]) {
message += 'expected columnNumber: ' + actual.getColumnNumber() + ' to equal ' + expected[4] + '\n';
}
this.message = function() { return message };
return message === '';
};
}
});
});
Expand Down

0 comments on commit 3dc10e4

Please sign in to comment.