Skip to content
This repository has been archived by the owner on Jan 29, 2024. It is now read-only.

Commit

Permalink
fix(tests): fix tests for preferredLanguage()
Browse files Browse the repository at this point in the history
  • Loading branch information
0x-r4bbit committed May 7, 2013
1 parent 6c30ec8 commit f1b5084
Showing 1 changed file with 62 additions and 100 deletions.
162 changes: 62 additions & 100 deletions test/unit/translateServiceSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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() {

This comment has been minimized.

Copy link
@DWand

DWand May 8, 2013

Member

"...during config phase". Read the title of the next test. It looks strange )))

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() {

This comment has been minimized.

Copy link
@DWand

DWand May 8, 2013

Member

"...in runtime". Read the title of the previous test. It looks strange )))

inject(function($translate){
var prevLang = $translate.preferredLanguage();
$translate.preferredLanguage('de_DE');

This comment has been minimized.

Copy link
@DWand

DWand May 8, 2013

Member

This langKey isn't correct.
The correct langKey is en_EN, because we have already changed a language to de_DE in config. So here prevLang = de_DE.

This comment has been minimized.

Copy link
@0x-r4bbit

0x-r4bbit May 8, 2013

Author Member

Fix and PR please :)

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());
});
});
});

Expand Down

0 comments on commit f1b5084

Please sign in to comment.