From: Iskren Chernev Date: Thu, 31 Dec 2015 09:59:33 +0000 (+0200) Subject: Do not use Object.keys and [].forEach for IE8 compat X-Git-Tag: 2.11.0~7^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4b582f121d76f3ce93338ea203ff79fc153e5217;p=thirdparty%2Fmoment.git Do not use Object.keys and [].forEach for IE8 compat --- diff --git a/src/test/moment/format.js b/src/test/moment/format.js index 03c60f1ac..965028a46 100644 --- a/src/test/moment/format.js +++ b/src/test/moment/format.js @@ -342,6 +342,31 @@ test('quarter ordinal formats', function (assert) { }); test('full expanded format is returned from abbreviated formats', function (assert) { + function forEach(ar, fn) { + if (ar.forEach) { + return ar.forEach(fn); + } else { + // IE8 + for (var i = 0; i < ar.length; i += 1) { + fn(ar[i]); + } + } + } + function objectKeys(obj) { + if (Object.keys) { + return Object.keys(obj); + } else { + // IE8 + var res = [], i; + for (i in obj) { + if (obj.hasOwnProperty(i)) { + res.push(i); + } + } + return res; + } + } + var locales = ''; locales += 'af ar-ma ar-sa ar-tn ar az be bg bn bo br bs'; @@ -353,14 +378,14 @@ test('full expanded format is returned from abbreviated formats', function (asse locales += 'tr tzm-latn tzm uk uz vi zh-cn zh-tw'; locales += 'en-ie'; - locales.split(' ').forEach(function (locale) { + forEach(locales.split(' '), function (locale) { var data, tokens; data = moment().locale(locale).localeData()._longDateFormat; - tokens = Object.keys(data); - tokens.forEach(function (token) { + tokens = objectKeys(data); + forEach(tokens, function (token) { // Check each format string to make sure it does not contain any // tokens that need to be expanded. - tokens.forEach(function (i) { + forEach(tokens, function (i) { // strip escaped sequences var format = data[i].replace(/(\[[^\]]*\])/g, ''); assert.equal(false, !!~format.indexOf(token), 'locale ' + locale + ' contains ' + token + ' in ' + i);