mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-05 09:27:49 +00:00
Update vendor/underscore.
Former-commit-id: 8bb0b59d367ab2600a85a4442789eb41d9d97cb6
This commit is contained in:
14
vendor/underscore/test/arrays.js
vendored
14
vendor/underscore/test/arrays.js
vendored
@@ -55,18 +55,16 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
test("compact", function() {
|
test("compact", function() {
|
||||||
equal(_.compact([0, 1, false, 2, false, 3]).length, 3, 'can trim out all falsy values');
|
equal(_.compact([0, 1, false, 2, false, 3]).length, 3, 'can trim out all falsy values');
|
||||||
var result = (function(){ return _(arguments).compact().length; })(0, 1, false, 2, false, 3);
|
var result = (function(){ return _.compact(arguments).length; })(0, 1, false, 2, false, 3);
|
||||||
equal(result, 3, 'works on an arguments object');
|
equal(result, 3, 'works on an arguments object');
|
||||||
});
|
});
|
||||||
|
|
||||||
test("flatten", function() {
|
test("flatten", function() {
|
||||||
if (window.JSON) {
|
var list = [1, [2], [3, [[[4]]]]];
|
||||||
var list = [1, [2], [3, [[[4]]]]];
|
equal(JSON.stringify(_.flatten(list)), '[1,2,3,4]', 'can flatten nested arrays');
|
||||||
equal(JSON.stringify(_.flatten(list)), '[1,2,3,4]', 'can flatten nested arrays');
|
equal(JSON.stringify(_.flatten(list, true)), '[1,2,3,[[[4]]]]', 'can shallowly flatten nested arrays');
|
||||||
equal(JSON.stringify(_.flatten(list, true)), '[1,2,3,[[[4]]]]', 'can shallowly flatten nested arrays');
|
var result = (function(){ return _.flatten(arguments); })(1, [2], [3, [[[4]]]]);
|
||||||
var result = (function(){ return _.flatten(arguments); })(1, [2], [3, [[[4]]]]);
|
equal(JSON.stringify(result), '[1,2,3,4]', 'works on an arguments object');
|
||||||
equal(JSON.stringify(result), '[1,2,3,4]', 'works on an arguments object');
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test("without", function() {
|
test("without", function() {
|
||||||
|
|||||||
20
vendor/underscore/test/objects.js
vendored
20
vendor/underscore/test/objects.js
vendored
@@ -56,8 +56,8 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
result = {};
|
result = {};
|
||||||
_.extend(result, null, undefined, { 'a': 1 });
|
_.extend(result, null, undefined, {a:1});
|
||||||
} catch(ex) { }
|
} catch(ex) {}
|
||||||
|
|
||||||
equal(result.a, 1, 'should not error on `null` or `undefined` sources');
|
equal(result.a, 1, 'should not error on `null` or `undefined` sources');
|
||||||
});
|
});
|
||||||
@@ -106,8 +106,8 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
options = {};
|
options = {};
|
||||||
_.defaults(options, null, undefined, { 'a': 1 });
|
_.defaults(options, null, undefined, {a:1});
|
||||||
} catch(ex) { }
|
} catch(ex) {}
|
||||||
|
|
||||||
equal(options.a, 1, 'should not error on `null` or `undefined` sources');
|
equal(options.a, 1, 'should not error on `null` or `undefined` sources');
|
||||||
});
|
});
|
||||||
@@ -351,16 +351,10 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
// Chaining.
|
// Chaining.
|
||||||
ok(!_.isEqual(_({x: 1, y: undefined}).chain(), _({x: 1, z: 2}).chain()), 'Chained objects containing different values are not equal');
|
ok(!_.isEqual(_({x: 1, y: undefined}).chain(), _({x: 1, z: 2}).chain()), 'Chained objects containing different values are not equal');
|
||||||
equal(_({x: 1, y: 2}).chain().isEqual(_({x: 1, y: 2}).chain()).value(), true, '`isEqual` can be chained');
|
|
||||||
|
|
||||||
// Custom `isEqual` methods.
|
a = _({x: 1, y: 2}).chain();
|
||||||
var isEqualObj = {isEqual: function (o) { return o.isEqual == this.isEqual; }, unique: {}};
|
b = _({x: 1, y: 2}).chain();
|
||||||
var isEqualObjClone = {isEqual: isEqualObj.isEqual, unique: {}};
|
equal(_.isEqual(a.isEqual(b), _(true)), true, '`isEqual` can be chained');
|
||||||
|
|
||||||
ok(_.isEqual(isEqualObj, isEqualObjClone), 'Both objects implement identical `isEqual` methods');
|
|
||||||
ok(_.isEqual(isEqualObjClone, isEqualObj), 'Commutative equality is implemented for objects with custom `isEqual` methods');
|
|
||||||
ok(!_.isEqual(isEqualObj, {}), 'Objects that do not implement equivalent `isEqual` methods are not equal');
|
|
||||||
ok(!_.isEqual({}, isEqualObj), 'Commutative equality is implemented for objects with different `isEqual` methods');
|
|
||||||
|
|
||||||
// Objects from another frame.
|
// Objects from another frame.
|
||||||
ok(_.isEqual({}, iObject));
|
ok(_.isEqual({}, iObject));
|
||||||
|
|||||||
7
vendor/underscore/test/utility.js
vendored
7
vendor/underscore/test/utility.js
vendored
@@ -175,10 +175,11 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
test('_.template provides the generated function source, when a SyntaxError occurs', function() {
|
test('_.template provides the generated function source, when a SyntaxError occurs', function() {
|
||||||
try {
|
try {
|
||||||
_.template('<b><%= if %></b>');
|
_.template('<b><%= if x %></b>');
|
||||||
} catch (e) {
|
} catch (ex) {
|
||||||
ok(e.source.indexOf('( if )') > 0);
|
var source = ex.source;
|
||||||
}
|
}
|
||||||
|
ok(/__p/.test(source));
|
||||||
});
|
});
|
||||||
|
|
||||||
test('_.template handles \\u2028 & \\u2029', function() {
|
test('_.template handles \\u2028 & \\u2029', function() {
|
||||||
|
|||||||
Reference in New Issue
Block a user