aboutsummaryrefslogtreecommitdiff
path: root/js/tests/ElggLanguagesTest.js
blob: 9186ff5bbad1c00d5ae0e2f2afb0fff2d193f766 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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'));
};