- Timestamp:
- 08/22/2026 11:05:19 AM (3 weeks ago)
- Branches:
- main
- Children:
- 5e72413
- Parents:
- 4fbe2c1
- File:
-
- 1 edited
-
test/mixtape-ui.test.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
test/mixtape-ui.test.js
r4fbe2c1 rc0e463b 210 210 assert.match(speler, /if \(\(queue\.length === 1 \|\| laatsteVanDeBand\) && ms && ms\.readyState === 'open'\)/); 211 211 }); 212 213 test('de speler-UI schakelt mee in bandmodus (shaer-tmyn)', () => { 214 const speler = fs.readFileSync('src/assets/js/audio-player.js', 'utf8'); 215 216 // 1. De tracklijst blijft staan maar is geen keuzelijst meer. 217 assert.match(speler, /sheetQueueList\.classList\.toggle\('is-tape', tapeMode\);\s*\n\s*if \(tapeMode\) return;/, 218 'zonder deze return kun je op een cassette alsnog naar nummer zeven springen'); 219 220 // 2. Vorige/volgende worden terugspoelen/vooruitspoelen, op EEN plek geregeld. 221 assert.match(speler, /function zetKnopStanden\(\)/); 222 assert.match(speler, /'Vooruitspoelen' : 'Terugspoelen'/); 223 // en vasthouden spoelt door 224 assert.match(speler, /addEventListener\('pointerdown', \(\) => \{ if \(tapeMode\) startWind/); 225 226 // 3. De spoellus staat in de speler, niet meer in de module -- anders lopen 227 // twee kopieen van dezelfde versnelling uit elkaar. 228 assert.match(speler, /function startWind\(richting\)/); 229 const mod = fs.readFileSync('src/assets/js/mod/tape.js', 'utf8'); 230 assert.doesNotMatch(mod, /VERSNELLING/, 'de versnelling hoort niet meer in de module te staan'); 231 assert.match(mod, /p\.startWind\(richting\)/, 'de cassette bedient de gedeelde lus'); 232 }); 233 234 test('de bandteller komt uit de trackduren, niet uit de buffer', () => { 235 const speler = fs.readFileSync('src/assets/js/audio-player.js', 'utf8'); 236 assert.match(speler, /function bandDuur\(\)/); 237 assert.match(speler, /function bandOffset\(i\)/); 238 // Een som met gaten is een verzonnen getal: ontbreekt er een duur, dan valt 239 // hij terug in plaats van te gokken. 240 assert.match(speler, /if \(d <= 0\) return null;/); 241 242 // En de duur moet mee in de wachtrij, anders kan de speler het niet weten. 243 const embed = fs.readFileSync('src/services/AudioEmbedService.js', 'utf8'); 244 assert.match(embed, /duration: Number\(t\.duration\) \|\| 0,/, 245 'zonder dit las de teller de lengte van wat toevallig gebufferd was'); 246 });
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)