mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-04 08:57:49 +00:00
Add bizarro test for _.isBuffer.
This commit is contained in:
@@ -82,6 +82,12 @@
|
|||||||
funcProto._method = noop;
|
funcProto._method = noop;
|
||||||
|
|
||||||
// Set bad shims.
|
// Set bad shims.
|
||||||
|
setProperty(Object, '_create', Object.create);
|
||||||
|
setProperty(Object, 'create', noop);
|
||||||
|
|
||||||
|
setProperty(Object, '_getOwnPropertySymbols', Object.getOwnPropertySymbols);
|
||||||
|
setProperty(Object, 'getOwnPropertySymbols', undefined);
|
||||||
|
|
||||||
setProperty(objectProto, '_propertyIsEnumerable', propertyIsEnumerable);
|
setProperty(objectProto, '_propertyIsEnumerable', propertyIsEnumerable);
|
||||||
setProperty(objectProto, 'propertyIsEnumerable', function(key) {
|
setProperty(objectProto, 'propertyIsEnumerable', function(key) {
|
||||||
return !(key == 'valueOf' && this && this.valueOf === 1) && _propertyIsEnumerable.call(this, key);
|
return !(key == 'valueOf' && this && this.valueOf === 1) && _propertyIsEnumerable.call(this, key);
|
||||||
@@ -103,12 +109,6 @@
|
|||||||
|
|
||||||
setProperty(Map, 'toString', createToString('Map'));
|
setProperty(Map, 'toString', createToString('Map'));
|
||||||
}
|
}
|
||||||
setProperty(Object, '_create', Object.create);
|
|
||||||
setProperty(Object, 'create', noop);
|
|
||||||
|
|
||||||
setProperty(Object, '_getOwnPropertySymbols', Object.getOwnPropertySymbols);
|
|
||||||
setProperty(Object, 'getOwnPropertySymbols', undefined);
|
|
||||||
|
|
||||||
setProperty(window, '_Set', window.Set);
|
setProperty(window, '_Set', window.Set);
|
||||||
setProperty(window, 'Set', noop);
|
setProperty(window, 'Set', noop);
|
||||||
|
|
||||||
@@ -131,6 +131,8 @@
|
|||||||
var funcProto = Function.prototype,
|
var funcProto = Function.prototype,
|
||||||
objectProto = Object.prototype;
|
objectProto = Object.prototype;
|
||||||
|
|
||||||
|
setProperty(objectProto, 'propertyIsEnumerable', objectProto._propertyIsEnumerable);
|
||||||
|
|
||||||
if (Object._create) {
|
if (Object._create) {
|
||||||
Object.create = Object._create;
|
Object.create = Object._create;
|
||||||
} else {
|
} else {
|
||||||
@@ -159,8 +161,6 @@
|
|||||||
} else {
|
} else {
|
||||||
setProperty(window, 'WeakMap', undefined);
|
setProperty(window, 'WeakMap', undefined);
|
||||||
}
|
}
|
||||||
setProperty(objectProto, 'propertyIsEnumerable', objectProto._propertyIsEnumerable);
|
|
||||||
|
|
||||||
setProperty(window, '_Map', undefined);
|
setProperty(window, '_Map', undefined);
|
||||||
setProperty(window, '_Set', undefined);
|
setProperty(window, '_Set', undefined);
|
||||||
setProperty(window, '_Symbol', undefined);
|
setProperty(window, '_Symbol', undefined);
|
||||||
|
|||||||
31
test/test.js
31
test/test.js
@@ -452,6 +452,11 @@
|
|||||||
funcProto._method = noop;
|
funcProto._method = noop;
|
||||||
|
|
||||||
// Set bad shims.
|
// Set bad shims.
|
||||||
|
setProperty(Object, 'create', noop);
|
||||||
|
|
||||||
|
var _getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
||||||
|
setProperty(Object, 'getOwnPropertySymbols', undefined);
|
||||||
|
|
||||||
var _propertyIsEnumerable = objectProto.propertyIsEnumerable;
|
var _propertyIsEnumerable = objectProto.propertyIsEnumerable;
|
||||||
setProperty(objectProto, 'propertyIsEnumerable', function(key) {
|
setProperty(objectProto, 'propertyIsEnumerable', function(key) {
|
||||||
return !(key == 'valueOf' && this && this.valueOf === 1) && _propertyIsEnumerable.call(this, key);
|
return !(key == 'valueOf' && this && this.valueOf === 1) && _propertyIsEnumerable.call(this, key);
|
||||||
@@ -472,11 +477,7 @@
|
|||||||
|
|
||||||
setProperty(root.Map, 'toString', createToString('Map'));
|
setProperty(root.Map, 'toString', createToString('Map'));
|
||||||
}
|
}
|
||||||
setProperty(Object, 'create', noop);
|
setProperty(root, 'Buffer', undefined);
|
||||||
|
|
||||||
var _getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
|
||||||
setProperty(Object, 'getOwnPropertySymbols', undefined);
|
|
||||||
|
|
||||||
setProperty(root, 'Set', noop);
|
setProperty(root, 'Set', noop);
|
||||||
setProperty(root, 'Symbol', undefined);
|
setProperty(root, 'Symbol', undefined);
|
||||||
setProperty(root, 'WeakMap', noop);
|
setProperty(root, 'WeakMap', noop);
|
||||||
@@ -492,6 +493,10 @@
|
|||||||
root._ = oldDash;
|
root._ = oldDash;
|
||||||
|
|
||||||
// Restore built-in methods.
|
// Restore built-in methods.
|
||||||
|
setProperty(Object, 'create', create);
|
||||||
|
setProperty(objectProto, 'propertyIsEnumerable', _propertyIsEnumerable);
|
||||||
|
setProperty(root, 'Buffer', Buffer);
|
||||||
|
|
||||||
if (_getOwnPropertySymbols) {
|
if (_getOwnPropertySymbols) {
|
||||||
Object.getOwnPropertySymbols = _getOwnPropertySymbols;
|
Object.getOwnPropertySymbols = _getOwnPropertySymbols;
|
||||||
} else {
|
} else {
|
||||||
@@ -517,9 +522,6 @@
|
|||||||
} else {
|
} else {
|
||||||
delete root.WeakMap;
|
delete root.WeakMap;
|
||||||
}
|
}
|
||||||
setProperty(objectProto, 'propertyIsEnumerable', _propertyIsEnumerable);
|
|
||||||
setProperty(Object, 'create', create);
|
|
||||||
|
|
||||||
delete root.WinRTError;
|
delete root.WinRTError;
|
||||||
delete funcProto._method;
|
delete funcProto._method;
|
||||||
}());
|
}());
|
||||||
@@ -723,7 +725,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
QUnit.test('should avoid overwritten native methods', function(assert) {
|
QUnit.test('should avoid non-native built-ins', function(assert) {
|
||||||
assert.expect(6);
|
assert.expect(6);
|
||||||
|
|
||||||
function message(lodashMethod, nativeMethod) {
|
function message(lodashMethod, nativeMethod) {
|
||||||
@@ -8111,6 +8113,17 @@
|
|||||||
assert.strictEqual(_.isBuffer('a'), false);
|
assert.strictEqual(_.isBuffer('a'), false);
|
||||||
assert.strictEqual(_.isBuffer(symbol), false);
|
assert.strictEqual(_.isBuffer(symbol), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
QUnit.test('should return `false` if `Buffer` is not defined', function(assert) {
|
||||||
|
assert.expect(1);
|
||||||
|
|
||||||
|
if (Buffer && lodashBizarro) {
|
||||||
|
assert.strictEqual(lodashBizarro.isBuffer(new Buffer(2)), false);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
skipTest(assert);
|
||||||
|
}
|
||||||
|
});
|
||||||
}(1, 2, 3));
|
}(1, 2, 3));
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|||||||
Reference in New Issue
Block a user