ElggLanguagesTest = TestCase("ElggLanguagesTest"); ElggLanguagesTest.prototype.setUp = function() { this.ajax = $.ajax; //Immediately execute some dummy "returned" javascript instead of sending //an actual ajax request $.ajax = function(settings) { var lang = settings.data.language; elgg.config.translations[lang] = {'language':lang}; }; }; ElggLanguagesTest.prototype.tearDown = function() { $.ajax = this.ajax; //clear translations elgg.config.translations['en'] = undefined; elgg.config.translations['aa'] = undefined; }; ElggLanguagesTest.prototype.testLoadTranslations = function() { assertUndefined(elgg.config.translations['en']); assertUndefined(elgg.config.translations['aa']); elgg.reload_all_translations(); elgg.reload_all_translations('aa'); assertNotUndefined(elgg.config.translations['en']['language']); assertNotUndefined(elgg.config.translations['aa']['language']); }; ElggLanguagesTest.prototype.testElggEchoTranslates = function() { elgg.reload_all_translations('en'); elgg.reload_all_translations('aa'); assertEquals('en', elgg.echo('language')); assertEquals('aa', elgg.echo('language', 'aa')); }; ElggLanguagesTest.prototype.testElggEchoFallsBackToDefaultLanguage = function() { elgg.reload_all_translations('en'); assertEquals('en', elgg.echo('language', 'aa')); };