@@ -11,32 +11,64 @@ describe('Accept-Language', () => {
11
11
12
12
it ( 'initializes with a string' , ( ) => {
13
13
let header = new AcceptLanguage ( 'en-US,en;q=0.9' ) ;
14
- assert . equal ( header . get ( 'en-US' ) , 1 ) ;
15
- assert . equal ( header . get ( 'en' ) , 0.9 ) ;
14
+ assert . equal ( header . size , 2 ) ;
16
15
} ) ;
17
16
18
17
it ( 'initializes with an array' , ( ) => {
19
18
let header = new AcceptLanguage ( [ 'en-US' , [ 'en' , 0.9 ] ] ) ;
20
- assert . equal ( header . get ( 'en-US' ) , 1 ) ;
21
- assert . equal ( header . get ( 'en' ) , 0.9 ) ;
19
+ assert . equal ( header . size , 2 ) ;
22
20
} ) ;
23
21
24
22
it ( 'initializes with an object' , ( ) => {
25
23
let header = new AcceptLanguage ( { 'en-US' : 1 , en : 0.9 } ) ;
26
- assert . equal ( header . get ( 'en-US' ) , 1 ) ;
27
- assert . equal ( header . get ( 'en' ) , 0.9 ) ;
24
+ assert . equal ( header . size , 2 ) ;
28
25
} ) ;
29
26
30
27
it ( 'initializes with another AcceptLanguage' , ( ) => {
31
28
let header = new AcceptLanguage ( new AcceptLanguage ( 'en-US,en;q=0.9' ) ) ;
32
- assert . equal ( header . get ( 'en-US' ) , 1 ) ;
33
- assert . equal ( header . get ( 'en' ) , 0.9 ) ;
29
+ assert . equal ( header . size , 2 ) ;
34
30
} ) ;
35
31
36
32
it ( 'handles whitespace in initial value' , ( ) => {
37
33
let header = new AcceptLanguage ( ' en-US , en;q= 0.9 ' ) ;
38
- assert . equal ( header . get ( 'en-US' ) , 1 ) ;
39
- assert . equal ( header . get ( 'en' ) , 0.9 ) ;
34
+ assert . equal ( header . size , 2 ) ;
35
+ } ) ;
36
+
37
+ it ( 'gets all languages' , ( ) => {
38
+ let header = new AcceptLanguage ( 'en-US,en;q=0.9' ) ;
39
+ assert . deepEqual ( header . languages , [ 'en-us' , 'en' ] ) ;
40
+ } ) ;
41
+
42
+ it ( 'gets all qualities' , ( ) => {
43
+ let header = new AcceptLanguage ( 'en-US,en;q=0.9' ) ;
44
+ assert . deepEqual ( header . qualities , [ 1 , 0.9 ] ) ;
45
+ } ) ;
46
+
47
+ it ( 'checks if a language is acceptable' , ( ) => {
48
+ let header = new AcceptLanguage ( 'en-US,en;q=0.9,fr;q=0.8' ) ;
49
+ assert . equal ( header . accepts ( 'en-US' ) , true ) ;
50
+ assert . equal ( header . accepts ( 'en' ) , true ) ;
51
+ assert . equal ( header . accepts ( 'en-GB' ) , true ) ;
52
+ assert . equal ( header . accepts ( 'fr' ) , true ) ;
53
+ assert . equal ( header . accepts ( 'fi' ) , false ) ;
54
+ } ) ;
55
+
56
+ it ( 'gets the correct quality values' , ( ) => {
57
+ let header = new AcceptLanguage ( 'en-US,en;q=0.9,fr;q=0.8' ) ;
58
+ assert . equal ( header . getQuality ( 'en-US' ) , 1 ) ;
59
+ assert . equal ( header . getQuality ( '*' ) , 1 ) ;
60
+ assert . equal ( header . getQuality ( 'en' ) , 1 ) ;
61
+ assert . equal ( header . getQuality ( 'en-GB' ) , 0.9 ) ;
62
+ assert . equal ( header . getQuality ( 'fr' ) , 0.8 ) ;
63
+ assert . equal ( header . getQuality ( 'fi' ) , 0 ) ;
64
+ } ) ;
65
+
66
+ it ( 'gets the preferred language' , ( ) => {
67
+ let header = new AcceptLanguage ( 'en-US,en;q=0.9' ) ;
68
+ assert . equal ( header . getPreferred ( [ 'en-GB' , 'en-US' ] ) , 'en-US' ) ;
69
+ assert . equal ( header . getPreferred ( [ 'en-GB' , 'en' ] ) , 'en' ) ;
70
+ assert . equal ( header . getPreferred ( [ 'fr' , 'en-GB' ] ) , 'en-GB' ) ;
71
+ assert . equal ( header . getPreferred ( [ 'fi' , 'ja' ] ) , null ) ;
40
72
} ) ;
41
73
42
74
it ( 'sets and gets languages' , ( ) => {
@@ -46,16 +78,10 @@ describe('Accept-Language', () => {
46
78
} ) ;
47
79
48
80
it ( 'deletes languages' , ( ) => {
49
- let header = new AcceptLanguage ( 'en-US' ) ;
50
- assert . equal ( header . delete ( 'en-US' ) , true ) ;
51
- assert . equal ( header . delete ( 'en' ) , false ) ;
52
- assert . equal ( header . get ( 'en-US' ) , undefined ) ;
53
- } ) ;
54
-
55
- it ( 'checks if language exists' , ( ) => {
56
81
let header = new AcceptLanguage ( 'en-US' ) ;
57
82
assert . equal ( header . has ( 'en-US' ) , true ) ;
58
- assert . equal ( header . has ( 'fs' ) , false ) ;
83
+ header . delete ( 'en-US' ) ;
84
+ assert . equal ( header . has ( 'en-US' ) , false ) ;
59
85
} ) ;
60
86
61
87
it ( 'clears all languages' , ( ) => {
@@ -64,21 +90,11 @@ describe('Accept-Language', () => {
64
90
assert . equal ( header . size , 0 ) ;
65
91
} ) ;
66
92
67
- it ( 'gets all languages' , ( ) => {
68
- let header = new AcceptLanguage ( 'en-US,en;q=0.9' ) ;
69
- assert . deepEqual ( header . languages , [ 'en-US' , 'en' ] ) ;
70
- } ) ;
71
-
72
- it ( 'gets all qualities' , ( ) => {
73
- let header = new AcceptLanguage ( 'en-US,en;q=0.9' ) ;
74
- assert . deepEqual ( header . qualities , [ 1 , 0.9 ] ) ;
75
- } ) ;
76
-
77
93
it ( 'iterates over entries' , ( ) => {
78
94
let header = new AcceptLanguage ( 'en-US,en;q=0.9' ) ;
79
95
let entries = Array . from ( header . entries ( ) ) ;
80
96
assert . deepEqual ( entries , [
81
- [ 'en-US ' , 1 ] ,
97
+ [ 'en-us ' , 1 ] ,
82
98
[ 'en' , 0.9 ] ,
83
99
] ) ;
84
100
} ) ;
@@ -87,7 +103,7 @@ describe('Accept-Language', () => {
87
103
let header = new AcceptLanguage ( 'en-US,en;q=0.9' ) ;
88
104
let entries = Array . from ( header ) ;
89
105
assert . deepEqual ( entries , [
90
- [ 'en-US ' , 1 ] ,
106
+ [ 'en-us ' , 1 ] ,
91
107
[ 'en' , 0.9 ] ,
92
108
] ) ;
93
109
} ) ;
@@ -99,7 +115,7 @@ describe('Accept-Language', () => {
99
115
result . push ( [ language , quality ] ) ;
100
116
} ) ;
101
117
assert . deepEqual ( result , [
102
- [ 'en-US ' , 1 ] ,
118
+ [ 'en-us ' , 1 ] ,
103
119
[ 'en' , 0.9 ] ,
104
120
] ) ;
105
121
} ) ;
@@ -111,7 +127,7 @@ describe('Accept-Language', () => {
111
127
112
128
it ( 'converts to string correctly' , ( ) => {
113
129
let header = new AcceptLanguage ( 'en-US,en;q=0.9' ) ;
114
- assert . equal ( header . toString ( ) , 'en-US ,en;q=0.9' ) ;
130
+ assert . equal ( header . toString ( ) , 'en-us ,en;q=0.9' ) ;
115
131
} ) ;
116
132
117
133
it ( 'handles setting empty quality values' , ( ) => {
@@ -134,17 +150,17 @@ describe('Accept-Language', () => {
134
150
135
151
it ( 'sorts initial value' , ( ) => {
136
152
let header = new AcceptLanguage ( 'en;q=0.9,en-US' ) ;
137
- assert . equal ( header . toString ( ) , 'en-US ,en;q=0.9' ) ;
138
- assert . deepEqual ( header . languages , [ 'en-US ' , 'en' ] ) ;
153
+ assert . equal ( header . toString ( ) , 'en-us ,en;q=0.9' ) ;
154
+ assert . deepEqual ( header . languages , [ 'en-us ' , 'en' ] ) ;
139
155
} ) ;
140
156
141
157
it ( 'sorts updated value' , ( ) => {
142
158
let header = new AcceptLanguage ( 'en-US,en;q=0.9' ) ;
143
159
header . set ( 'fi' ) ;
144
- assert . equal ( header . toString ( ) , 'en-US ,fi,en;q=0.9' ) ;
145
- assert . deepEqual ( header . languages , [ 'en-US ' , 'fi' , 'en' ] ) ;
160
+ assert . equal ( header . toString ( ) , 'en-us ,fi,en;q=0.9' ) ;
161
+ assert . deepEqual ( header . languages , [ 'en-us ' , 'fi' , 'en' ] ) ;
146
162
header . set ( 'en-US' , 0.8 ) ;
147
- assert . equal ( header . toString ( ) , 'fi,en;q=0.9,en-US ;q=0.8' ) ;
148
- assert . deepEqual ( header . languages , [ 'fi' , 'en' , 'en-US ' ] ) ;
163
+ assert . equal ( header . toString ( ) , 'fi,en;q=0.9,en-us ;q=0.8' ) ;
164
+ assert . deepEqual ( header . languages , [ 'fi' , 'en' , 'en-us ' ] ) ;
149
165
} ) ;
150
166
} ) ;
0 commit comments