v2.49.3 — Shuffle-Edge-Case: Einzel-Song-Queue + Repeat-aus → Queue-Ende
## Fix (Code-Review Finding 1, HIGH) - _baueShuffleReihenfolge: Index 0 nur noch bei Repeat-playlist in die Shuffle-Reihenfolge aufnehmen (Einzel-Song-Queue) - naechsterIndex: Sicherheitsnetz gegen stale Reihenfolge — Kandidat == aktueller Song bei Repeat-aus liefert null (Queue-Ende) statt denselben Song erneut - Test ergänzt: shuffle + repeat aus + 1-Song-Queue → null
This commit is contained in:
@@ -143,6 +143,16 @@ void main() {
|
||||
expect(p.naechsterIndex(), 0);
|
||||
});
|
||||
|
||||
test('shuffle + repeat aus + einzelne Warteschlange: Queue-Ende (null)', () {
|
||||
final p = PlayerService();
|
||||
p.setWarteschlange([_song(1, 'A')]);
|
||||
p.setZufallsmodus(true);
|
||||
p.setWiederholmodus(Wiederholmodus.aus);
|
||||
// Einzel-Song-Queue ohne Repeat darf denselben Song NICHT erneut liefern
|
||||
expect(p.naechsterIndex(), isNull);
|
||||
expect(p.naechsterIndex(), isNull);
|
||||
});
|
||||
|
||||
test('shuffle schließt neuen aktuellen Index nach Umsortieren aus', () {
|
||||
final p = PlayerService();
|
||||
p.setWarteschlange([for (var i = 1; i <= 5; i++) _song(i, 'S$i')]);
|
||||
|
||||
Reference in New Issue
Block a user