This commit is contained in:
Greg Cobb and JR Boyens
2013-07-19 17:34:04 -07:00
parent a6953df28c
commit 1b0b4f22a0
3 changed files with 25 additions and 14 deletions

View File

@@ -18,11 +18,11 @@ matrix:
- env: JASMINE_BROWSER=phantomjs
include:
- env:
- JASMINE_BROWSER=firefox
- SAUCE_PLATFORM=Linux
- JASMINE_BROWSER="firefox"
- SAUCE_PLATFORM="Linux"
- SAUCE_VERSION=''
- env:
- JASMINE_BROWSER=safari
- JASMINE_BROWSER="safari"
- SAUCE_PLATFORM="OS X 10.8"
- SAUCE_VERSION=''
- env:
@@ -38,9 +38,9 @@ matrix:
- SAUCE_PLATFORM="Windows 7"
- SAUCE_VERSION=8
- env:
- JASMINE_BROWSER=chrome
- SAUCE_PLATFORM=Linux
- JASMINE_BROWSER="chrome"
- SAUCE_PLATFORM="Linux"
- SAUCE_VERSION=''
- env:
- JASMINE_BROWSER=phantomjs
- JASMINE_BROWSER="phantomjs"
- USE_SAUCE=false

View File

@@ -175,6 +175,7 @@ describe("toThrowError", function() {
result = matcher.compare(fn, CustomError);
expect(result.pass).toBe(true);
debugger
expect(result.message).toEqual("Expected function not to throw CustomError.");
});

View File

@@ -34,28 +34,38 @@ getJasmineRequireObj().toThrowError = function(j$) {
}
if (errorType && message) {
var name = errorType.name || errorType.toString().match(/^\s*function\s*(\w*)\s*\(/)[1];
var constructorName = thrown.constructor.name || thrown.constructor.toString().match(/^\s*function\s*(\w*)\s*\(/)[1];
if (thrown.constructor == errorType && util.equals(thrown.message, message)) {
return pass("Expected function not to throw " + errorType.name + " with message \"" + message + "\".");
return pass("Expected function not to throw " + name + " with message \"" + message + "\".");
} else {
return fail("Expected function to throw " + errorType.name + " with message \"" + message +
"\", but it threw " + thrown.constructor.name + " with message \"" + thrown.message + "\".");
return fail("Expected function to throw " + name + " with message \"" + message +
"\", but it threw " + constructorName + " with message \"" + thrown.message + "\".");
}
}
if (errorType && regexp) {
var name = errorType.name || errorType.toString().match(/^\s*function\s*(\w*)\s*\(/)[1];
var constructorName = thrown.constructor.name || thrown.constructor.toString().match(/^\s*function\s*(\w*)\s*\(/)[1];
if (thrown.constructor == errorType && regexp.test(thrown.message)) {
return pass("Expected function not to throw " + errorType.name + " with message matching " + regexp + ".");
return pass("Expected function not to throw " + name + " with message matching " + regexp + ".");
} else {
return fail("Expected function to throw " + errorType.name + " with message matching " + regexp +
", but it threw " + thrown.constructor.name + " with message \"" + thrown.message + "\".");
return fail("Expected function to throw " + name + " with message matching " + regexp +
", but it threw " + constructorName + " with message \"" + thrown.message + "\".");
}
}
if (errorType) {
var name = errorType.name || errorType.toString().match(/^\s*function\s*(\w*)\s*\(/)[1];
var constructorName = thrown.constructor.name || thrown.constructor.toString().match(/^\s*function\s*(\w*)\s*\(/)[1];
if (thrown.constructor == errorType) {
return pass("Expected function not to throw " + errorType.name + ".");
return pass("Expected function not to throw " + name + ".");
} else {
return fail("Expected function to throw " + errorType.name + ", but it threw " + thrown.constructor.name + ".");
return fail("Expected function to throw " + name + ", but it threw " + constructorName + ".");
}
}