Added complete support for Map also for IE11.

Fixes 1472
This commit is contained in:
Volonterio Riccardo
2018-01-11 18:13:24 +01:00
parent cb6de64e58
commit 085a1f8a16
7 changed files with 173 additions and 84 deletions

View File

@@ -3,10 +3,36 @@
if (typeof Map === 'undefined') { return false; }
try {
var s = new Map([['a', 4]]);
if (s.size !== 1) { return false; }
if (s.keys().next().value !== 'a') { return false; }
if (s.values().next().value !== 4) { return false; }
var s = new Map();
s.set('a',1);
s.set('b',2);
// Check for `size`
if (s.size !== 2) { return false; }
// Check for `has`
if (s.has('a') !== true) { return false; }
// Check for `delete`
if (s.delete('b') !== true) { return false; }
// Check for `forEach`
var iterations = 0;
var ifForEachWorking = true;
s.forEach( function( value, key, map ) {
ifForEachWorking = ifForEachWorking && map === s;
if( key==='a') {
ifForEachWorking = ifForEachWorking && value===1;
}
iterations++;
} );
if (iterations !== 1) { return false; }
if (ifForEachWorking !== true) { return false; }
// Check for `clear`
s.clear()
if (s.size !== 0) { return false; }
return true;
} catch(e) {
return false;