- Timestamp:
- 08/22/2026 10:35:33 AM (3 weeks ago)
- Branches:
- main
- Children:
- c0e463b
- Parents:
- 8bb3b09
- File:
-
- 1 edited
-
test/mixtape-ui.test.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
test/mixtape-ui.test.js
r8bb3b09 r4fbe2c1 166 166 assert.doesNotMatch(mod, /p\.next\(\); else p\.prev\(\)/, 'de oude sprong per nummer'); 167 167 }); 168 169 test('een bandje loopt niet rond, aan geen van beide kanten', () => { 170 const speler = fs.readFileSync('src/assets/js/audio-player.js', 'utf8'); 171 172 // De keten mag na het laatste nummer niet nummer een er weer achter hangen. 173 // Dat was de stilste van de drie: omdat het EEN doorlopende tijdlijn is merk 174 // je die omloop niet eens als een trackwissel, de band gaat gewoon door. 175 assert.match(speler, /if \(tapeMode && volgendeInRij > queue\.length - 1\) return;/, 176 'de keten hoort te stoppen aan het eind van de band'); 177 178 // ended roept next() aan, dus zonder deze tak begint de band opnieuw. 179 assert.match(speler, /if \(tapeMode && currentIndex >= queue\.length - 1\) \{ pause\(\); return; \}/, 180 'aan het eind stoppen in plaats van omlopen'); 181 182 // En terugspoelen voorbij het begin levert de kop van de band op, niet het 183 // laatste nummer. 184 assert.match(speler, /if \(tapeMode && currentIndex === 0\) \{/, 185 'aan het begin niet naar achteren omlopen'); 186 187 // Alle drie de modulo's zijn nog aanwezig voor de NIET-bandmodus: een gewone 188 // playlist hoort wel te blijven rondlopen. 189 assert.equal((speler.match(/% queue\.length/g) || []).length, 3, 190 'de omloop van een gewone wachtrij mag niet gesneuveld zijn'); 191 }); 192 193 test('terugspoelen komt in het vorige nummer uit aan het EIND', () => { 194 const speler = fs.readFileSync('src/assets/js/audio-player.js', 'utf8'); 195 // Zonder dit sprong terugspoelen naar de kop van het vorige nummer, en kwam 196 // je nooit ergens in het midden uit -- dat is geen terugspoelen maar 197 // terugspringen. Geldt voor de blob-motor; op MSE is de band een tijdlijn en 198 // gaat het vanzelf goed. 199 assert.match(speler, /pendingSeek = Number\.MAX_SAFE_INTEGER;/); 200 }); 201 202 test('aan het eind van de band gaat de stream dicht', () => { 203 const speler = fs.readFileSync('src/assets/js/audio-player.js', 'utf8'); 204 // ZONDER DIT HANGT DE BAND. Bij een MediaSource vuurt `ended` pas als de 205 // stream gesloten is. Sinds een bandje niet meer rondloopt haakt de keten na 206 // het laatste nummer niets meer aan, en dan bleef hij op de laatste seconde 207 // staan: teller stil, isPlaying() waar, spoelen draaiend. Gemeten op dev 208 // (22-8): 125,6 van 125,7 en daar bleef hij staan. 209 assert.match(speler, /const laatsteVanDeBand = tapeMode && qIndex >= queue\.length - 1;/); 210 assert.match(speler, /if \(\(queue\.length === 1 \|\| laatsteVanDeBand\) && ms && ms\.readyState === 'open'\)/); 211 });
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)