diff options
| author | Trey Hunner <trey@treyhunner.com> | 2015-04-14 10:55:57 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-06-30 21:04:16 -0400 |
| commit | 2d0dead224b6448072b72b37d2fbcc8dc3afa007 (patch) | |
| tree | 6dfb01a60cefc0dcf5cdcb35ac5c946a2cab98e0 /js_tests/admin/jsi18n-mocks.test.js | |
| parent | 3bbaf84d6533fb61ac0038f2bbe52ee0d7b4fd10 (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.js | 82 |
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)); |
