1 /** @ignore */
  2 var scout = (function () {
  3   var tests = { };
  4   return {
  5     addTest: function (moduleName, test) {
  6       tests[moduleName] = test;
  7     },
  8     fetch: function () {
  9       var modulesToFetch = [ ];
 10       for (var moduleName in tests) {
 11         if (tests[moduleName]()) {
 12           modulesToFetch.push(moduleName);
 13         }
 14       }
 15       return modulesToFetch.join(',');
 16     }
 17   };
 18 })();
 19 
 20 scout.addTest('json2', function () {
 21   return typeof JSON === 'undefined';
 22 });
 23 scout.addTest('indexOf', function () {
 24   return typeof Array.prototype.indexOf === 'undefined';
 25 });
 26 scout.addTest('forEach', function () {
 27   return typeof Array.prototype.forEach === 'undefined';
 28 });
 29 scout.addTest('map', function () {
 30   return typeof Array.prototype.map === 'undefined';
 31 });
 32 scout.addTest('every', function () {
 33   return typeof Array.prototype.every === 'undefined';
 34 });
 35 scout.addTest('some', function () {
 36   return typeof Array.prototype.some === 'undefined';
 37 });
 38 scout.addTest('filter', function () {
 39   return typeof Array.prototype.filter === 'undefined';
 40 });
 41 scout.addTest('reduce', function () {
 42   return typeof Array.prototype.reduce === 'undefined';
 43 });
 44 
 45 scout.fetch();