mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-29 14:37:49 +00:00
Update vendor/benchmark.js and vendor/underscore tests.
Former-commit-id: 28d47ac7efb1af2d23a749ea50178c09edfe62bd
This commit is contained in:
22
vendor/benchmark.js/benchmark.js
vendored
22
vendor/benchmark.js/benchmark.js
vendored
@@ -118,7 +118,7 @@
|
||||
// Avoid issues with some ES3 environments that attempt to use values, named
|
||||
// after built-in constructors like `Object`, for the creation of literals.
|
||||
// ES5 clears this up by stating that literals must use built-in constructors.
|
||||
// See http://es5.github.com/#x11.1.5.
|
||||
// See http://es5.github.io/#x11.1.5.
|
||||
context = context ? _.defaults(window.Object(), context, _.pick(window, contextProps)) : window;
|
||||
|
||||
/** Native constructor references */
|
||||
@@ -131,8 +131,8 @@
|
||||
String = context.String;
|
||||
|
||||
/** Used for `Array` and `Object` method references */
|
||||
var arrayRef = Array(),
|
||||
objectRef = Object();
|
||||
var arrayRef = [],
|
||||
objectProto = Object.prototype;
|
||||
|
||||
/** Native method shortcuts */
|
||||
var abs = Math.abs,
|
||||
@@ -147,7 +147,7 @@
|
||||
shift = arrayRef.shift,
|
||||
slice = arrayRef.slice,
|
||||
sqrt = Math.sqrt,
|
||||
toString = objectRef.toString;
|
||||
toString = objectProto.toString;
|
||||
|
||||
/** Detect DOM document object */
|
||||
var doc = isHostType(context, 'document') && context.document;
|
||||
@@ -704,20 +704,20 @@
|
||||
* A helper function for setting options/event handlers.
|
||||
*
|
||||
* @private
|
||||
* @param {Object} bench The benchmark instance.
|
||||
* @param {Object} object The benchmark or suite instance.
|
||||
* @param {Object} [options={}] Options object.
|
||||
*/
|
||||
function setOptions(bench, options) {
|
||||
options = _.extend({}, bench.constructor.options, options);
|
||||
bench.options = _.forOwn(options, function(value, key) {
|
||||
function setOptions(object, options) {
|
||||
options = _.extend({}, object.constructor.options, options);
|
||||
object.options = _.forOwn(options, function(value, key) {
|
||||
if (value != null) {
|
||||
// add event listeners
|
||||
if (/^on[A-Z]/.test(key)) {
|
||||
_.each(key.split(' '), function(key) {
|
||||
bench.on(key.slice(2).toLowerCase(), value);
|
||||
object.on(key.slice(2).toLowerCase(), value);
|
||||
});
|
||||
} else if (!_.has(bench, key)) {
|
||||
bench[key] = cloneDeep(value);
|
||||
} else if (!_.has(object, key)) {
|
||||
object[key] = cloneDeep(value);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
2
vendor/underscore/test/arrays.js
vendored
2
vendor/underscore/test/arrays.js
vendored
@@ -107,6 +107,8 @@ $(document).ready(function() {
|
||||
equal(_(stooges).intersection(leaders).join(''), 'moe', 'can perform an OO-style intersection');
|
||||
var result = (function(){ return _.intersection(arguments, leaders); })('moe', 'curly', 'larry');
|
||||
equal(result.join(''), 'moe', 'works on an arguments object');
|
||||
var theSixStooges = ['moe', 'moe', 'curly', 'curly', 'larry', 'larry'];
|
||||
equal(_.intersection(theSixStooges, leaders).join(''), 'moe', 'returns a duplicate-free array');
|
||||
});
|
||||
|
||||
test("union", function() {
|
||||
|
||||
6
vendor/underscore/test/collections.js
vendored
6
vendor/underscore/test/collections.js
vendored
@@ -274,6 +274,12 @@ $(document).ready(function() {
|
||||
deepEqual(result, {a: 1, b: 2});
|
||||
result = _.findWhere(list, {b: 4});
|
||||
deepEqual(result, {a: 1, b: 4});
|
||||
|
||||
result = _.findWhere(list, {c:1})
|
||||
ok(_.isUndefined(result), "undefined when not found");
|
||||
|
||||
result = _.findWhere([], {c:1});
|
||||
ok(_.isUndefined(result), "undefined when searching empty list");
|
||||
});
|
||||
|
||||
test('max', function() {
|
||||
|
||||
12
vendor/underscore/test/functions.js
vendored
12
vendor/underscore/test/functions.js
vendored
@@ -159,14 +159,14 @@ $(document).ready(function() {
|
||||
asyncTest("throttle repeatedly with results", 6, function() {
|
||||
var counter = 0;
|
||||
var incr = function(){ return ++counter; };
|
||||
var throttledIncr = _.throttle(incr, 64);
|
||||
var throttledIncr = _.throttle(incr, 100);
|
||||
var results = [];
|
||||
var saveResult = function() { results.push(throttledIncr()); };
|
||||
saveResult(); saveResult();
|
||||
_.delay(saveResult, 32);
|
||||
_.delay(saveResult, 80);
|
||||
_.delay(saveResult, 96);
|
||||
_.delay(saveResult, 144);
|
||||
_.delay(saveResult, 50);
|
||||
_.delay(saveResult, 150);
|
||||
_.delay(saveResult, 160);
|
||||
_.delay(saveResult, 230);
|
||||
_.delay(function() {
|
||||
equal(results[0], 1, "incr was called once");
|
||||
equal(results[1], 1, "incr was throttled");
|
||||
@@ -175,7 +175,7 @@ $(document).ready(function() {
|
||||
equal(results[4], 2, "incr was throttled");
|
||||
equal(results[5], 3, "incr was called trailing");
|
||||
start();
|
||||
}, 192);
|
||||
}, 300);
|
||||
});
|
||||
|
||||
asyncTest("throttle triggers trailing call when invoked repeatedly", 2, function() {
|
||||
|
||||
Reference in New Issue
Block a user