]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Add common locale tests, to avoid copy-paste between locale tests
authorIskren Chernev <iskren.chernev@gmail.com>
Sun, 3 Jan 2016 15:04:29 +0000 (17:04 +0200)
committerIskren Chernev <iskren.chernev@gmail.com>
Sun, 6 Mar 2016 08:31:46 +0000 (00:31 -0800)
src/test/helpers/common-locale.js [new file with mode: 0644]
src/test/helpers/object-keys.js [new file with mode: 0644]
src/test/moment/format.js
src/test/moment/week_year.js
src/test/qunit.js

diff --git a/src/test/helpers/common-locale.js b/src/test/helpers/common-locale.js
new file mode 100644 (file)
index 0000000..8fe3ced
--- /dev/null
@@ -0,0 +1,72 @@
+import { test } from '../qunit';
+import each from './each';
+import objectKeys from './object-keys';
+import moment from '../../moment';
+import defaults from '../../lib/utils/defaults';
+
+export function defineCommonLocaleTests(locale, options) {
+    test('lenient ordinal parsing', function (assert) {
+        var i, ordinalStr, testMoment;
+        for (i = 1; i <= 31; ++i) {
+            ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+            testMoment = moment(ordinalStr, 'YYYY MM Do');
+            assert.equal(testMoment.year(), 2014,
+                    'lenient ordinal parsing ' + i + ' year check');
+            assert.equal(testMoment.month(), 0,
+                    'lenient ordinal parsing ' + i + ' month check');
+            assert.equal(testMoment.date(), i,
+                    'lenient ordinal parsing ' + i + ' date check');
+        }
+    });
+
+    test('lenient ordinal parsing of number', function (assert) {
+        var i, testMoment;
+        for (i = 1; i <= 31; ++i) {
+            testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+            assert.equal(testMoment.year(), 2014,
+                    'lenient ordinal parsing of number ' + i + ' year check');
+            assert.equal(testMoment.month(), 0,
+                    'lenient ordinal parsing of number ' + i + ' month check');
+            assert.equal(testMoment.date(), i,
+                    'lenient ordinal parsing of number ' + i + ' date check');
+        }
+    });
+
+    test('strict ordinal parsing', function (assert) {
+        var i, ordinalStr, testMoment;
+        for (i = 1; i <= 31; ++i) {
+            ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+            testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+            assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+        }
+    });
+
+    test('meridiem invariant', function (assert) {
+        var h, m, t1, t2;
+        for (h = 0; h < 24; ++h) {
+            for (m = 0; m < 60; m += 15) {
+                t1 = moment.utc([2000, 0, 1, h, m]);
+                t2 = moment(t1.format('A h:mm'), 'A h:mm');
+                assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+                        'meridiem at ' + t1.format('HH:mm'));
+            }
+        }
+    });
+
+    test('date format correctness', function (assert) {
+        var data, tokens;
+        data = moment.localeData()._longDateFormat;
+        tokens = objectKeys(data);
+        each(tokens, function (srchToken) {
+            // Check each format string to make sure it does not contain any
+            // tokens that need to be expanded.
+            each(tokens, function (baseToken) {
+                // strip escaped sequences
+                var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+                assert.equal(false, !!~format.indexOf(srchToken),
+                        'contains ' + srchToken + ' in ' + baseToken);
+            });
+        });
+    });
+}
+
diff --git a/src/test/helpers/object-keys.js b/src/test/helpers/object-keys.js
new file mode 100644 (file)
index 0000000..bdc7364
--- /dev/null
@@ -0,0 +1,14 @@
+export default 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;
+    }
+}
index 42ea8395150fc30a109be26d84222a7a0a2e0090..6b7f26b0a152ba6f5e29d9742c9bfd552fd2839e 100644 (file)
@@ -342,44 +342,44 @@ test('quarter ordinal formats', function (assert) {
     assert.equal(moment([2000, 0,  2]).format('Qo [quarter] YYYY'), '1st quarter 2000', 'Jan  2 2000 is 1st quarter');
 });
 
-test('full expanded format is returned from abbreviated formats', function (assert) {
-    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 =
-        'ar-sa ar-tn ar az be bg bn bo br bs ca cs cv cy da de-at de dv el ' +
-        'en-au en-ca en-gb en-ie en-nz eo es et eu fa fi fo fr-ca fr-ch fr fy ' +
-        'gd gl he hi hr hu hy-am id is it ja jv ka kk km ko lb lo lt lv me mk ml ' +
-        'mr ms-my ms my nb ne nl nn pl pt-br pt ro ru se si sk sl sq sr-cyrl ' +
-        'sr sv sw ta te th tl-ph tlh tr tzl tzm-latn tzm uk uz vi zh-cn zh-tw';
-
-    each(locales.split(' '), function (locale) {
-        var data, tokens;
-        data = moment().locale(locale).localeData()._longDateFormat;
-        tokens = objectKeys(data);
-        each(tokens, function (token) {
-            // Check each format string to make sure it does not contain any
-            // tokens that need to be expanded.
-            each(tokens, function (i) {
-                // strip escaped sequences
-                var format = data[i].replace(/(\[[^\]]*\])/g, '');
-                assert.equal(false, !!~format.indexOf(token), 'locale ' + locale + ' contains ' + token + ' in ' + i);
-            });
-        });
-    });
-});
+// test('full expanded format is returned from abbreviated formats', function (assert) {
+//     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 =
+//         'ar-sa ar-tn ar az be bg bn bo br bs ca cs cv cy da de-at de dv el ' +
+//         'en-au en-ca en-gb en-ie en-nz eo es et eu fa fi fo fr-ca fr-ch fr fy ' +
+//         'gd gl he hi hr hu hy-am id is it ja jv ka kk km ko lb lo lt lv me mk ml ' +
+//         'mr ms-my ms my nb ne nl nn pl pt-br pt ro ru se si sk sl sq sr-cyrl ' +
+//         'sr sv sw ta te th tl-ph tlh tr tzl tzm-latn tzm uk uz vi zh-cn zh-tw';
+
+//     each(locales.split(' '), function (locale) {
+//         var data, tokens;
+//         data = moment().locale(locale).localeData()._longDateFormat;
+//         tokens = objectKeys(data);
+//         each(tokens, function (token) {
+//             // Check each format string to make sure it does not contain any
+//             // tokens that need to be expanded.
+//             each(tokens, function (i) {
+//                 // strip escaped sequences
+//                 var format = data[i].replace(/(\[[^\]]*\])/g, '');
+//                 assert.equal(false, !!~format.indexOf(token), 'locale ' + locale + ' contains ' + token + ' in ' + i);
+//             });
+//         });
+//     });
+// });
 
 test('milliseconds', function (assert) {
     var m = moment('123', 'SSS');
index 4694876d4636bc1f1574d0c5b0474a44b6de1b1f..1390f5ba747922829be0085a112dbedd4fde2307 100644 (file)
@@ -92,6 +92,180 @@ test('week numbers 2012/2013', function (assert) {
     assert.equal(52, moment('2012-01-01', 'YYYY-MM-DD').weeksInYear(), 'weeks in 2012 are 52'); // 52
 });
 
+test('weeks numbers dow:1 doy:4', function (assert) {
+    moment.locale('dow: 1, doy: 4', {week: {dow: 1, doy: 4}});
+    assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan  1 2012 should be week 52');
+    assert.equal(moment([2012, 0, 2]).week(),  1, 'Jan  2 2012 should be week 1');
+    assert.equal(moment([2012, 0, 8]).week(),  1, 'Jan  8 2012 should be week 1');
+    assert.equal(moment([2012, 0, 9]).week(),  2, 'Jan  9 2012 should be week 2');
+    assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
+    assert.equal(moment([2007, 0, 1]).week(),  1, 'Jan  1 2007 should be week 1');
+    assert.equal(moment([2007, 0, 7]).week(),  1, 'Jan  7 2007 should be week 1');
+    assert.equal(moment([2007, 0, 8]).week(),  2, 'Jan  8 2007 should be week 2');
+    assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
+    assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
+    assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
+    assert.equal(moment([2008,  0,  1]).week(), 1, 'Jan  1 2008 should be week 1');
+    assert.equal(moment([2008,  0,  6]).week(), 1, 'Jan  6 2008 should be week 1');
+    assert.equal(moment([2008,  0,  7]).week(), 2, 'Jan  7 2008 should be week 2');
+    assert.equal(moment([2008,  0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
+    assert.equal(moment([2008,  0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
+    assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
+    assert.equal(moment([2003,  0,  1]).week(), 1, 'Jan  1 2003 should be week 1');
+    assert.equal(moment([2003,  0,  5]).week(), 1, 'Jan  5 2003 should be week 1');
+    assert.equal(moment([2003,  0,  6]).week(), 2, 'Jan  6 2003 should be week 2');
+    assert.equal(moment([2003,  0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
+    assert.equal(moment([2003,  0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
+    assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
+    assert.equal(moment([2009,  0,  1]).week(), 1, 'Jan  1 2009 should be week 1');
+    assert.equal(moment([2009,  0,  4]).week(), 1, 'Jan  4 2009 should be week 1');
+    assert.equal(moment([2009,  0,  5]).week(), 2, 'Jan  5 2009 should be week 2');
+    assert.equal(moment([2009,  0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
+    assert.equal(moment([2009,  0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
+    assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
+    assert.equal(moment([2010,  0,  1]).week(), 53, 'Jan  1 2010 should be week 53');
+    assert.equal(moment([2010,  0,  3]).week(), 53, 'Jan  3 2010 should be week 53');
+    assert.equal(moment([2010,  0,  4]).week(),  1, 'Jan  4 2010 should be week 1');
+    assert.equal(moment([2010,  0, 10]).week(),  1, 'Jan 10 2010 should be week 1');
+    assert.equal(moment([2010,  0, 11]).week(),  2, 'Jan 11 2010 should be week 2');
+    assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
+    assert.equal(moment([2011,  0,  1]).week(), 52, 'Jan  1 2011 should be week 52');
+    assert.equal(moment([2011,  0,  2]).week(), 52, 'Jan  2 2011 should be week 52');
+    assert.equal(moment([2011,  0,  3]).week(),  1, 'Jan  3 2011 should be week 1');
+    assert.equal(moment([2011,  0,  9]).week(),  1, 'Jan  9 2011 should be week 1');
+    assert.equal(moment([2011,  0, 10]).week(),  2, 'Jan 10 2011 should be week 2');
+});
+
+test('weeks numbers dow:6 doy:12', function (assert) {
+    moment.locale('dow: 6, doy: 12', {week: {dow: 6, doy: 12}});
+    assert.equal(moment([2011, 11, 31]).week(), 1, 'Dec 31 2011 should be week 1');
+    assert.equal(moment([2012,  0,  6]).week(), 1, 'Jan  6 2012 should be week 1');
+    assert.equal(moment([2012,  0,  7]).week(), 2, 'Jan  7 2012 should be week 2');
+    assert.equal(moment([2012,  0, 13]).week(), 2, 'Jan 13 2012 should be week 2');
+    assert.equal(moment([2012,  0, 14]).week(), 3, 'Jan 14 2012 should be week 3');
+    assert.equal(moment([2006, 11, 30]).week(), 1, 'Dec 30 2006 should be week 1');
+    assert.equal(moment([2007,  0,  5]).week(), 1, 'Jan  5 2007 should be week 1');
+    assert.equal(moment([2007,  0,  6]).week(), 2, 'Jan  6 2007 should be week 2');
+    assert.equal(moment([2007,  0, 12]).week(), 2, 'Jan 12 2007 should be week 2');
+    assert.equal(moment([2007,  0, 13]).week(), 3, 'Jan 13 2007 should be week 3');
+    assert.equal(moment([2007, 11, 29]).week(), 1, 'Dec 29 2007 should be week 1');
+    assert.equal(moment([2008,  0,  1]).week(), 1, 'Jan  1 2008 should be week 1');
+    assert.equal(moment([2008,  0,  4]).week(), 1, 'Jan  4 2008 should be week 1');
+    assert.equal(moment([2008,  0,  5]).week(), 2, 'Jan  5 2008 should be week 2');
+    assert.equal(moment([2008,  0, 11]).week(), 2, 'Jan 11 2008 should be week 2');
+    assert.equal(moment([2008,  0, 12]).week(), 3, 'Jan 12 2008 should be week 3');
+    assert.equal(moment([2002, 11, 28]).week(), 1, 'Dec 28 2002 should be week 1');
+    assert.equal(moment([2003,  0,  1]).week(), 1, 'Jan  1 2003 should be week 1');
+    assert.equal(moment([2003,  0,  3]).week(), 1, 'Jan  3 2003 should be week 1');
+    assert.equal(moment([2003,  0,  4]).week(), 2, 'Jan  4 2003 should be week 2');
+    assert.equal(moment([2003,  0, 10]).week(), 2, 'Jan 10 2003 should be week 2');
+    assert.equal(moment([2003,  0, 11]).week(), 3, 'Jan 11 2003 should be week 3');
+    assert.equal(moment([2008, 11, 27]).week(), 1, 'Dec 27 2008 should be week 1');
+    assert.equal(moment([2009,  0,  1]).week(), 1, 'Jan  1 2009 should be week 1');
+    assert.equal(moment([2009,  0,  2]).week(), 1, 'Jan  2 2009 should be week 1');
+    assert.equal(moment([2009,  0,  3]).week(), 2, 'Jan  3 2009 should be week 2');
+    assert.equal(moment([2009,  0,  9]).week(), 2, 'Jan  9 2009 should be week 2');
+    assert.equal(moment([2009,  0, 10]).week(), 3, 'Jan 10 2009 should be week 3');
+    assert.equal(moment([2009, 11, 26]).week(), 1, 'Dec 26 2009 should be week 1');
+    assert.equal(moment([2010,  0,  1]).week(), 1, 'Jan  1 2010 should be week 1');
+    assert.equal(moment([2010,  0,  2]).week(), 2, 'Jan  2 2010 should be week 2');
+    assert.equal(moment([2010,  0,  8]).week(), 2, 'Jan  8 2010 should be week 2');
+    assert.equal(moment([2010,  0,  9]).week(), 3, 'Jan  9 2010 should be week 3');
+    assert.equal(moment([2011, 0,  1]).week(), 1, 'Jan  1 2011 should be week 1');
+    assert.equal(moment([2011, 0,  7]).week(), 1, 'Jan  7 2011 should be week 1');
+    assert.equal(moment([2011, 0,  8]).week(), 2, 'Jan  8 2011 should be week 2');
+    assert.equal(moment([2011, 0, 14]).week(), 2, 'Jan 14 2011 should be week 2');
+    assert.equal(moment([2011, 0, 15]).week(), 3, 'Jan 15 2011 should be week 3');
+});
+
+test('weeks numbers dow:1 doy:7', function (assert) {
+    moment.locale('dow: 1, doy: 7', {week: {dow: 1, doy: 7}});
+    assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
+    assert.equal(moment([2012,  0,  1]).week(), 1, 'Jan  1 2012 should be week 1');
+    assert.equal(moment([2012,  0,  2]).week(), 2, 'Jan  2 2012 should be week 2');
+    assert.equal(moment([2012,  0,  8]).week(), 2, 'Jan  8 2012 should be week 2');
+    assert.equal(moment([2012,  0,  9]).week(), 3, 'Jan  9 2012 should be week 3');
+    assert.equal(moment([2007, 0, 1]).week(),  1, 'Jan  1 2007 should be week 1');
+    assert.equal(moment([2007, 0, 7]).week(),  1, 'Jan  7 2007 should be week 1');
+    assert.equal(moment([2007, 0, 8]).week(),  2, 'Jan  8 2007 should be week 2');
+    assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
+    assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
+    assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
+    assert.equal(moment([2008,  0,  1]).week(), 1, 'Jan  1 2008 should be week 1');
+    assert.equal(moment([2008,  0,  6]).week(), 1, 'Jan  6 2008 should be week 1');
+    assert.equal(moment([2008,  0,  7]).week(), 2, 'Jan  7 2008 should be week 2');
+    assert.equal(moment([2008,  0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
+    assert.equal(moment([2008,  0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
+    assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
+    assert.equal(moment([2003,  0,  1]).week(), 1, 'Jan  1 2003 should be week 1');
+    assert.equal(moment([2003,  0,  5]).week(), 1, 'Jan  5 2003 should be week 1');
+    assert.equal(moment([2003,  0,  6]).week(), 2, 'Jan  6 2003 should be week 2');
+    assert.equal(moment([2003,  0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
+    assert.equal(moment([2003,  0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
+    assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
+    assert.equal(moment([2009,  0,  1]).week(), 1, 'Jan  1 2009 should be week 1');
+    assert.equal(moment([2009,  0,  4]).week(), 1, 'Jan  4 2009 should be week 1');
+    assert.equal(moment([2009,  0,  5]).week(), 2, 'Jan  5 2009 should be week 2');
+    assert.equal(moment([2009,  0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
+    assert.equal(moment([2009,  0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
+    assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
+    assert.equal(moment([2010,  0,  1]).week(), 1, 'Jan  1 2010 should be week 1');
+    assert.equal(moment([2010,  0,  3]).week(), 1, 'Jan  3 2010 should be week 1');
+    assert.equal(moment([2010,  0,  4]).week(), 2, 'Jan  4 2010 should be week 2');
+    assert.equal(moment([2010,  0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
+    assert.equal(moment([2010,  0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
+    assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
+    assert.equal(moment([2011,  0,  1]).week(), 1, 'Jan  1 2011 should be week 1');
+    assert.equal(moment([2011,  0,  2]).week(), 1, 'Jan  2 2011 should be week 1');
+    assert.equal(moment([2011,  0,  3]).week(), 2, 'Jan  3 2011 should be week 2');
+    assert.equal(moment([2011,  0,  9]).week(), 2, 'Jan  9 2011 should be week 2');
+    assert.equal(moment([2011,  0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
+});
+
+test('weeks numbers dow:0 doy:6', function (assert) {
+    moment.locale('dow: 0, doy: 6', {week: {dow: 0, doy: 6}});
+    assert.equal(moment([2012, 0,  1]).week(), 1, 'Jan  1 2012 should be week 1');
+    assert.equal(moment([2012, 0,  7]).week(), 1, 'Jan  7 2012 should be week 1');
+    assert.equal(moment([2012, 0,  8]).week(), 2, 'Jan  8 2012 should be week 2');
+    assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
+    assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
+    assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
+    assert.equal(moment([2007,  0,  1]).week(), 1, 'Jan  1 2007 should be week 1');
+    assert.equal(moment([2007,  0,  6]).week(), 1, 'Jan  6 2007 should be week 1');
+    assert.equal(moment([2007,  0,  7]).week(), 2, 'Jan  7 2007 should be week 2');
+    assert.equal(moment([2007,  0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
+    assert.equal(moment([2007,  0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
+    assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
+    assert.equal(moment([2008,  0,  1]).week(), 1, 'Jan  1 2008 should be week 1');
+    assert.equal(moment([2008,  0,  5]).week(), 1, 'Jan  5 2008 should be week 1');
+    assert.equal(moment([2008,  0,  6]).week(), 2, 'Jan  6 2008 should be week 2');
+    assert.equal(moment([2008,  0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
+    assert.equal(moment([2008,  0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
+    assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
+    assert.equal(moment([2003,  0,  1]).week(), 1, 'Jan  1 2003 should be week 1');
+    assert.equal(moment([2003,  0,  4]).week(), 1, 'Jan  4 2003 should be week 1');
+    assert.equal(moment([2003,  0,  5]).week(), 2, 'Jan  5 2003 should be week 2');
+    assert.equal(moment([2003,  0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
+    assert.equal(moment([2003,  0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
+    assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
+    assert.equal(moment([2009,  0,  1]).week(), 1, 'Jan  1 2009 should be week 1');
+    assert.equal(moment([2009,  0,  3]).week(), 1, 'Jan  3 2009 should be week 1');
+    assert.equal(moment([2009,  0,  4]).week(), 2, 'Jan  4 2009 should be week 2');
+    assert.equal(moment([2009,  0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
+    assert.equal(moment([2009,  0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
+    assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
+    assert.equal(moment([2010,  0,  1]).week(), 1, 'Jan  1 2010 should be week 1');
+    assert.equal(moment([2010,  0,  2]).week(), 1, 'Jan  2 2010 should be week 1');
+    assert.equal(moment([2010,  0,  3]).week(), 2, 'Jan  3 2010 should be week 2');
+    assert.equal(moment([2010,  0,  9]).week(), 2, 'Jan  9 2010 should be week 2');
+    assert.equal(moment([2010,  0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
+    assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
+    assert.equal(moment([2011,  0,  1]).week(), 1, 'Jan  1 2011 should be week 1');
+    assert.equal(moment([2011,  0,  2]).week(), 2, 'Jan  2 2011 should be week 2');
+    assert.equal(moment([2011,  0,  8]).week(), 2, 'Jan  8 2011 should be week 2');
+    assert.equal(moment([2011,  0,  9]).week(), 3, 'Jan  9 2011 should be week 3');
+});
+
 test('week year overflows', function (assert) {
     assert.equal('2005-01-01', moment.utc('2004-W53-6', moment.ISO_8601, true).format('YYYY-MM-DD'), '2004-W53-6 is 1st Jan 2005');
     assert.equal('2007-12-31', moment.utc('2008-W01-1', moment.ISO_8601, true).format('YYYY-MM-DD'), '2008-W01-1 is 31st Dec 2007');
index b6d9875de83e84ea2754107a9a40dc7f51a105cb..52c0d797a73fd5f906ed7a41bd7385ebf6b147e6 100644 (file)
@@ -1,6 +1,7 @@
 /*global QUnit:false*/
 
 import moment from '../moment';
+import { defineCommonLocaleTests } from './helpers/common-locale';
 
 export var test = QUnit.test;
 
@@ -43,4 +44,5 @@ export function localeModule (name, lifecycle) {
             }
         }
     });
+    defineCommonLocaleTests(name, -1, -1);
 }