@@ -2,79 +2,81 @@ import { isLanguageAvailable } from './'
22import * as isLocaleSupported from '../isLocaleSupported'
33
44describe ( 'isLanguageAvailable' , ( ) => {
5- describe ( 'with Intl.Locale supported' , ( ) => {
6- it ( 'returns true if language is available but region wasn\'t' , ( ) => {
7- expect . assertions ( 1 )
8-
9- const translated = [ 'en-US' ]
10- const browser = 'en-GB'
11- const index = 0
12- const array = [ { locale : 'en-US' , priority : 0 } ]
13-
14- expect ( isLanguageAvailable ( browser , translated , index , array ) )
15- . toBe ( true )
16- } )
17-
18- it ( 'returns true if language is available but region wasn\'t (lowercase region inputs)' , ( ) => {
19- expect . assertions ( 1 )
20-
21- const translated = [ 'en-us' ]
22- const browser = 'en-gb'
23- const index = 0
24- const array = [ { locale : 'en-us' , priority : 0 } ]
25-
26- expect ( isLanguageAvailable ( browser , translated , index , array ) )
27- . toBe ( true )
28- } )
29-
30- it ( 'returns true if language is available (language only inputs)' , ( ) => {
31- expect . assertions ( 1 )
32-
33- const translated = [ 'en' ]
34- const browser = 'en-gb'
35- const index = 0
36- const array = [ { locale : 'en' , priority : 0 } ]
37-
38- expect ( isLanguageAvailable ( browser , translated , index , array ) )
39- . toBe ( true )
5+ if ( Intl && 'Locale' in Intl ) {
6+ describe ( 'with Intl.Locale supported' , ( ) => {
7+ it ( 'returns true if language is available but region wasn\'t' , ( ) => {
8+ expect . assertions ( 1 )
9+
10+ const translated = [ 'en-US' ]
11+ const browser = 'en-GB'
12+ const index = 0
13+ const array = [ { locale : 'en-US' , priority : 0 } ]
14+
15+ expect ( isLanguageAvailable ( browser , translated , index , array ) )
16+ . toBe ( true )
17+ } )
18+
19+ it ( 'returns true if language is available but region wasn\'t (lowercase region inputs)' , ( ) => {
20+ expect . assertions ( 1 )
21+
22+ const translated = [ 'en-us' ]
23+ const browser = 'en-gb'
24+ const index = 0
25+ const array = [ { locale : 'en-us' , priority : 0 } ]
26+
27+ expect ( isLanguageAvailable ( browser , translated , index , array ) )
28+ . toBe ( true )
29+ } )
30+
31+ it ( 'returns true if language is available (language only inputs)' , ( ) => {
32+ expect . assertions ( 1 )
33+
34+ const translated = [ 'en' ]
35+ const browser = 'en-gb'
36+ const index = 0
37+ const array = [ { locale : 'en' , priority : 0 } ]
38+
39+ expect ( isLanguageAvailable ( browser , translated , index , array ) )
40+ . toBe ( true )
41+ } )
42+
43+ it ( 'returns false if language and region aren\'t available' , ( ) => {
44+ expect . assertions ( 1 )
45+
46+ const translated = [ 'en-US' ]
47+ const browser = 'fr-FR'
48+ const index = 0
49+ const array = [ { locale : 'en-US' , priority : 0 } ]
50+
51+ expect ( isLanguageAvailable ( browser , translated , index , array ) )
52+ . toBe ( false )
53+ } )
54+
55+ it ( 'returns false if language and region aren\'t available (lowercase region inputs)' , ( ) => {
56+ expect . assertions ( 1 )
57+
58+ const translated = [ 'en-us' ]
59+ const browser = 'fr-fr'
60+ const index = 0
61+ const array = [ { locale : 'en-us' , priority : 0 } ]
62+
63+ expect ( isLanguageAvailable ( browser , translated , index , array ) )
64+ . toBe ( false )
65+ } )
66+
67+ it ( 'returns false if language isn\'t available (language only inputs)' , ( ) => {
68+ expect . assertions ( 1 )
69+
70+ const translated = [ 'en' ]
71+ const browser = 'fr-fr'
72+ const index = 0
73+ const array = [ { locale : 'en' , priority : 0 } ]
74+
75+ expect ( isLanguageAvailable ( browser , translated , index , array ) )
76+ . toBe ( false )
77+ } )
4078 } )
41-
42- it ( 'returns false if language and region aren\'t available' , ( ) => {
43- expect . assertions ( 1 )
44-
45- const translated = [ 'en-US' ]
46- const browser = 'fr-FR'
47- const index = 0
48- const array = [ { locale : 'en-US' , priority : 0 } ]
49-
50- expect ( isLanguageAvailable ( browser , translated , index , array ) )
51- . toBe ( false )
52- } )
53-
54- it ( 'returns false if language and region aren\'t available (lowercase region inputs)' , ( ) => {
55- expect . assertions ( 1 )
56-
57- const translated = [ 'en-us' ]
58- const browser = 'fr-fr'
59- const index = 0
60- const array = [ { locale : 'en-us' , priority : 0 } ]
61-
62- expect ( isLanguageAvailable ( browser , translated , index , array ) )
63- . toBe ( false )
64- } )
65-
66- it ( 'returns false if language isn\'t available (language only inputs)' , ( ) => {
67- expect . assertions ( 1 )
68-
69- const translated = [ 'en' ]
70- const browser = 'fr-fr'
71- const index = 0
72- const array = [ { locale : 'en' , priority : 0 } ]
73-
74- expect ( isLanguageAvailable ( browser , translated , index , array ) )
75- . toBe ( false )
76- } )
77- } )
79+ }
7880
7981 describe ( 'without Intl.Locale supported' , ( ) => {
8082 beforeEach ( ( ) => {
0 commit comments