define(['../dateutil_factory.js'], function(DateUtilIterator) { 'use strict'; describe('DateUtilFactory', function() { beforeEach(function() { setFixtures('<div class="test"></div>'); }); describe('stringHandler', function() { it('returns a complete string', function() { var localTimeString = 'RANDOM_STRING'; var containerString = 'RANDOM_STRING_TWO {random_token}'; var dateToken = 'random_token'; var answer = 'RANDOM_STRING_TWO RANDOM_STRING'; expect(DateUtilIterator.stringHandler(localTimeString, containerString, dateToken)).toEqual(answer); }); }); describe('transform', function() { var $form; it('localizes some times', function() { /* we have to generate a fake span and then test the resultant texts */ var iterationKey = '.localized-datetime'; var testLangs = { en: 'Due Oct 14, 2016 08:00 UTC', ru: 'Due 14 окт. 2016 г. 08:00 UTC', ar: 'Due ١٤ تشرين الأول أكتوبر ٢٠١٦ ٠٨:٠٠ UTC', fr: 'Due 14 oct. 2016 08:00 UTC' }; $form = $( '<span class="subtitle-name localized-datetime" ' + 'data-timezone="UTC" ' + 'data-datetime="2016-10-14 08:00:00+00:00" ' + 'data-string="Due {date}"></span>' ); Object.keys(testLangs).forEach(function(key) { $form.attr('data-language', String(key)); $(document.body).append($form); DateUtilIterator.transform(iterationKey); expect($form.text()).toEqual(testLangs[key]); $form.remove(); }); $form = null; }); }); }); });