@@ -183,6 +183,50 @@ if (!Html5.supportsNativeTextTracks()) {
183
183
player . dispose ( ) ;
184
184
} ) ;
185
185
186
+ QUnit . test ( "don't select user langauge if it is an empty string" , function ( assert ) {
187
+ const player = TestHelpers . makePlayer ( ) ;
188
+ const track1 = {
189
+ kind : 'captions' ,
190
+ label : 'English' ,
191
+ language : 'en' ,
192
+ src : 'en.vtt'
193
+ } ;
194
+ const track2 = {
195
+ kind : 'captions' ,
196
+ label : 'Spanish' ,
197
+ language : 'es' ,
198
+ src : 'es.vtt'
199
+ } ;
200
+ const track3 = {
201
+ kind : 'metadata' ,
202
+ label : 'segment-metadata'
203
+ } ;
204
+
205
+ player . src ( { type : 'video/mp4' , src : 'http://google.com' } ) ;
206
+ // manualCleanUp = true by default
207
+ const englishTrack = player . addRemoteTextTrack ( track1 , true ) . track ;
208
+ const spanishTrack = player . addRemoteTextTrack ( track2 , true ) . track ;
209
+ const metadataTrack = player . addRemoteTextTrack ( track3 , true ) . track ;
210
+
211
+ // Force empty string ('') as "user-selected" track
212
+ player . cache_ . selectedLanguage = { enabled : true , language : '' , kind : 'captions' } ;
213
+ this . clock . tick ( 1 ) ;
214
+
215
+ assert . equal ( spanishTrack . mode , 'disabled' , 'Spanish captions should be disabled' ) ;
216
+ assert . equal ( englishTrack . mode , 'disabled' , 'English captions should be disabled' ) ;
217
+ assert . notEqual ( metadataTrack . mode , 'showing' , 'Metadata track should not be showing' ) ;
218
+
219
+ // Force es as "user-selected" track
220
+ player . cache_ . selectedLanguage = { enabled : true , language : 'es' , kind : 'captions' } ;
221
+ player . trigger ( 'loadstart' ) ;
222
+
223
+ assert . equal ( spanishTrack . mode , 'showing' , 'Spanish captions should be showing' ) ;
224
+ assert . equal ( englishTrack . mode , 'disabled' , 'English captions should be disabled' ) ;
225
+ assert . notEqual ( metadataTrack . mode , 'showing' , 'Metadata track should not be showing' ) ;
226
+
227
+ player . dispose ( ) ;
228
+ } ) ;
229
+
186
230
QUnit . test ( "matching both the selectedLanguage's language and kind takes priority over just matching the language" , function ( assert ) {
187
231
const player = TestHelpers . makePlayer ( ) ;
188
232
const track1 = {
0 commit comments