mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-29 06:27:49 +00:00
Remove unnecessary tests.
This commit is contained in:
@@ -56,10 +56,8 @@
|
||||
fnToString = funcProto.toString,
|
||||
nativeString = fnToString.call(objectProto.toString),
|
||||
noop = function() {},
|
||||
parseInt = window.parseInt,
|
||||
propertyIsEnumerable = objectProto.propertyIsEnumerable,
|
||||
reToString = /toString/g,
|
||||
whitespace = ' \t\x0B\f\xA0\ufeff\n\r\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000';
|
||||
reToString = /toString/g;
|
||||
|
||||
function constant(value) {
|
||||
return function() {
|
||||
@@ -87,12 +85,6 @@
|
||||
setProperty(Array, '_isArray', Array.isArray);
|
||||
setProperty(Array, 'isArray', noop);
|
||||
|
||||
setProperty(Date, '_now', Date.now);
|
||||
setProperty(Date, 'now', noop);
|
||||
|
||||
setProperty(Object, '_getPrototypeOf', Object.getPrototypeOf);
|
||||
setProperty(Object, 'getPrototypeOf', noop);
|
||||
|
||||
setProperty(Object, '_keys', Object.keys);
|
||||
setProperty(Object, 'keys', noop);
|
||||
|
||||
@@ -107,70 +99,12 @@
|
||||
return propertyIsEnumerable.call(this, key);
|
||||
});
|
||||
|
||||
setProperty(Number, '_isFinite', Number.isFinite);
|
||||
setProperty(Number, 'isFinite', noop);
|
||||
|
||||
setProperty(window, '_ArrayBuffer', window.ArrayBuffer);
|
||||
if (window.ArrayBuffer && window.Uint8Array) {
|
||||
ArrayBuffer = (function(_ArrayBuffer) {
|
||||
function ArrayBuffer(byteLength) {
|
||||
var buffer = new _ArrayBuffer(byteLength);
|
||||
if (!byteLength) {
|
||||
setProperty(buffer, 'slice', buffer.slice ? null : bufferSlice);
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
function bufferSlice() {
|
||||
var newBuffer = new _ArrayBuffer(this.byteLength),
|
||||
view = new Uint8Array(newBuffer);
|
||||
|
||||
view.set(new Uint8Array(this));
|
||||
return newBuffer;
|
||||
}
|
||||
setProperty(ArrayBuffer, 'toString', createToString('ArrayBuffer'));
|
||||
setProperty(bufferSlice, 'toString', createToString('slice'));
|
||||
return ArrayBuffer;
|
||||
}(_ArrayBuffer));
|
||||
}
|
||||
if (!window.Float64Array && window.Uint8Array) {
|
||||
Float64Array = (function() {
|
||||
function Float64Array(buffer, byteOffset, length) {
|
||||
return arguments.length == 1
|
||||
? new Uint8Array(buffer)
|
||||
: new Uint8Array(buffer, byteOffset || 0, length || buffer.byteLength);
|
||||
}
|
||||
setProperty(Float64Array, 'BYTES_PER_ELEMENT', 8);
|
||||
setProperty(Float64Array, 'toString', createToString('Float64Array'));
|
||||
return Float64Array;
|
||||
}());
|
||||
}
|
||||
setProperty(window, '_Set', window.Set);
|
||||
setProperty(window, 'Set', noop);
|
||||
|
||||
setProperty(window, '_WeakMap', window.WeakMap);
|
||||
setProperty(window, 'WeakMap', noop);
|
||||
|
||||
setProperty(window, '_parseInt', parseInt);
|
||||
setProperty(window, 'parseInt', (function() {
|
||||
var checkStr = whitespace + '08',
|
||||
isFaked = parseInt(checkStr) != 8,
|
||||
reHexPrefix = /^0[xX]/,
|
||||
reTrim = RegExp('^[' + whitespace + ']+|[' + whitespace + ']+$');
|
||||
|
||||
return function(value, radix) {
|
||||
if (value == checkStr && !isFaked) {
|
||||
isFaked = true;
|
||||
return 0;
|
||||
}
|
||||
value = String(value == null ? '' : value).replace(reTrim, '');
|
||||
return parseInt(value, +radix || (reHexPrefix.test(value) ? 16 : 10));
|
||||
};
|
||||
}()));
|
||||
|
||||
// Fake lack of DOM support.
|
||||
setProperty(document, '_createDocumentFragment', document.createDocumentFragment);
|
||||
document.createDocumentFragment = noop;
|
||||
|
||||
// Fake `WinRTError`.
|
||||
setProperty(window, 'WinRTError', Error);
|
||||
|
||||
@@ -190,31 +124,11 @@
|
||||
} else {
|
||||
delete Array.isArray;
|
||||
}
|
||||
if (Date._now) {
|
||||
setProperty(Date, 'now', Date._now);
|
||||
} else {
|
||||
delete Date.now;
|
||||
}
|
||||
if (Object._getPrototypeOf) {
|
||||
setProperty(Object, 'getPrototypeOf', Object._getPrototypeOf);
|
||||
} else {
|
||||
delete Object.getPrototypeOf;
|
||||
}
|
||||
if (Object._keys) {
|
||||
setProperty(Object, 'keys', Object._keys);
|
||||
} else {
|
||||
delete Object.keys;
|
||||
}
|
||||
if (Number._isFinite) {
|
||||
setProperty(Number, 'isFinite', Number._isFinite);
|
||||
} else {
|
||||
delete Number.isFinite;
|
||||
}
|
||||
if (window._ArrayBuffer) {
|
||||
ArrayBuffer = _ArrayBuffer;
|
||||
}
|
||||
setProperty(window, '_ArrayBuffer', undefined);
|
||||
|
||||
if (window._Set) {
|
||||
Set = _Set;
|
||||
}
|
||||
@@ -225,12 +139,6 @@
|
||||
}
|
||||
setProperty(window, '_WeakMap', undefined);
|
||||
|
||||
setProperty(window, 'parseInt', window._parseInt);
|
||||
setProperty(window, '_parseInt', undefined);
|
||||
|
||||
document.createDocumentFragment = document._createDocumentFragment;
|
||||
setProperty(document, '_createDocumentFragment', undefined);
|
||||
|
||||
setProperty(window, 'WinRTError', undefined);
|
||||
|
||||
setProperty(window, 'exports', undefined);
|
||||
@@ -240,8 +148,6 @@
|
||||
setProperty(objectProto, 'propertyIsEnumerable', objectProto._propertyIsEnumerable);
|
||||
|
||||
delete Array._isArray;
|
||||
delete Date._now;
|
||||
delete Object._getPrototypeOf;
|
||||
delete Object._keys;
|
||||
delete funcProto._method;
|
||||
delete objectProto._propertyIsEnumerable;
|
||||
|
||||
152
test/test.js
152
test/test.js
@@ -419,12 +419,6 @@
|
||||
var _isArray = Array.isArray;
|
||||
setProperty(Array, 'isArray', _.noop);
|
||||
|
||||
var _now = Date.now;
|
||||
setProperty(Date, 'now', _.noop);
|
||||
|
||||
var _getPrototypeOf = Object.getPrototypeOf;
|
||||
setProperty(Object, 'getPrototypeOf', _.noop);
|
||||
|
||||
var _keys = Object.keys;
|
||||
setProperty(Object, 'keys', _.noop);
|
||||
|
||||
@@ -436,73 +430,12 @@
|
||||
return _propertyIsEnumerable.call(this, key);
|
||||
});
|
||||
|
||||
var _isFinite = Number.isFinite;
|
||||
setProperty(Number, 'isFinite', _.noop);
|
||||
|
||||
var _ArrayBuffer = ArrayBuffer;
|
||||
setProperty(root, 'ArrayBuffer', (function() {
|
||||
function ArrayBuffer(byteLength) {
|
||||
var buffer = new _ArrayBuffer(byteLength);
|
||||
if (!byteLength) {
|
||||
setProperty(buffer, 'slice', buffer.slice ? null : bufferSlice);
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
function bufferSlice() {
|
||||
var newBuffer = new _ArrayBuffer(this.byteLength),
|
||||
view = new Uint8Array(newBuffer);
|
||||
|
||||
view.set(new Uint8Array(this));
|
||||
return newBuffer;
|
||||
}
|
||||
setProperty(ArrayBuffer, 'toString', createToString('ArrayBuffer'));
|
||||
setProperty(bufferSlice, 'toString', createToString('slice'));
|
||||
return ArrayBuffer;
|
||||
}()));
|
||||
|
||||
var _Float64Array = root.Float64Array;
|
||||
if (!_Float64Array) {
|
||||
setProperty(root, 'Float64Array', (function() {
|
||||
function Float64Array(buffer, byteOffset, length) {
|
||||
return arguments.length == 1
|
||||
? new Uint8Array(buffer)
|
||||
: new Uint8Array(buffer, byteOffset || 0, length || buffer.byteLength);
|
||||
}
|
||||
setProperty(Float64Array, 'BYTES_PER_ELEMENT', 8);
|
||||
setProperty(Float64Array, 'toString', createToString('Float64Array'));
|
||||
return Float64Array;
|
||||
}()));
|
||||
}
|
||||
var _parseInt = parseInt;
|
||||
setProperty(root, 'parseInt', (function() {
|
||||
var checkStr = whitespace + '08',
|
||||
isFaked = _parseInt(checkStr) != 8,
|
||||
reHexPrefix = /^0[xX]/,
|
||||
reTrim = RegExp('^[' + whitespace + ']+|[' + whitespace + ']+$');
|
||||
|
||||
return function(value, radix) {
|
||||
if (value == checkStr && !isFaked) {
|
||||
isFaked = true;
|
||||
return 0;
|
||||
}
|
||||
value = String(value == null ? '' : value).replace(reTrim, '');
|
||||
return _parseInt(value, +radix || (reHexPrefix.test(value) ? 16 : 10));
|
||||
};
|
||||
}()));
|
||||
|
||||
var _Set = root.Set;
|
||||
setProperty(root, 'Set', _.noop);
|
||||
|
||||
var _WeakMap = root.WeakMap;
|
||||
setProperty(root, 'WeakMap', _.noop);
|
||||
|
||||
// Fake the DOM.
|
||||
setProperty(root, 'window', {});
|
||||
setProperty(root.window, 'document', {});
|
||||
setProperty(root.window.document, 'createDocumentFragment', function() {
|
||||
return { 'nodeType': 11 };
|
||||
});
|
||||
|
||||
// Fake `WinRTError`.
|
||||
setProperty(root, 'WinRTError', Error);
|
||||
|
||||
@@ -514,26 +447,10 @@
|
||||
|
||||
// Restore built-in methods.
|
||||
setProperty(Array, 'isArray', _isArray);
|
||||
setProperty(Date, 'now', _now);
|
||||
setProperty(Object, 'getPrototypeOf', _getPrototypeOf);
|
||||
setProperty(Object, 'keys', _keys);
|
||||
|
||||
setProperty(objectProto, 'propertyIsEnumerable', _propertyIsEnumerable);
|
||||
setProperty(root, 'parseInt', _parseInt);
|
||||
|
||||
if (_isFinite) {
|
||||
setProperty(Number, 'isFinite', _isFinite);
|
||||
} else {
|
||||
delete Number.isFinite;
|
||||
}
|
||||
if (_ArrayBuffer) {
|
||||
setProperty(root, 'ArrayBuffer', _ArrayBuffer);
|
||||
} else {
|
||||
delete root.ArrayBuffer;
|
||||
}
|
||||
if (!_Float64Array) {
|
||||
delete root.Float64Array;
|
||||
}
|
||||
if (_Set) {
|
||||
setProperty(root, 'Set', Set);
|
||||
} else {
|
||||
@@ -545,7 +462,6 @@
|
||||
delete root.WeakMap;
|
||||
}
|
||||
delete root.WinRTError;
|
||||
delete root.window;
|
||||
delete funcProto._method;
|
||||
}());
|
||||
|
||||
@@ -710,7 +626,7 @@
|
||||
}
|
||||
});
|
||||
|
||||
test('should avoid overwritten native methods', 12, function() {
|
||||
test('should avoid overwritten native methods', 6, function() {
|
||||
function Foo() {}
|
||||
|
||||
function message(lodashMethod, nativeMethod) {
|
||||
@@ -729,20 +645,6 @@
|
||||
}
|
||||
deepEqual(actual, [true, false], message('_.isArray', 'Array.isArray'));
|
||||
|
||||
try {
|
||||
actual = lodashBizarro.now();
|
||||
} catch(e) {
|
||||
actual = null;
|
||||
}
|
||||
ok(typeof actual == 'number', message('_.now', 'Date.now'));
|
||||
|
||||
try {
|
||||
actual = [lodashBizarro.isPlainObject({}), lodashBizarro.isPlainObject([])];
|
||||
} catch(e) {
|
||||
actual = null;
|
||||
}
|
||||
deepEqual(actual, [true, false], message('_.isPlainObject', 'Object.getPrototypeOf'));
|
||||
|
||||
try {
|
||||
actual = [lodashBizarro.keys(object), lodashBizarro.keys()];
|
||||
} catch(e) {
|
||||
@@ -750,13 +652,6 @@
|
||||
}
|
||||
deepEqual(actual, [['a'], []], message('_.keys', 'Object.keys'));
|
||||
|
||||
try {
|
||||
actual = [lodashBizarro.isFinite(1), lodashBizarro.isFinite(NaN)];
|
||||
} catch(e) {
|
||||
actual = null;
|
||||
}
|
||||
deepEqual(actual, [true, false], message('_.isFinite', 'Number.isFinite'));
|
||||
|
||||
try {
|
||||
actual = [
|
||||
lodashBizarro.difference([object, otherObject], largeArray),
|
||||
@@ -768,27 +663,7 @@
|
||||
}
|
||||
deepEqual(actual, [[otherObject], [object], [object]], message('_.difference`, `_.intersection`, and `_.uniq', 'Set'));
|
||||
|
||||
try {
|
||||
actual = _.map(['6', '08', '10'], lodashBizarro.parseInt);
|
||||
} catch(e) {
|
||||
actual = null;
|
||||
}
|
||||
deepEqual(actual, [6, 8, 10], '`_.parseInt` should work in its bizarro form');
|
||||
|
||||
// Avoid comparing buffers with `deepEqual` in Rhino because it errors.
|
||||
if (ArrayBuffer && !isRhino) {
|
||||
try {
|
||||
var buffer = new ArrayBuffer(10);
|
||||
actual = lodashBizarro.clone(buffer);
|
||||
} catch(e) {
|
||||
actual = null;
|
||||
}
|
||||
deepEqual(actual, buffer, message('_.clone', 'ArrayBuffer#slice'));
|
||||
notStrictEqual(actual, buffer, message('_.clone', 'ArrayBuffer#slice'));
|
||||
}
|
||||
else {
|
||||
skipTest(2);
|
||||
}
|
||||
if (ArrayBuffer && Uint8Array) {
|
||||
try {
|
||||
var array = new Uint8Array(new ArrayBuffer(10));
|
||||
@@ -805,7 +680,7 @@
|
||||
}
|
||||
}
|
||||
else {
|
||||
skipTest(12);
|
||||
skipTest(6);
|
||||
}
|
||||
});
|
||||
}());
|
||||
@@ -15048,19 +14923,9 @@
|
||||
|
||||
test('should not contain minified properties (test production builds)', 1, function() {
|
||||
var props = [
|
||||
'argsTag',
|
||||
'argsObject',
|
||||
'dom',
|
||||
'enumErrorProps',
|
||||
'enumPrototypes',
|
||||
'fastBind',
|
||||
'funcDecomp',
|
||||
'funcNames',
|
||||
'hostObject',
|
||||
'nodeTag',
|
||||
'nonEnumArgs',
|
||||
'nonEnumShadows',
|
||||
'nonEnumStrings',
|
||||
'ownLast',
|
||||
'spliceObjects',
|
||||
'unindexedChars'
|
||||
@@ -17818,7 +17683,7 @@
|
||||
var args = arguments,
|
||||
array = [1, 2, 3, 4, 5, 6];
|
||||
|
||||
test('should work with `arguments` objects', 29, function() {
|
||||
test('should work with `arguments` objects', 27, function() {
|
||||
function message(methodName) {
|
||||
return '`_.' + methodName + '` should work with `arguments` objects';
|
||||
}
|
||||
@@ -17852,17 +17717,6 @@
|
||||
deepEqual(_.uniq(args), [1, null, [3], 5], message('uniq'));
|
||||
deepEqual(_.without(args, null), [1, [3], 5], message('without'));
|
||||
deepEqual(_.zip(args, args), [[1, 1], [null, null], [[3], [3]], [null, null], [5, 5]], message('zip'));
|
||||
|
||||
if (_.support.argsTag && _.support.argsObject && !_.support.nonEnumArgs) {
|
||||
_.pull(args, null);
|
||||
deepEqual([args[0], args[1], args[2]], [1, [3], 5], message('pull'));
|
||||
|
||||
_.remove(args, function(value) { return typeof value == 'number'; });
|
||||
ok(args.length === 1 && _.isEqual(args[0], [3]), message('remove'));
|
||||
}
|
||||
else {
|
||||
skipTest(2);
|
||||
}
|
||||
});
|
||||
|
||||
test('should accept falsey primary arguments', 4, function() {
|
||||
|
||||
Reference in New Issue
Block a user