mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-31 07:17:50 +00:00
Add bizarro test for _.isBuffer.
This commit is contained in:
@@ -82,6 +82,12 @@
|
||||
funcProto._method = noop;
|
||||
|
||||
// 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', function(key) {
|
||||
return !(key == 'valueOf' && this && this.valueOf === 1) && _propertyIsEnumerable.call(this, key);
|
||||
@@ -103,12 +109,6 @@
|
||||
|
||||
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', noop);
|
||||
|
||||
@@ -131,6 +131,8 @@
|
||||
var funcProto = Function.prototype,
|
||||
objectProto = Object.prototype;
|
||||
|
||||
setProperty(objectProto, 'propertyIsEnumerable', objectProto._propertyIsEnumerable);
|
||||
|
||||
if (Object._create) {
|
||||
Object.create = Object._create;
|
||||
} else {
|
||||
@@ -159,8 +161,6 @@
|
||||
} else {
|
||||
setProperty(window, 'WeakMap', undefined);
|
||||
}
|
||||
setProperty(objectProto, 'propertyIsEnumerable', objectProto._propertyIsEnumerable);
|
||||
|
||||
setProperty(window, '_Map', undefined);
|
||||
setProperty(window, '_Set', undefined);
|
||||
setProperty(window, '_Symbol', undefined);
|
||||
|
||||
31
test/test.js
31
test/test.js
@@ -452,6 +452,11 @@
|
||||
funcProto._method = noop;
|
||||
|
||||
// Set bad shims.
|
||||
setProperty(Object, 'create', noop);
|
||||
|
||||
var _getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
||||
setProperty(Object, 'getOwnPropertySymbols', undefined);
|
||||
|
||||
var _propertyIsEnumerable = objectProto.propertyIsEnumerable;
|
||||
setProperty(objectProto, 'propertyIsEnumerable', function(key) {
|
||||
return !(key == 'valueOf' && this && this.valueOf === 1) && _propertyIsEnumerable.call(this, key);
|
||||
@@ -472,11 +477,7 @@
|
||||
|
||||
setProperty(root.Map, 'toString', createToString('Map'));
|
||||
}
|
||||
setProperty(Object, 'create', noop);
|
||||
|
||||
var _getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
||||
setProperty(Object, 'getOwnPropertySymbols', undefined);
|
||||
|
||||
setProperty(root, 'Buffer', undefined);
|
||||
setProperty(root, 'Set', noop);
|
||||
setProperty(root, 'Symbol', undefined);
|
||||
setProperty(root, 'WeakMap', noop);
|
||||
@@ -492,6 +493,10 @@
|
||||
root._ = oldDash;
|
||||
|
||||
// Restore built-in methods.
|
||||
setProperty(Object, 'create', create);
|
||||
setProperty(objectProto, 'propertyIsEnumerable', _propertyIsEnumerable);
|
||||
setProperty(root, 'Buffer', Buffer);
|
||||
|
||||
if (_getOwnPropertySymbols) {
|
||||
Object.getOwnPropertySymbols = _getOwnPropertySymbols;
|
||||
} else {
|
||||
@@ -517,9 +522,6 @@
|
||||
} else {
|
||||
delete root.WeakMap;
|
||||
}
|
||||
setProperty(objectProto, 'propertyIsEnumerable', _propertyIsEnumerable);
|
||||
setProperty(Object, 'create', create);
|
||||
|
||||
delete root.WinRTError;
|
||||
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);
|
||||
|
||||
function message(lodashMethod, nativeMethod) {
|
||||
@@ -8111,6 +8113,17 @@
|
||||
assert.strictEqual(_.isBuffer('a'), 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));
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
Reference in New Issue
Block a user