]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Add a getter for moment.lang()
authorTim Wood <washwithcare@gmail.com>
Wed, 11 Apr 2012 02:18:09 +0000 (19:18 -0700)
committerTim Wood <washwithcare@gmail.com>
Wed, 11 Apr 2012 02:18:09 +0000 (19:18 -0700)
#266

moment.js
test/moment/lang.js [new file with mode: 0644]

index 8b87a9d7a3f65c86f6d5080cbef2f3d33fbefe14..5f742f07e34453a6deb5b65219c3e348c9b68f6b 100644 (file)
--- a/moment.js
+++ b/moment.js
@@ -9,6 +9,7 @@
     var moment,
         round = Math.round,
         languages = {},
+        currentLanguage = 'en',
         hasModule = (typeof module !== 'undefined'),
         paramsToParse = 'months|monthsShort|monthsParse|weekdays|weekdaysShort|longDateFormat|calendar|relativeTime|ordinal|meridiem'.split('|'),
         i,
             param,
             req,
             parse = [];
+        if (!key) {
+            return currentLanguage;
+        }
         if (values) {
             for (i = 0; i < 12; i++) {
                 parse[i] = new RegExp('^' + values.months[i] + '|^' + values.monthsShort[i].replace('.', ''), 'i');
                 param = paramsToParse[i];
                 moment[param] = languages[key][param] || languages.en[param];
             }
+            currentLanguage = key;
         } else {
             if (hasModule) {
                 req = require('./lang/' + key);
diff --git a/test/moment/lang.js b/test/moment/lang.js
new file mode 100644 (file)
index 0000000..7ed208f
--- /dev/null
@@ -0,0 +1,21 @@
+var moment = require("../../moment");
+
+exports.lang = {
+    "getter" : function(test) {
+        test.expect(4);
+
+        moment.lang('en');
+        test.equal(moment.lang(), 'en', 'Lang should return en by default');
+
+        moment.lang('fr');
+        test.equal(moment.lang(), 'fr', 'Lang should return the changed language');
+
+        moment.lang('en-gb');
+        test.equal(moment.lang(), 'en-gb', 'Lang should return the changed language');
+
+        moment.lang('en');
+        test.equal(moment.lang(), 'en', 'Lang should reset');
+
+        test.done();
+    }
+};