summaryrefslogtreecommitdiff
path: root/js_tests/admin/jsi18n-mocks.test.js
diff options
context:
space:
mode:
authorTrey Hunner <trey@treyhunner.com>2015-04-14 10:55:57 -0400
committerTim Graham <timograham@gmail.com>2015-06-30 21:04:16 -0400
commit2d0dead224b6448072b72b37d2fbcc8dc3afa007 (patch)
tree6dfb01a60cefc0dcf5cdcb35ac5c946a2cab98e0 /js_tests/admin/jsi18n-mocks.test.js
parent3bbaf84d6533fb61ac0038f2bbe52ee0d7b4fd10 (diff)
DEP 0003 -- Added JavaScript unit tests.
Setup QUnit, added tests, and measured test coverage. Thanks to Nick Sanford for the initial tests.
Diffstat (limited to 'js_tests/admin/jsi18n-mocks.test.js')
-rw-r--r--js_tests/admin/jsi18n-mocks.test.js82
1 files changed, 82 insertions, 0 deletions
diff --git a/js_tests/admin/jsi18n-mocks.test.js b/js_tests/admin/jsi18n-mocks.test.js
new file mode 100644
index 0000000000..dcd7c67c3e
--- /dev/null
+++ b/js_tests/admin/jsi18n-mocks.test.js
@@ -0,0 +1,82 @@
+(function (globals) {
+
+ var django = globals.django || (globals.django = {});
+
+ django.pluralidx = function (count) { return (count == 1) ? 0 : 1; };
+
+ /* gettext identity library */
+
+ django.gettext = function (msgid) { return msgid; };
+ django.ngettext = function (singular, plural, count) { return (count == 1) ? singular : plural; };
+ django.gettext_noop = function (msgid) { return msgid; };
+ django.pgettext = function (context, msgid) { return msgid; };
+ django.npgettext = function (context, singular, plural, count) { return (count == 1) ? singular : plural; };
+
+ django.interpolate = function (fmt, obj, named) {
+ if (named) {
+ return fmt.replace(/%\(\w+\)s/g, function(match){return String(obj[match.slice(2,-2)])});
+ } else {
+ return fmt.replace(/%s/g, function(match){return String(obj.shift())});
+ }
+ };
+
+ /* formatting library */
+
+ django.formats = {
+ "DATETIME_FORMAT": "N j, Y, P",
+ "DATETIME_INPUT_FORMATS": [
+ "%Y-%m-%d %H:%M:%S",
+ "%Y-%m-%d %H:%M:%S.%f",
+ "%Y-%m-%d %H:%M",
+ "%Y-%m-%d",
+ "%m/%d/%Y %H:%M:%S",
+ "%m/%d/%Y %H:%M:%S.%f",
+ "%m/%d/%Y %H:%M",
+ "%m/%d/%Y",
+ "%m/%d/%y %H:%M:%S",
+ "%m/%d/%y %H:%M:%S.%f",
+ "%m/%d/%y %H:%M",
+ "%m/%d/%y"
+ ],
+ "DATE_FORMAT": "N j, Y",
+ "DATE_INPUT_FORMATS": [
+ "%Y-%m-%d",
+ "%m/%d/%Y",
+ "%m/%d/%y"
+ ],
+ "DECIMAL_SEPARATOR": ".",
+ "FIRST_DAY_OF_WEEK": "0",
+ "MONTH_DAY_FORMAT": "F j",
+ "NUMBER_GROUPING": "3",
+ "SHORT_DATETIME_FORMAT": "m/d/Y P",
+ "SHORT_DATE_FORMAT": "m/d/Y",
+ "THOUSAND_SEPARATOR": ",",
+ "TIME_FORMAT": "P",
+ "TIME_INPUT_FORMATS": [
+ "%H:%M:%S",
+ "%H:%M:%S.%f",
+ "%H:%M"
+ ],
+ "YEAR_MONTH_FORMAT": "F Y"
+ };
+
+ django.get_format = function (format_type) {
+ var value = django.formats[format_type];
+ if (typeof(value) == 'undefined') {
+ return format_type;
+ } else {
+ return value;
+ }
+ };
+
+ /* add to global namespace */
+ globals.pluralidx = django.pluralidx;
+ globals.gettext = django.gettext;
+ globals.ngettext = django.ngettext;
+ globals.gettext_noop = django.gettext_noop;
+ globals.pgettext = django.pgettext;
+ globals.npgettext = django.npgettext;
+ globals.interpolate = django.interpolate;
+ globals.get_format = django.get_format;
+
+}(this));