IE 8 doesn't support defineProperty on non-DOM nodes, skip that kindof thing

This commit is contained in:
Gregg Van Hove
2015-10-26 17:41:30 -07:00
parent 77514bbb80
commit ea4c44904d
2 changed files with 10 additions and 1 deletions

View File

@@ -38,6 +38,9 @@ describe("SpyRegistry", function() {
});
it("checks if it can be spied upon", function() {
// IE 8 doesn't support `definePropery` on non-DOM nodes
if (jasmine.getEnv().ieVersion < 9) { return; }
var scope = {};
function myFunc() {

View File

@@ -22,7 +22,13 @@ getJasmineRequireObj().SpyRegistry = function(j$) {
throw new Error(methodName + ' has already been spied upon');
}
var descriptor = Object.getOwnPropertyDescriptor(obj, methodName);
var descriptor = undefined;
try {
descriptor = Object.getOwnPropertyDescriptor(obj, methodName);
} catch(e) {
// IE 8 doesn't support `definePropery` on non-DOM nodes
}
if (descriptor && !(descriptor.writable || descriptor.set)) {
throw new Error(methodName + ' is not declared writable or has no setter');
}