Add map and set guards to tests to fix travis runs.

This commit is contained in:
John-David Dalton
2015-09-06 22:41:07 -07:00
parent d81e029ec0
commit 7863256de5

View File

@@ -7416,59 +7416,69 @@
}); });
test('should partial match maps', 3, function() { test('should partial match maps', 3, function() {
var objects = [{ 'a': new Map }, { 'a': new Map }]; if (Map) {
objects[0].a.set('a', 1); var objects = [{ 'a': new Map }, { 'a': new Map }];
objects[1].a.set('a', 1); objects[0].a.set('a', 1);
objects[1].a.set('b', 2); objects[1].a.set('a', 1);
objects[1].a.set('b', 2);
var map = new Map; var map = new Map;
map.set('b', 2); map.set('b', 2);
var source = { 'a': map }, var source = { 'a': map },
predicate = function(object) { return _.isMatch(object, source); }, predicate = function(object) { return _.isMatch(object, source); },
actual = _.filter(objects, predicate); actual = _.filter(objects, predicate);
deepEqual(actual, [objects[1]]); deepEqual(actual, [objects[1]]);
map['delete']('b'); map['delete']('b');
sourece = { 'a': map }; sourece = { 'a': map };
actual = _.filter(objects, predicate); actual = _.filter(objects, predicate);
deepEqual(actual, objects); deepEqual(actual, objects);
map.set('c', 3); map.set('c', 3);
source = { 'a': map }; source = { 'a': map };
actual = _.filter(objects, predicate); actual = _.filter(objects, predicate);
deepEqual(actual, []); deepEqual(actual, []);
}
else {
skipTest(3);
}
}); });
test('should partial match sets', 3, function() { test('should partial match sets', 3, function() {
var objects = [{ 'a': new Set }, { 'a': new Set }]; if (Set) {
objects[0].a.add(1); var objects = [{ 'a': new Set }, { 'a': new Set }];
objects[1].a.add(1); objects[0].a.add(1);
objects[1].a.add(2); objects[1].a.add(1);
objects[1].a.add(2);
var set = new Set; var set = new Set;
set.add(2); set.add(2);
var source = { 'a': set }, var source = { 'a': set },
predicate = function(object) { return _.isMatch(object, source); }, predicate = function(object) { return _.isMatch(object, source); },
actual = _.filter(objects, predicate); actual = _.filter(objects, predicate);
deepEqual(actual, [objects[1]]); deepEqual(actual, [objects[1]]);
set['delete'](2); set['delete'](2);
source = { 'a': set }; source = { 'a': set };
actual = _.filter(objects, predicate); actual = _.filter(objects, predicate);
deepEqual(actual, objects); deepEqual(actual, objects);
set.add(3); set.add(3);
source = { 'a': set }; source = { 'a': set };
actual = _.filter(objects, predicate); actual = _.filter(objects, predicate);
deepEqual(actual, []); deepEqual(actual, []);
}
else {
skipTest(3);
}
}); });
test('should match properties when `object` is not a plain object', 1, function() { test('should match properties when `object` is not a plain object', 1, function() {
@@ -9636,49 +9646,59 @@
}); });
test('should partial match maps', 3, function() { test('should partial match maps', 3, function() {
var objects = [{ 'a': new Map }, { 'a': new Map }]; if (Map) {
objects[0].a.set('a', 1); var objects = [{ 'a': new Map }, { 'a': new Map }];
objects[1].a.set('a', 1); objects[0].a.set('a', 1);
objects[1].a.set('b', 2); objects[1].a.set('a', 1);
objects[1].a.set('b', 2);
var map = new Map; var map = new Map;
map.set('b', 2); map.set('b', 2);
var actual = _.filter(objects, _.matches({ 'a': map })); var actual = _.filter(objects, _.matches({ 'a': map }));
deepEqual(actual, [objects[1]]); deepEqual(actual, [objects[1]]);
map['delete']('b'); map['delete']('b');
actual = _.filter(objects, _.matches({ 'a': map })); actual = _.filter(objects, _.matches({ 'a': map }));
deepEqual(actual, objects); deepEqual(actual, objects);
map.set('c', 3); map.set('c', 3);
actual = _.filter(objects, _.matches({ 'a': map })); actual = _.filter(objects, _.matches({ 'a': map }));
deepEqual(actual, []); deepEqual(actual, []);
}
else {
skipTest(3);
}
}); });
test('should partial match sets', 3, function() { test('should partial match sets', 3, function() {
var objects = [{ 'a': new Set }, { 'a': new Set }]; if (Set) {
objects[0].a.add(1); var objects = [{ 'a': new Set }, { 'a': new Set }];
objects[1].a.add(1); objects[0].a.add(1);
objects[1].a.add(2); objects[1].a.add(1);
objects[1].a.add(2);
var set = new Set; var set = new Set;
set.add(2); set.add(2);
var actual = _.filter(objects, _.matches({ 'a': set })); var actual = _.filter(objects, _.matches({ 'a': set }));
deepEqual(actual, [objects[1]]); deepEqual(actual, [objects[1]]);
set['delete'](2); set['delete'](2);
actual = _.filter(objects, _.matches({ 'a': set })); actual = _.filter(objects, _.matches({ 'a': set }));
deepEqual(actual, objects); deepEqual(actual, objects);
set.add(3); set.add(3);
actual = _.filter(objects, _.matches({ 'a': set })); actual = _.filter(objects, _.matches({ 'a': set }));
deepEqual(actual, []); deepEqual(actual, []);
}
else {
skipTest(3);
}
}); });
test('should match properties when `object` is not a plain object', 1, function() { test('should match properties when `object` is not a plain object', 1, function() {
@@ -9998,49 +10018,59 @@
deepEqual(actual, [objects[0]]); deepEqual(actual, [objects[0]]);
}); });
test('should partial match maps', 3, function() { test('should partial match maps', 3, function() {
var objects = [{ 'a': new Map }, { 'a': new Map }]; if (Map) {
objects[0].a.set('a', 1); var objects = [{ 'a': new Map }, { 'a': new Map }];
objects[1].a.set('a', 1); objects[0].a.set('a', 1);
objects[1].a.set('b', 2); objects[1].a.set('a', 1);
objects[1].a.set('b', 2);
var map = new Map; var map = new Map;
map.set('b', 2); map.set('b', 2);
var actual = _.filter(objects, _.matchesProperty('a', map)); var actual = _.filter(objects, _.matchesProperty('a', map));
deepEqual(actual, [objects[1]]); deepEqual(actual, [objects[1]]);
map['delete']('b'); map['delete']('b');
actual = _.filter(objects, _.matchesProperty('a', map)); actual = _.filter(objects, _.matchesProperty('a', map));
deepEqual(actual, objects); deepEqual(actual, objects);
map.set('c', 3); map.set('c', 3);
actual = _.filter(objects, _.matchesProperty('a', map)); actual = _.filter(objects, _.matchesProperty('a', map));
deepEqual(actual, []); deepEqual(actual, []);
}
else {
skipTest(3);
}
}); });
test('should partial match sets', 3, function() { test('should partial match sets', 3, function() {
var objects = [{ 'a': new Set }, { 'a': new Set }]; if (Set) {
objects[0].a.add(1); var objects = [{ 'a': new Set }, { 'a': new Set }];
objects[1].a.add(1); objects[0].a.add(1);
objects[1].a.add(2); objects[1].a.add(1);
objects[1].a.add(2);
var set = new Set; var set = new Set;
set.add(2); set.add(2);
var actual = _.filter(objects, _.matchesProperty('a', set)); var actual = _.filter(objects, _.matchesProperty('a', set));
deepEqual(actual, [objects[1]]); deepEqual(actual, [objects[1]]);
set['delete'](2); set['delete'](2);
actual = _.filter(objects, _.matchesProperty('a', set)); actual = _.filter(objects, _.matchesProperty('a', set));
deepEqual(actual, objects); deepEqual(actual, objects);
set.add(3); set.add(3);
actual = _.filter(objects, _.matchesProperty('a', set)); actual = _.filter(objects, _.matchesProperty('a', set));
deepEqual(actual, []); deepEqual(actual, []);
}
else {
skipTest(3);
}
}); });
test('should match properties when `srcValue` is not a plain object', 1, function() { test('should match properties when `srcValue` is not a plain object', 1, function() {