mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-05 01:17:50 +00:00
Fix old V8 JIT bug that has cropped up again.
This commit is contained in:
@@ -1016,6 +1016,7 @@
|
|||||||
|
|
||||||
(function(x) {
|
(function(x) {
|
||||||
var Ctor = function() { this.x = x; },
|
var Ctor = function() { this.x = x; },
|
||||||
|
args = arguments,
|
||||||
object = { '0': x, 'length': x },
|
object = { '0': x, 'length': x },
|
||||||
props = [];
|
props = [];
|
||||||
|
|
||||||
@@ -1029,7 +1030,7 @@
|
|||||||
* @memberOf _.support
|
* @memberOf _.support
|
||||||
* @type boolean
|
* @type boolean
|
||||||
*/
|
*/
|
||||||
support.argsTag = objToString.call(arguments) == argsTag;
|
support.argsTag = objToString.call(args) == argsTag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Detect if `name` or `message` properties of `Error.prototype` are
|
* Detect if `name` or `message` properties of `Error.prototype` are
|
||||||
@@ -1158,7 +1159,7 @@
|
|||||||
* @type boolean
|
* @type boolean
|
||||||
*/
|
*/
|
||||||
try {
|
try {
|
||||||
support.nonEnumArgs = !propertyIsEnumerable.call(arguments, 1);
|
support.nonEnumArgs = !propertyIsEnumerable.call(args, 1);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
support.nonEnumArgs = true;
|
support.nonEnumArgs = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8973,7 +8973,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('`_.' + methodName + '` should work with `arguments` objects (test in IE < 9)', 1, function() {
|
test('`_.' + methodName + '` should work with `arguments` objects (test in IE < 9)', 1, function() {
|
||||||
if (!(isPhantom || isStrict)) {
|
if (!isStrict) {
|
||||||
deepEqual(func(args).sort(), ['0', '1', '2']);
|
deepEqual(func(args).sort(), ['0', '1', '2']);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -8982,7 +8982,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('`_.' + methodName + '` should return keys for custom properties on `arguments` objects', 1, function() {
|
test('`_.' + methodName + '` should return keys for custom properties on `arguments` objects', 1, function() {
|
||||||
if (!(isPhantom || isStrict)) {
|
if (!isStrict) {
|
||||||
args.a = 1;
|
args.a = 1;
|
||||||
deepEqual(func(args).sort(), ['0', '1', '2', 'a']);
|
deepEqual(func(args).sort(), ['0', '1', '2', 'a']);
|
||||||
delete args.a;
|
delete args.a;
|
||||||
@@ -8993,7 +8993,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('`_.' + methodName + '` should ' + (isKeys ? 'not' : '') + ' include inherited properties of `arguments` objects', 1, function() {
|
test('`_.' + methodName + '` should ' + (isKeys ? 'not' : '') + ' include inherited properties of `arguments` objects', 1, function() {
|
||||||
if (!(isPhantom || isStrict)) {
|
if (!isStrict) {
|
||||||
var expected = isKeys ? ['0', '1', '2'] : ['0', '1', '2', 'a'];
|
var expected = isKeys ? ['0', '1', '2'] : ['0', '1', '2', 'a'];
|
||||||
|
|
||||||
objectProto.a = 1;
|
objectProto.a = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user