Merge branch 'jasmine-deep-clone-args' of https://github.com/aj-dev/jasmine

- Merges #1424 from @aj-dev
This commit is contained in:
Steve Gravrock
2017-10-23 11:32:58 -07:00
5 changed files with 46 additions and 46 deletions

View File

@@ -1,4 +1,4 @@
getJasmineRequireObj().util = function() {
getJasmineRequireObj().util = function(j$) {
var util = {};
@@ -55,6 +55,23 @@ getJasmineRequireObj().util = function() {
return cloned;
};
util.cloneArgs = function(args) {
var clonedArgs = [];
var argsAsArray = j$.util.argsToArray(args);
for(var i = 0; i < argsAsArray.length; i++) {
var str = Object.prototype.toString.apply(argsAsArray[i]),
primitives = /^\[object (Boolean|String|RegExp|Number)/;
// All falsey values are either primitives, `null`, or `undefined.
if (!argsAsArray[i] || str.match(primitives)) {
clonedArgs.push(argsAsArray[i]);
} else {
clonedArgs.push(j$.util.clone(argsAsArray[i]));
}
}
return clonedArgs;
};
util.getPropertyDescriptor = function(obj, methodName) {
var descriptor,
proto = obj;