| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { describe, it, expect } from '@ohos/hypium'
- import { VideoItem } from '../../../main/ets/viewmodel/VideoItem'
- import { insertSongToNextPlayQueue, QueueInsertStatus } from '../../../main/ets/common/util/PlayQueueHelper'
- function createSong(name: string, filePath: string): VideoItem {
- const song = new VideoItem(name, filePath, filePath, 0, 0, '2026-03-01 00:00:00')
- song.fileName = `${name}.flac`
- return song
- }
- export default function playQueueHelperTest() {
- describe('PlayQueueHelperTest', () => {
- it('startPlaybackWhenQueueEmpty', 0, () => {
- const nextSong = createSong('Next', '/music/next.flac')
- const result = insertSongToNextPlayQueue([], '', -1, nextSong)
- expect(result.status).assertEqual(QueueInsertStatus.START_PLAY)
- expect(result.queue.map(item => item.filePath).join(',')).assertEqual('/music/next.flac')
- expect(result.currentIndex).assertEqual(0)
- expect(result.insertedIndex).assertEqual(0)
- })
- it('moveExistingSongBehindCurrentSong', 0, () => {
- const queue = [
- createSong('A', '/music/a.flac'),
- createSong('B', '/music/b.flac'),
- createSong('C', '/music/c.flac'),
- createSong('D', '/music/d.flac')
- ]
- const result = insertSongToNextPlayQueue(queue, '/music/c.flac', 2, queue[0])
- expect(result.status).assertEqual(QueueInsertStatus.INSERTED)
- expect(result.queue.map(item => item.filePath).join(',')).assertEqual('/music/b.flac,/music/c.flac,/music/a.flac,/music/d.flac')
- expect(result.currentIndex).assertEqual(1)
- expect(result.insertedIndex).assertEqual(2)
- })
- it('keepQueueUnchangedWhenSongAlreadyPlaying', 0, () => {
- const queue = [
- createSong('A', '/music/a.flac'),
- createSong('B', '/music/b.flac')
- ]
- const result = insertSongToNextPlayQueue(queue, '/music/b.flac', 1, queue[1])
- expect(result.status).assertEqual(QueueInsertStatus.ALREADY_PLAYING)
- expect(result.queue.map(item => item.filePath).join(',')).assertEqual('/music/a.flac,/music/b.flac')
- expect(result.currentIndex).assertEqual(1)
- expect(result.insertedIndex).assertEqual(1)
- })
- })
- }
|