File tree Expand file tree Collapse file tree 3 files changed +72
-0
lines changed Expand file tree Collapse file tree 3 files changed +72
-0
lines changed Original file line number Diff line number Diff line change 108108 * @return {object } A key object with main and sub properties.
109109 */
110110 Lang . prototype . parseKey = function ( key ) {
111+ if ( typeof key !== 'string' ) {
112+ return null ;
113+ }
111114 var segments = key . split ( '.' ) ;
112115 var subKey = segments . pop ( ) ;
113116 segments . unshift ( this . getLocale ( ) ) ;
Original file line number Diff line number Diff line change 1+ 'use strict' ;
2+
3+ var util = require ( 'util' ) ;
4+ var Lang = new ( require ( '../../js/lang.js' ) ) ( ) ;
5+ var messages = require ( './data/messages' ) ;
6+
7+ Lang . setMessages ( messages ) ;
8+
9+ describe ( 'The Lang\'s locale methods' , function ( ) {
10+
11+ it ( 'should have a getLocale' , function ( ) {
12+ expect ( Lang . getLocale ) . toBeDefined ( ) ;
13+ expect ( typeof Lang . getLocale ) . toBe ( 'function' ) ;
14+ } ) ;
15+
16+ it ( 'should have a setLocale' , function ( ) {
17+ expect ( Lang . setLocale ) . toBeDefined ( ) ;
18+ expect ( typeof Lang . setLocale ) . toBe ( 'function' ) ;
19+ } ) ;
20+
21+ it ( 'should return the default locale' , function ( ) {
22+ expect ( Lang . getLocale ( ) ) . toBe ( 'en' ) ;
23+ } ) ;
24+
25+ it ( 'should return the locale specified' , function ( ) {
26+ Lang . setLocale ( 'es' ) ;
27+ expect ( Lang . getLocale ( ) ) . toBe ( 'es' ) ;
28+ } ) ;
29+
30+ it ( 'should affect messages' , function ( ) {
31+ Lang . setLocale ( 'es' ) ;
32+ var es = Lang . get ( 'messages.home' ) ;
33+ Lang . setLocale ( 'en' ) ;
34+ var en = Lang . get ( 'messages.home' ) ;
35+ expect ( es ) . not . toBe ( en ) ;
36+ } ) ;
37+
38+ } ) ;
Original file line number Diff line number Diff line change 1+ 'use strict' ;
2+
3+ var util = require ( 'util' ) ;
4+ var Lang = new ( require ( '../../js/lang.js' ) ) ( ) ;
5+ var messages = require ( './data/messages' ) ;
6+
7+ Lang . setMessages ( messages ) ;
8+
9+ describe ( 'The Lang.parseKey() method' , function ( ) {
10+
11+ it ( 'should exists' , function ( ) {
12+ expect ( Lang . parseKey ) . toBeDefined ( ) ;
13+ } ) ;
14+
15+ it ( 'should be a function' , function ( ) {
16+ expect ( typeof Lang . parseKey ) . toBe ( 'function' ) ;
17+ } ) ;
18+
19+ it ( 'should parse keys correctly' , function ( ) {
20+ expect ( Lang . parseKey ( null ) ) . toBe ( null ) ;
21+ expect ( Lang . parseKey ( 'foo' ) ) . toEqual ( {
22+ main : 'en' ,
23+ sub : 'foo'
24+ } ) ;
25+ expect ( Lang . parseKey ( 'foo.bar' ) ) . toEqual ( {
26+ main : 'en.foo' ,
27+ sub : 'bar'
28+ } ) ;
29+ } ) ;
30+
31+ } ) ;
You can’t perform that action at this time.
0 commit comments