diff --git a/test/test.js b/test/test.js index 85312fb3c..5706af2ff 100644 --- a/test/test.js +++ b/test/test.js @@ -6788,6 +6788,31 @@ strictEqual(_.isEqual(a, b), false); }); + test('should compare maps', 3, function() { + if (Map) { + var map1 = new Map, + map2 = new Map; + + map1.set('a', 1); + map2.set('b', 2); + + strictEqual(_.isEqual(map1, map2), false); + + map1.set('b', 2); + map2.set('a', 1); + + strictEqual(_.isEqual(map1, map2), false); + + map1['delete']('a'); + map1.set('a', 1); + + strictEqual(_.isEqual(map1, map2), true); + } + else { + skipTest(3); + } + }); + test('should compare regexes', 5, function() { strictEqual(_.isEqual(/x/gim, /x/gim), true); strictEqual(_.isEqual(/x/gim, /x/mgi), true); @@ -6796,6 +6821,31 @@ strictEqual(_.isEqual(/x/g, { 'global': true, 'ignoreCase': false, 'multiline': false, 'source': 'x' }), false); }); + test('should compare sets', 3, function() { + if (Set) { + var set1 = new Set, + set2 = new Set; + + set1.add(1); + set2.add(2); + + strictEqual(_.isEqual(set1, set2), false); + + set1.add(2); + set2.add(1); + + strictEqual(_.isEqual(set1, set2), false); + + set1['delete'](1); + set1.add(1); + + strictEqual(_.isEqual(set1, set2), true); + } + else { + skipTest(3); + } + }); + test('should compare typed arrays', 1, function() { var pairs = _.map(typedArrays, function(type, index) { var otherType = typedArrays[(index + 1) % typedArrays.length],