Changeset 16fd4fe in Klonkt for test/mixtape-ui.test.js
- Timestamp:
- 08/22/2026 09:32:29 AM (3 weeks ago)
- Branches:
- main
- Children:
- e679bce
- Parents:
- 8e1af9c
- File:
-
- 1 edited
-
test/mixtape-ui.test.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
test/mixtape-ui.test.js
r8e1af9c r16fd4fe 96 96 assert.match(bron, /mixtape: '📼 Mixtape'/); 97 97 }); 98 99 test('het bandje is een cassette, geen albumlijst', async () => { 100 const AudioEmbedService = (await import('../src/services/AudioEmbedService.js')).default; 101 const pl = { 102 id: 'tape', title: 'De Mixtape', artist: 'robo', kind: 'mixtape', cover: '', 103 tracks: [ 104 { id: 't1', title: 'Kant A', artist: 'robo', url: '/a.mp3', duration: 100, cover: '' }, 105 { id: 't2', title: 'Kant B', artist: 'robo', url: '/b.mp3', duration: 44, cover: '' }, 106 ], 107 }; 108 const html = AudioEmbedService.embedPlaylistShortcodes('<p>[[playlist:tape]]</p>', (id) => (id === 'tape' ? pl : null)); 109 110 assert.match(html, /class="post-tape"/); 111 assert.match(html, /tape-reel--left/, 'twee spoelen, anders is het geen cassette'); 112 assert.match(html, /tape-reel--right/); 113 assert.match(html, /data-tape-go="back"/, 'terugspoelen'); 114 assert.match(html, /data-tape-go="fwd"/, 'vooruitspoelen'); 115 116 // DE KERN VAN HET IDEE: de nummers staan er als inhoud, niet als knoppen. 117 // Zodra een track een speel-url draagt kun je erop prikken, en dan is het 118 // geen bandje meer maar een lijst met een cassetteplaatje erboven. 119 const lijst = html.slice(html.indexOf('<ol class="tape-tracks"')); 120 assert.doesNotMatch(lijst, /data-pcms-track-url/, 'een aanklikbaar nummer hoort hier niet'); 121 assert.doesNotMatch(lijst, /<button/, 'en een knop ook niet'); 122 123 // De afspeelknop leunt wel op de bestaande speler, anders bouwen we een 124 // tweede speler naast de site-speler. 125 assert.match(html, /data-pcms-album-id="album-tape"/); 126 assert.match(html, /data-pcms-track-url="\/a\.mp3"/); 127 128 // En geen albumopmaak: dat was de hele reden voor een eigen vorm. 129 assert.doesNotMatch(html, /class="post-album"/); 130 });
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)