mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-07 10:07:48 +00:00
Remove unnecessary tests.
This commit is contained in:
@@ -56,10 +56,8 @@
|
|||||||
fnToString = funcProto.toString,
|
fnToString = funcProto.toString,
|
||||||
nativeString = fnToString.call(objectProto.toString),
|
nativeString = fnToString.call(objectProto.toString),
|
||||||
noop = function() {},
|
noop = function() {},
|
||||||
parseInt = window.parseInt,
|
|
||||||
propertyIsEnumerable = objectProto.propertyIsEnumerable,
|
propertyIsEnumerable = objectProto.propertyIsEnumerable,
|
||||||
reToString = /toString/g,
|
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';
|
|
||||||
|
|
||||||
function constant(value) {
|
function constant(value) {
|
||||||
return function() {
|
return function() {
|
||||||
@@ -87,12 +85,6 @@
|
|||||||
setProperty(Array, '_isArray', Array.isArray);
|
setProperty(Array, '_isArray', Array.isArray);
|
||||||
setProperty(Array, 'isArray', noop);
|
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', Object.keys);
|
||||||
setProperty(Object, 'keys', noop);
|
setProperty(Object, 'keys', noop);
|
||||||
|
|
||||||
@@ -107,70 +99,12 @@
|
|||||||
return propertyIsEnumerable.call(this, key);
|
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', window.Set);
|
||||||
setProperty(window, 'Set', noop);
|
setProperty(window, 'Set', noop);
|
||||||
|
|
||||||
setProperty(window, '_WeakMap', window.WeakMap);
|
setProperty(window, '_WeakMap', window.WeakMap);
|
||||||
setProperty(window, 'WeakMap', noop);
|
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`.
|
// Fake `WinRTError`.
|
||||||
setProperty(window, 'WinRTError', Error);
|
setProperty(window, 'WinRTError', Error);
|
||||||
|
|
||||||
@@ -190,31 +124,11 @@
|
|||||||
} else {
|
} else {
|
||||||
delete Array.isArray;
|
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) {
|
if (Object._keys) {
|
||||||
setProperty(Object, 'keys', Object._keys);
|
setProperty(Object, 'keys', Object._keys);
|
||||||
} else {
|
} else {
|
||||||
delete Object.keys;
|
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) {
|
if (window._Set) {
|
||||||
Set = _Set;
|
Set = _Set;
|
||||||
}
|
}
|
||||||
@@ -225,12 +139,6 @@
|
|||||||
}
|
}
|
||||||
setProperty(window, '_WeakMap', undefined);
|
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, 'WinRTError', undefined);
|
||||||
|
|
||||||
setProperty(window, 'exports', undefined);
|
setProperty(window, 'exports', undefined);
|
||||||
@@ -240,8 +148,6 @@
|
|||||||
setProperty(objectProto, 'propertyIsEnumerable', objectProto._propertyIsEnumerable);
|
setProperty(objectProto, 'propertyIsEnumerable', objectProto._propertyIsEnumerable);
|
||||||
|
|
||||||
delete Array._isArray;
|
delete Array._isArray;
|
||||||
delete Date._now;
|
|
||||||
delete Object._getPrototypeOf;
|
|
||||||
delete Object._keys;
|
delete Object._keys;
|
||||||
delete funcProto._method;
|
delete funcProto._method;
|
||||||
delete objectProto._propertyIsEnumerable;
|
delete objectProto._propertyIsEnumerable;
|
||||||
|
|||||||
152
test/test.js
152
test/test.js
@@ -419,12 +419,6 @@
|
|||||||
var _isArray = Array.isArray;
|
var _isArray = Array.isArray;
|
||||||
setProperty(Array, 'isArray', _.noop);
|
setProperty(Array, 'isArray', _.noop);
|
||||||
|
|
||||||
var _now = Date.now;
|
|
||||||
setProperty(Date, 'now', _.noop);
|
|
||||||
|
|
||||||
var _getPrototypeOf = Object.getPrototypeOf;
|
|
||||||
setProperty(Object, 'getPrototypeOf', _.noop);
|
|
||||||
|
|
||||||
var _keys = Object.keys;
|
var _keys = Object.keys;
|
||||||
setProperty(Object, 'keys', _.noop);
|
setProperty(Object, 'keys', _.noop);
|
||||||
|
|
||||||
@@ -436,73 +430,12 @@
|
|||||||
return _propertyIsEnumerable.call(this, key);
|
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;
|
var _Set = root.Set;
|
||||||
setProperty(root, 'Set', _.noop);
|
setProperty(root, 'Set', _.noop);
|
||||||
|
|
||||||
var _WeakMap = root.WeakMap;
|
var _WeakMap = root.WeakMap;
|
||||||
setProperty(root, 'WeakMap', _.noop);
|
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`.
|
// Fake `WinRTError`.
|
||||||
setProperty(root, 'WinRTError', Error);
|
setProperty(root, 'WinRTError', Error);
|
||||||
|
|
||||||
@@ -514,26 +447,10 @@
|
|||||||
|
|
||||||
// Restore built-in methods.
|
// Restore built-in methods.
|
||||||
setProperty(Array, 'isArray', _isArray);
|
setProperty(Array, 'isArray', _isArray);
|
||||||
setProperty(Date, 'now', _now);
|
|
||||||
setProperty(Object, 'getPrototypeOf', _getPrototypeOf);
|
|
||||||
setProperty(Object, 'keys', _keys);
|
setProperty(Object, 'keys', _keys);
|
||||||
|
|
||||||
setProperty(objectProto, 'propertyIsEnumerable', _propertyIsEnumerable);
|
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) {
|
if (_Set) {
|
||||||
setProperty(root, 'Set', Set);
|
setProperty(root, 'Set', Set);
|
||||||
} else {
|
} else {
|
||||||
@@ -545,7 +462,6 @@
|
|||||||
delete root.WeakMap;
|
delete root.WeakMap;
|
||||||
}
|
}
|
||||||
delete root.WinRTError;
|
delete root.WinRTError;
|
||||||
delete root.window;
|
|
||||||
delete funcProto._method;
|
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 Foo() {}
|
||||||
|
|
||||||
function message(lodashMethod, nativeMethod) {
|
function message(lodashMethod, nativeMethod) {
|
||||||
@@ -729,20 +645,6 @@
|
|||||||
}
|
}
|
||||||
deepEqual(actual, [true, false], message('_.isArray', 'Array.isArray'));
|
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 {
|
try {
|
||||||
actual = [lodashBizarro.keys(object), lodashBizarro.keys()];
|
actual = [lodashBizarro.keys(object), lodashBizarro.keys()];
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
@@ -750,13 +652,6 @@
|
|||||||
}
|
}
|
||||||
deepEqual(actual, [['a'], []], message('_.keys', 'Object.keys'));
|
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 {
|
try {
|
||||||
actual = [
|
actual = [
|
||||||
lodashBizarro.difference([object, otherObject], largeArray),
|
lodashBizarro.difference([object, otherObject], largeArray),
|
||||||
@@ -768,27 +663,7 @@
|
|||||||
}
|
}
|
||||||
deepEqual(actual, [[otherObject], [object], [object]], message('_.difference`, `_.intersection`, and `_.uniq', 'Set'));
|
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.
|
// 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) {
|
if (ArrayBuffer && Uint8Array) {
|
||||||
try {
|
try {
|
||||||
var array = new Uint8Array(new ArrayBuffer(10));
|
var array = new Uint8Array(new ArrayBuffer(10));
|
||||||
@@ -805,7 +680,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
skipTest(12);
|
skipTest(6);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}());
|
}());
|
||||||
@@ -15048,19 +14923,9 @@
|
|||||||
|
|
||||||
test('should not contain minified properties (test production builds)', 1, function() {
|
test('should not contain minified properties (test production builds)', 1, function() {
|
||||||
var props = [
|
var props = [
|
||||||
'argsTag',
|
|
||||||
'argsObject',
|
|
||||||
'dom',
|
|
||||||
'enumErrorProps',
|
'enumErrorProps',
|
||||||
'enumPrototypes',
|
'enumPrototypes',
|
||||||
'fastBind',
|
|
||||||
'funcDecomp',
|
|
||||||
'funcNames',
|
|
||||||
'hostObject',
|
|
||||||
'nodeTag',
|
|
||||||
'nonEnumArgs',
|
|
||||||
'nonEnumShadows',
|
'nonEnumShadows',
|
||||||
'nonEnumStrings',
|
|
||||||
'ownLast',
|
'ownLast',
|
||||||
'spliceObjects',
|
'spliceObjects',
|
||||||
'unindexedChars'
|
'unindexedChars'
|
||||||
@@ -17818,7 +17683,7 @@
|
|||||||
var args = arguments,
|
var args = arguments,
|
||||||
array = [1, 2, 3, 4, 5, 6];
|
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) {
|
function message(methodName) {
|
||||||
return '`_.' + methodName + '` should work with `arguments` objects';
|
return '`_.' + methodName + '` should work with `arguments` objects';
|
||||||
}
|
}
|
||||||
@@ -17852,17 +17717,6 @@
|
|||||||
deepEqual(_.uniq(args), [1, null, [3], 5], message('uniq'));
|
deepEqual(_.uniq(args), [1, null, [3], 5], message('uniq'));
|
||||||
deepEqual(_.without(args, null), [1, [3], 5], message('without'));
|
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'));
|
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() {
|
test('should accept falsey primary arguments', 4, function() {
|
||||||
|
|||||||
Reference in New Issue
Block a user