Files
jasmine/spec/helpers/checkForSet.js
Gregg Van Hove 91aab8e1b8 Merge branch 'Volox-ie11-sets-support'
- Merges #1478 from @Volox
- Fixes #1355
2018-01-12 17:33:51 -08:00

42 lines
1.0 KiB
JavaScript

(function(env) {
function hasFunctioningSets() {
if (typeof Set === 'undefined') { return false; }
try {
var s = new Set();
s.add(1);
s.add(2);
if (s.size !== 2) { return false; }
if (s.has(1) !== true) { return false; }
var iterations = 0;
var isForEachWorking = true;
s.forEach(function(value, key, set) {
isForEachWorking = isForEachWorking && set === s;
if (iterations===0) {
isForEachWorking = isForEachWorking && (key===value) && value===1;
} else if (iterations===1) {
isForEachWorking = isForEachWorking && (key===value) && value===2;
}
iterations++;
});
if (iterations !== 2) { return false; }
if (isForEachWorking !== true) { return false; }
return true;
} catch(e) {
return false;
}
}
env.requireFunctioningSets = function() {
if (!hasFunctioningSets()) {
env.pending("Browser has incomplete or missing support for Sets");
}
};
})(jasmine.getEnv());