diff --git a/test/unit/translateServiceSpec.js b/test/unit/translateServiceSpec.js index 273b34546..0dbbb8a4b 100644 --- a/test/unit/translateServiceSpec.js +++ b/test/unit/translateServiceSpec.js @@ -121,6 +121,8 @@ describe('ngTranslate', function () { }); $translateProvider.uses('de_DE'); $translateProvider.rememberLanguage(true); + $translateProvider.preferredLanguage('en_EN'); + $translateProvider.preferredLanguage('de_DE'); })); var $translate, $rootScope, $compile; @@ -233,128 +235,88 @@ describe('ngTranslate', function () { }); }); - describe('$translateService preferredLanguage()', function () { + describe('$translateService#preferredLanguage()', function () { - describe('function', function(){ - beforeEach(module('ngTranslate')); - - var $translate; - beforeEach(inject(function (_$translate_) { - $translate = _$translate_; - })); - - it('should be defined', function() { - inject(function($translate){ - expect($translate.preferredLanguage).toBeDefined(); - }); + it('should be defined', function() { + inject(function($translate){ + expect($translate.preferredLanguage).toBeDefined(); }); + }); - it('should be a function', function() { - inject(function($translate){ - expect(typeof $translate.preferredLanguage).toBe('function'); - }); + it('should be a function', function() { + inject(function($translate){ + expect(typeof $translate.preferredLanguage).toBe('function'); }); }); - describe('at the config phase', function() { - beforeEach(module('ngTranslate', function ($translateProvider) { - $translateProvider.translations('de_DE', {}); - $translateProvider.translations('en_EN', {}); - $translateProvider.preferredLanguage('en_EN'); - $translateProvider.preferredLanguage('de_DE'); - })); - - var $translate; - beforeEach(inject(function (_$translate_) { - $translate = _$translate_; - })); - - it('should allow to change preferred language', function() { - inject(function($translate){ - expect($translate.preferredLanguage()).toEqual('de_DE'); - }); + it('should allow to change preferred language', function() { + inject(function($translate){ + expect($translate.preferredLanguage()).toEqual('de_DE'); }); - }); - describe('at the runtime phase', function() { - beforeEach(module('ngTranslate', function ($translateProvider) { - $translateProvider.translations('de_DE', {}); - $translateProvider.translations('en_EN', {}); - $translateProvider.preferredLanguage('en_EN'); - })); - - var $translate; - beforeEach(inject(function (_$translate_) { - $translate = _$translate_; - })); - - it('shouldn\'t allow to change preferred language', function() { - inject(function($translate){ - var prevLang = $translate.preferredLanguage(); - $translate.preferredLanguage('de_DE'); - expect($translate.preferredLanguage()).toBe(prevLang); - }); + it('shouldn\'t allow to change preferred language', function() { + inject(function($translate){ + var prevLang = $translate.preferredLanguage(); + $translate.preferredLanguage('de_DE'); + expect($translate.preferredLanguage()).toBe(prevLang); }); - }); + }); + }); - describe('if no language is specified', function() { - beforeEach(module('ngTranslate', function ($translateProvider) { - $translateProvider.translations('de_DE', { - 'HELLO': 'Hallo da!' - }); - $translateProvider.translations('en_EN', { - 'HELLO': 'Hello there!' - }); - })); - - var $translate; - beforeEach(inject(function (_$translate_) { - $translate = _$translate_; - })); + describe('if no language is specified', function() { + beforeEach(module('ngTranslate', function ($translateProvider) { + $translateProvider.translations('de_DE', { + 'HELLO': 'Hallo da!' + }); + $translateProvider.translations('en_EN', { + 'HELLO': 'Hello there!' + }); + })); - it ('should return undefined', function() { - inject(function($translate){ - expect($translate.preferredLanguage()).toBeUndefined(); - }); - }); + var $translate; + beforeEach(inject(function (_$translate_) { + $translate = _$translate_; + })); + it ('should return undefined', function() { + inject(function($translate){ + expect($translate.preferredLanguage()).toBeUndefined(); }); + }); - describe('if language is specified',function(){ - beforeEach(module('ngTranslate', function ($translateProvider) { - $translateProvider.translations('de_DE', {}); - $translateProvider.translations('en_EN', {}); - $translateProvider.preferredLanguage('en_EN'); - $translateProvider.rememberLanguage(false); - })); - - var $translate; - beforeEach(inject(function (_$translate_) { - $translate = _$translate_; - })); + }); - it ('should return a string', function() { - inject(function($translate){ - expect(typeof $translate.preferredLanguage()).toBe('string'); - }); - }); + describe('if language is specified',function(){ + beforeEach(module('ngTranslate', function ($translateProvider) { + $translateProvider.translations('de_DE', {}); + $translateProvider.translations('en_EN', {}); + $translateProvider.preferredLanguage('en_EN'); + $translateProvider.rememberLanguage(false); + })); - it ('should return a correct language code', function() { - inject(function($translate){ - expect($translate.preferredLanguage()).toEqual('en_EN'); - }); - }); + var $translate; + beforeEach(inject(function (_$translate_) { + $translate = _$translate_; + })); - it ('should be equal to the uses method if rememberLanguage is false', function() { - inject(function($translate){ - expect($translate.uses()).toEqual($translate.preferredLanguage()); - }); - }); + it ('should return a string', function() { + inject(function($translate){ + expect(typeof $translate.preferredLanguage()).toBe('string'); + }); + }); + it ('should return a correct language code', function() { + inject(function($translate){ + expect($translate.preferredLanguage()).toEqual('en_EN'); }); + }); + it ('should be equal to the uses method if rememberLanguage is false', function() { + inject(function($translate){ + expect($translate.uses()).toEqual($translate.preferredLanguage()); + }); }); });