forked from stacktracejs/error-stack-parser
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathspec-helper.js
More file actions
42 lines (38 loc) · 1.9 KB
/
spec-helper.js
File metadata and controls
42 lines (38 loc) · 1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// 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() {
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};
}
};
}
});
});