Add propertyIsEnumerable check to the _.isArguments fallback. [closes #382]

This commit is contained in:
John-David Dalton
2013-10-30 09:24:25 -07:00
parent 6bb89778b2
commit 22aa02895e
2 changed files with 2 additions and 2 deletions

View File

@@ -1857,7 +1857,7 @@
if (!support.argsClass) {
isArguments = function(value) {
return value && typeof value == 'object' && typeof value.length == 'number' &&
hasOwnProperty.call(value, 'callee') || false;
hasOwnProperty.call(value, 'callee') && propertyIsEnumerable.call(value, 'callee') || false;
};
}

View File

@@ -3088,7 +3088,7 @@
strictEqual(_.isArguments(true), false);
strictEqual(_.isArguments(new Date), false);
strictEqual(_.isArguments(_), false);
strictEqual(_.isArguments({ '0': 1, 'length': 1 }), false);
strictEqual(_.isArguments({ '0': 1, 'callee': _.noop, 'length': 1 }), false);
strictEqual(_.isArguments(0), false);
strictEqual(_.isArguments(/x/), false);
strictEqual(_.isArguments('a'), false);