]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
my support 1778/head
authorDavid Rossellat <david.rossellat@gmail.com>
Fri, 18 Jul 2014 03:22:15 +0000 (10:22 +0700)
committerDavid Rossellat <david.rossellat@gmail.com>
Fri, 18 Jul 2014 03:22:15 +0000 (10:22 +0700)
lang/my.js [new file with mode: 0644]
test/lang/my.js [new file with mode: 0644]

diff --git a/lang/my.js b/lang/my.js
new file mode 100644 (file)
index 0000000..b244d5f
--- /dev/null
@@ -0,0 +1,88 @@
+// moment.js language configuration
+// language : Burmese (mm)
+// author : Squar team, mysquar.com
+
+(function (factory) {
+    if (typeof define === 'function' && define.amd) {
+        define(['moment'], factory); // AMD
+    } else if (typeof exports === 'object') {
+        module.exports = factory(require('../moment')); // Node
+    } else {
+        factory(window.moment); // Browser global
+    }
+}(function (moment) {
+    var symbolMap = {
+        '1': '၁',
+        '2': '၂',
+        '3': '၃',
+        '4': '၄',
+        '5': '၅',
+        '6': '၆',
+        '7': '၇',
+        '8': '၈',
+        '9': '၉',
+        '0': '၀'
+    }, numberMap = {
+        '၁': '1',
+        '၂': '2',
+        '၃': '3',
+        '၄': '4',
+        '၅': '5',
+        '၆': '6',
+        '၇': '7',
+        '၈': '8',
+        '၉': '9',
+        '၀': '0'
+    };
+    return moment.lang('my', {
+        months: "ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),
+        monthsShort: "ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),
+        weekdays: "တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),
+        weekdaysShort: "နွေ_လာ_င်္ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),
+        weekdaysMin: "နွေ_လာ_င်္ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),
+        longDateFormat: {
+            LT: "HH:mm",
+            L: "DD/MM/YYYY",
+            LL: "D MMMM YYYY",
+            LLL: "D MMMM YYYY LT",
+            LLLL: "dddd D MMMM YYYY LT"
+        },
+        calendar: {
+            sameDay: '[ယနေ.] LT [မှာ]',
+            nextDay: '[မနက်ဖြန်] LT [မှာ]',
+            nextWeek: 'dddd LT [မှာ]',
+            lastDay: '[မနေ.က] LT [မှာ]',
+            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: "လာမည့် %s မှာ",
+            past: "လွန်ခဲ့သော %s က",
+            s: "စက္ကန်.အနည်းငယ်",
+            m: "တစ်မိနစ်",
+            mm: "%d မိနစ်",
+            h: "တစ်နာရီ",
+            hh: "%d နာရီ",
+            d: "တစ်ရက်",
+            dd: "%d ရက်",
+            M: "တစ်လ",
+            MM: "%d လ",
+            y: "တစ်နှစ်",
+            yy: "%d နှစ်"
+        },
+        preparse: function (string) {
+            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4 // The week that contains Jan 1st is the first week of the year.
+        }
+    });
+}));
diff --git a/test/lang/my.js b/test/lang/my.js
new file mode 100644 (file)
index 0000000..d5e9882
--- /dev/null
@@ -0,0 +1,448 @@
+var moment = require("../../moment");
+
+
+/**************************************************
+  Myanmar Burmese
+ *************************************************/
+
+exports["lang:my"] = {
+    setUp: function (cb) {
+        moment.lang('my');
+        moment.createFromInputFallback = function () {
+            throw new Error("input not handled by moment");
+        };
+        cb();
+    },
+
+    tearDown: function (cb) {
+        moment.lang('en');
+        cb();
+    },
+
+    "parse": function (test) {
+        test.expect(96);
+        var tests = 'ဇန်နဝါရီ ဇန်_ဖေဖော်ဝါရီ ဖေ_မတ် မတ်_ဧပြီ ပြီ_မေ မေ_ဇွန် ဇွန်_ဇူလိုင် လိုင်_သြဂုတ် သြ_စက်တင်ဘာ စက်_အောက်တိုဘာ အောက်_နိုဝင်ဘာ နို_ဒီဇင်ဘာ ဒီ'.split("_"),
+            i;
+
+        function equalTest (input, mmm, i) {
+            test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
+        }
+        for (i = 0; i < 12; i++) {
+            tests[i] = tests[i].split(' ');
+            equalTest(tests[i][0], 'MMM', i);
+            equalTest(tests[i][1], 'MMM', i);
+            equalTest(tests[i][0], 'MMMM', i);
+            equalTest(tests[i][1], 'MMMM', i);
+            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+        }
+        test.done();
+    },
+
+    "format": function (test) {
+        test.expect(22);
+        var a = [
+                ['dddd, MMMM Do YYYY, h:mm:ss a', 'တနင်္ဂနွေ, ဖေဖော်ဝါရီ ၁၄ ၂၀၁၀, ၃:၂၅:၅၀ pm'],
+                ['ddd, hA', 'နွေ, ၃PM'],
+                ['M Mo MM MMMM MMM', '၂ ၂ ၀၂ ဖေဖော်ဝါရီ ဖေ'],
+                ['YYYY YY', '၂၀၁၀ ၁၀'],
+                ['D Do DD', '၁၄ ၁၄ ၁၄'],
+                ['d do dddd ddd dd', '၀ ၀ တနင်္ဂနွေ နွေ နွေ'],
+                ['DDD DDDo DDDD', '၄၅ ၄၅ ၀၄၅'],
+                ['w wo ww', '၆ ၆ ၀၆'],
+                ['h hh', '၃ ၀၃'],
+                ['H HH', '၁၅ ၁၅'],
+                ['m mm', '၂၅ ၂၅'],
+                ['s ss', '၅၀ ၅၀'],
+                ['a A', 'pm PM'],
+                ['[နှစ်၏] DDDo [ရက်မြောက်]', 'နှစ်၏ ၄၅ ရက်မြောက်'],
+                ['L', '၁၄/၀၂/၂၀၁၀'],
+                ['LL', '၁၄ ဖေဖော်ဝါရီ ၂၀၁၀'],
+                ['LLL', '၁၄ ဖေဖော်ဝါရီ ၂၀၁၀ ၁၅:၂၅'],
+                ['LLLL', 'တနင်္ဂနွေ ၁၄ ဖေဖော်ဝါရီ ၂၀၁၀ ၁၅:၂၅'],
+                ['l', '၁၄/၂/၂၀၁၀'],
+                ['ll', '၁၄ ဖေ ၂၀၁၀'],
+                ['lll', '၁၄ ဖေ ၂၀၁၀ ၁၅:၂၅'],
+                ['llll', 'နွေ ၁၄ ဖေ ၂၀၁၀ ၁၅:၂၅']
+            ],
+            b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+            i;
+        for (i = 0; i < a.length; i++) {
+            test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+        }
+        test.done();
+    },
+
+    "format ordinal": function (test) {
+        test.expect(31);
+        test.equal(moment([2011, 0, 1]).format('DDDo'), '၁', '၁');
+        test.equal(moment([2011, 0, 2]).format('DDDo'), '၂', '၂');
+        test.equal(moment([2011, 0, 3]).format('DDDo'), '၃', '၃');
+        test.equal(moment([2011, 0, 4]).format('DDDo'), '၄', '၄');
+        test.equal(moment([2011, 0, 5]).format('DDDo'), '၅', '၅');
+        test.equal(moment([2011, 0, 6]).format('DDDo'), '၆', '၆');
+        test.equal(moment([2011, 0, 7]).format('DDDo'), '၇', '၇');
+        test.equal(moment([2011, 0, 8]).format('DDDo'), '၈', '၈');
+        test.equal(moment([2011, 0, 9]).format('DDDo'), '၉', '၉');
+        test.equal(moment([2011, 0, 10]).format('DDDo'), '၁၀', '၁၀');
+
+        test.equal(moment([2011, 0, 11]).format('DDDo'), '၁၁', '၁၁');
+        test.equal(moment([2011, 0, 12]).format('DDDo'), '၁၂', '၁၂');
+        test.equal(moment([2011, 0, 13]).format('DDDo'), '၁၃', '၁၃');
+        test.equal(moment([2011, 0, 14]).format('DDDo'), '၁၄', '၁၄');
+        test.equal(moment([2011, 0, 15]).format('DDDo'), '၁၅', '၁၅');
+        test.equal(moment([2011, 0, 16]).format('DDDo'), '၁၆', '၁၆');
+        test.equal(moment([2011, 0, 17]).format('DDDo'), '၁၇', '၁၇');
+        test.equal(moment([2011, 0, 18]).format('DDDo'), '၁၈', '၁၈');
+        test.equal(moment([2011, 0, 19]).format('DDDo'), '၁၉', '၁၉');
+        test.equal(moment([2011, 0, 20]).format('DDDo'), '၂၀', '၂၀');
+
+        test.equal(moment([2011, 0, 21]).format('DDDo'), '၂၁', '၂၁');
+        test.equal(moment([2011, 0, 22]).format('DDDo'), '၂၂', '၂၂');
+        test.equal(moment([2011, 0, 23]).format('DDDo'), '၂၃', '၂၃');
+        test.equal(moment([2011, 0, 24]).format('DDDo'), '၂၄', '၂၄');
+        test.equal(moment([2011, 0, 25]).format('DDDo'), '၂၅', '၂၅');
+        test.equal(moment([2011, 0, 26]).format('DDDo'), '၂၆', '၂၆');
+        test.equal(moment([2011, 0, 27]).format('DDDo'), '၂၇', '၂၇');
+        test.equal(moment([2011, 0, 28]).format('DDDo'), '၂၈', '၂၈');
+        test.equal(moment([2011, 0, 29]).format('DDDo'), '၂၉', '၂၉');
+        test.equal(moment([2011, 0, 30]).format('DDDo'), '၃၀', '၃၀');
+
+        test.equal(moment([2011, 0, 31]).format('DDDo'), '၃၁', '၃၁');
+        test.done();
+    },
+
+    "format month": function (test) {
+        test.expect(12);
+        var expected = 'ဇန်နဝါရီ ဇန်_ဖေဖော်ဝါရီ ဖေ_မတ် မတ်_ဧပြီ ပြီ_မေ မေ_ဇွန် ဇွန်_ဇူလိုင် လိုင်_သြဂုတ် သြ_စက်တင်ဘာ စက်_အောက်တိုဘာ အောက်_နိုဝင်ဘာ နို_ဒီဇင်ဘာ ဒီ'.split("_"),
+            i;
+        for (i = 0; i < expected.length; i++) {
+            test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
+        }
+        test.done();
+    },
+
+    "format week": function (test) {
+        test.expect(7);
+        var expected = 'တနင်္ဂနွေ နွေ နွေ_တနင်္လာ လာ လာ_အင်္ဂါ င်္ဂါ င်္ဂါ_ဗုဒ္ဓဟူး ဟူး ဟူး_ကြာသပတေး ကြာ ကြာ_သောကြာ သော သော_စနေ နေ နေ'.split("_"),
+            i;
+
+        for (i = 0; i < expected.length; i++) {
+            test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
+        }
+        test.done();
+    },
+
+    "from": function (test) {
+        test.expect(28);
+        var start = moment([2007, 1, 28]);
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            s: 44
+        }), true), "စက္ကန်.အနည်းငယ်", "၄၄ စက္ကန်. = စက္ကန်.အနည်းငယ်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            s: 45
+        }), true), "တစ်မိနစ်", "၄၅ စက္ကန်. = တစ်မိနစ်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            s: 89
+        }), true), "တစ်မိနစ်", "၈၉ စက္ကန်. = တစ်မိနစ်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            s: 90
+        }), true), "၂ မိနစ်", "၉၀ စက္ကန်. =  ၂ မိနစ်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            m: 44
+        }), true), "၄၄ မိနစ်", "၄၄ မိနစ် = ၄၄ မိနစ်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            m: 45
+        }), true), "တစ်နာရီ", "၄၅ မိနစ် = ၁ နာရီ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            m: 89
+        }), true), "တစ်နာရီ", "၈၉ မိနစ် = တစ်နာရီ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            m: 90
+        }), true), "၂ နာရီ", "မိနစ် ၉၀= ၂ နာရီ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            h: 5
+        }), true), "၅ နာရီ", "၅ နာရီ= ၅ နာရီ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            h: 21
+        }), true), "၂၁ နာရီ", "၂၁ နာရီ =၂၁ နာရီ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            h: 22
+        }), true), "တစ်ရက်", "၂၂ နာရီ =တစ်ရက်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            h: 35
+        }), true), "တစ်ရက်", "၃၅ နာရီ =တစ်ရက်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            h: 36
+        }), true), "၂ ရက်", "၃၆ နာရီ = ၂ ရက်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            d: 1
+        }), true), "တစ်ရက်", "၁ ရက်= တစ်ရက်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            d: 5
+        }), true), "၅ ရက်", "၅ ရက် = ၅ ရက်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            d: 25
+        }), true), "၂၅ ရက်", "၂၅ ရက်= ၂၅ ရက်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            d: 26
+        }), true), "တစ်လ", "၂၆ ရက် = တစ်လ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            d: 30
+        }), true), "တစ်လ", "ရက် ၃၀ = တစ်လ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            d: 43
+        }), true), "တစ်လ", "၄၃ ရက် = တစ်လ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            d: 46
+        }), true), "၂ လ", "၄၆ ရက် = ၂ လ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            d: 74
+        }), true), "၂ လ", "၇၅ ရက်= ၂ လ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            d: 76
+        }), true), "၃ လ", "၇၆ ရက် = ၃ လ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            M: 1
+        }), true), "တစ်လ", "၁ လ = တစ်လ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            M: 5
+        }), true), "၅ လ", "၅ လ = ၅ လ");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            d: 345
+        }), true), "တစ်နှစ်", "၃၄၅ ရက် = တစ်နှစ်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            d: 548
+        }), true), "၂ နှစ်", "၅၄၈ ရက် = ၂ နှစ်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            y: 1
+        }), true), "တစ်နှစ်", "၁ နှစ် = တစ်နှစ်");
+        test.equal(start.from(moment([2007, 1, 28]).add({
+            y: 5
+        }), true), "၅ နှစ်", "၅ နှစ် = ၅ နှစ်");
+        test.done();
+    },
+
+    "suffix": function (test) {
+        test.expect(2);
+        test.equal(moment(30000).from(0), "လာမည့် စက္ကန်.အနည်းငယ် မှာ", "prefix");
+        test.equal(moment(0).from(30000), "လွန်ခဲ့သော စက္ကန်.အနည်းငယ် က", "suffix");
+        test.done();
+    },
+
+    "now from now": function (test) {
+        test.expect(1);
+        test.equal(moment().fromNow(), "လွန်ခဲ့သော စက္ကန်.အနည်းငယ် က", "ယခုမှစပြီး အတိတ်တွင်ဖော်ပြသလိုဖော်ပြမည်");
+        test.done();
+    },
+
+    "fromNow": function (test) {
+        test.expect(2);
+        test.equal(moment().add({
+            s: 30
+        }).fromNow(), "လာမည့် စက္ကန်.အနည်းငယ် မှာ", "လာမည့် စက္ကန်.အနည်းငယ် မှာ");
+        test.equal(moment().add({
+            d: 5
+        }).fromNow(), "လာမည့် ၅ ရက် မှာ", "လာမည့် ၅ ရက် မှာ");
+        test.done();
+    },
+
+    "calendar day": function (test) {
+        test.expect(6);
+
+        var a = moment().hours(2).minutes(0).seconds(0);
+
+        test.equal(moment(a).calendar(), "ယနေ. ၀၂:၀၀ မှာ", "ယနေ. ဒီအချိန်");
+        test.equal(moment(a).add({
+            m: 25
+        }).calendar(), "ယနေ. ၀၂:၂၅ မှာ", "ယခုမှ ၂၅ မိနစ်ပေါင်းထည့်");
+        test.equal(moment(a).add({
+            h: 1
+        }).calendar(), "ယနေ. ၀၃:၀၀ မှာ", "ယခုမှ ၁ နာရီပေါင်းထည့်");
+        test.equal(moment(a).add({
+            d: 1
+        }).calendar(), "မနက်ဖြန် ၀၂:၀၀ မှာ", "မနက်ဖြန် ဒီအချိန်");
+        test.equal(moment(a).subtract({
+            h: 1
+        }).calendar(), "ယနေ. ၀၁:၀၀ မှာ", "ယခုမှ ၁ နာရီနှုတ်");
+        test.equal(moment(a).subtract({
+            d: 1
+        }).calendar(), "မနေ.က ၀၂:၀၀ မှာ", "မနေ.က ဒီအချိန်");
+        test.done();
+    },
+
+    "calendar next week": function (test) {
+        test.expect(15);
+
+        var i, m;
+        for (i = 2; i < 7; i++) {
+            m = moment().add({
+                d: i
+            });
+            test.equal(m.calendar(), m.format('dddd LT [မှာ]'), "Today + " + i + " days current time");
+            m.hours(0).minutes(0).seconds(0).milliseconds(0);
+            test.equal(m.calendar(), m.format('dddd LT [မှာ]'), "Today + " + i + " days beginning of day");
+            m.hours(23).minutes(59).seconds(59).milliseconds(999);
+            test.equal(m.calendar(), m.format('dddd LT [မှာ]'), "Today + " + i + " days end of day");
+        }
+        test.done();
+    },
+
+    "calendar last week": function (test) {
+        test.expect(15);
+
+        var i, m;
+
+        for (i = 2; i < 7; i++) {
+            m = moment().subtract({
+                d: i
+            });
+            test.equal(m.calendar(), m.format('[ပြီးခဲ့သော] dddd LT [မှာ]'), "Today - " + i + " days current time");
+            m.hours(0).minutes(0).seconds(0).milliseconds(0);
+            test.equal(m.calendar(), m.format('[ပြီးခဲ့သော] dddd LT [မှာ]'), "Today - " + i + " days beginning of day");
+            m.hours(23).minutes(59).seconds(59).milliseconds(999);
+            test.equal(m.calendar(), m.format('[ပြီးခဲ့သော] dddd LT [မှာ]'), "Today - " + i + " days end of day");
+        }
+        test.done();
+    },
+
+    "calendar all else": function (test) {
+        test.expect(4);
+
+        var weeksAgo = moment().subtract({
+                w: 1
+            }),
+            weeksFromNow = moment().add({
+                w: 1
+            });
+
+        test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "လွန်ခဲ့သော ၁ ပတ်က");
+        test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "၁ ပတ်အတွင်း");
+
+        weeksAgo = moment().subtract({
+            w: 2
+        });
+        weeksFromNow = moment().add({
+            w: 2
+        });
+
+        test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "၂ ပတ် အရင်က");
+        test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "၂ ပတ် အတွင်း");
+
+        test.done();
+    },
+
+    // Monday is the first day of the week.
+    // The week that contains Jan 4th is the first week of the year.
+
+    "weeks year starting sunday": function (test) {
+        test.expect(5);
+
+        test.equal(moment([2012, 0, 1]).week(), 52, "Jan  1 2012 should be week 52");
+        test.equal(moment([2012, 0, 2]).week(), 1, "Jan  2 2012 should be week 1");
+        test.equal(moment([2012, 0, 8]).week(), 1, "Jan  8 2012 should be week 1");
+        test.equal(moment([2012, 0, 9]).week(), 2, "Jan  9 2012 should be week 2");
+        test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
+
+        test.done();
+    },
+
+    "weeks year starting monday": function (test) {
+        test.expect(5);
+
+        test.equal(moment([2007, 0, 1]).week(), 1, "Jan  1 2007 should be week 1");
+        test.equal(moment([2007, 0, 7]).week(), 1, "Jan  7 2007 should be week 1");
+        test.equal(moment([2007, 0, 8]).week(), 2, "Jan  8 2007 should be week 2");
+        test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
+        test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
+
+        test.done();
+    },
+
+    "weeks year starting tuesday": function (test) {
+        test.expect(6);
+
+        test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
+        test.equal(moment([2008, 0, 1]).week(), 1, "Jan  1 2008 should be week 1");
+        test.equal(moment([2008, 0, 6]).week(), 1, "Jan  6 2008 should be week 1");
+        test.equal(moment([2008, 0, 7]).week(), 2, "Jan  7 2008 should be week 2");
+        test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
+        test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
+
+        test.done();
+    },
+
+    "weeks year starting wednesday": function (test) {
+        test.expect(6);
+
+        test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
+        test.equal(moment([2003, 0, 1]).week(), 1, "Jan  1 2003 should be week 1");
+        test.equal(moment([2003, 0, 5]).week(), 1, "Jan  5 2003 should be week 1");
+        test.equal(moment([2003, 0, 6]).week(), 2, "Jan  6 2003 should be week 2");
+        test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
+        test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
+
+        test.done();
+    },
+
+    "weeks year starting thursday": function (test) {
+        test.expect(6);
+
+        test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
+        test.equal(moment([2009, 0, 1]).week(), 1, "Jan  1 2009 should be week 1");
+        test.equal(moment([2009, 0, 4]).week(), 1, "Jan  4 2009 should be week 1");
+        test.equal(moment([2009, 0, 5]).week(), 2, "Jan  5 2009 should be week 2");
+        test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
+        test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
+
+        test.done();
+    },
+
+    "weeks year starting friday": function (test) {
+        test.expect(6);
+
+        test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
+        test.equal(moment([2010, 0, 1]).week(), 53, "Jan  1 2010 should be week 53");
+        test.equal(moment([2010, 0, 3]).week(), 53, "Jan  3 2010 should be week 53");
+        test.equal(moment([2010, 0, 4]).week(), 1, "Jan  4 2010 should be week 1");
+        test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
+        test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
+
+        test.done();
+    },
+
+    "weeks year starting saturday": function (test) {
+        test.expect(6);
+
+        test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
+        test.equal(moment([2011, 0, 1]).week(), 52, "Jan  1 2011 should be week 52");
+        test.equal(moment([2011, 0, 2]).week(), 52, "Jan  2 2011 should be week 52");
+        test.equal(moment([2011, 0, 3]).week(), 1, "Jan  3 2011 should be week 1");
+        test.equal(moment([2011, 0, 9]).week(), 1, "Jan  9 2011 should be week 1");
+        test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
+
+        test.done();
+    },
+
+    "weeks year starting sunday formatted": function (test) {
+        test.expect(5);
+
+        test.equal(moment([2012, 0, 1]).format('w ww wo'), '၅၂ ၅၂ ၅၂', "Jan  1 2012 should be week 52");
+        test.equal(moment([2012, 0, 2]).format('w ww wo'), '၁ ၀၁ ၁', "Jan  2 2012 should be week 1");
+        test.equal(moment([2012, 0, 8]).format('w ww wo'), '၁ ၀၁ ၁', "Jan  8 2012 should be week 1");
+        test.equal(moment([2012, 0, 9]).format('w ww wo'), '၂ ၀၂ ၂', "Jan  9 2012 should be week 2");
+        test.equal(moment([2012, 0, 15]).format('w ww wo'), '၂ ၀၂ ၂', "Jan 15 2012 should be week 2");
+
+        test.done();
+    },
+
+    "returns the name of the language": function (test) {
+        if (typeof module !== 'undefined' && module.exports) {
+            test.equal(require('../../lang/my'), 'my', "module should export my");
+        }
+
+        test.done();
+    }
+};