|
|
@@ -1,3 +1,4 @@
|
|
|
+import { AppStorage } from '@kit.ArkUI'
|
|
|
import { describe, expect, it } from '@ohos/hypium'
|
|
|
import { PlaybackStateBridge } from '../../../main/ets/controller/PlaybackStateBridge'
|
|
|
import { VideoItem } from '../../../main/ets/viewmodel/VideoItem'
|
|
|
@@ -18,6 +19,11 @@ export default function playbackStateBridgeTest() {
|
|
|
expect(snapshot.queue.length).assertEqual(2)
|
|
|
expect(snapshot.currentIndex).assertEqual(1)
|
|
|
expect(snapshot.currentSong?.filePath ?? '').assertEqual('/music/b.flac')
|
|
|
+ const storedQueue = AppStorage.get<VideoItem[]>('currentQueue') ?? []
|
|
|
+ expect(storedQueue.length).assertEqual(2)
|
|
|
+ expect(storedQueue[1]?.filePath ?? '').assertEqual('/music/b.flac')
|
|
|
+ expect(AppStorage.get<VideoItem>('currentSong')?.filePath ?? '').assertEqual('/music/b.flac')
|
|
|
+ expect(AppStorage.get<number>('currentQueueIndex')).assertEqual(1)
|
|
|
})
|
|
|
|
|
|
it('updatePlaybackStateDoesNotDropQueue', 0, () => {
|
|
|
@@ -35,6 +41,20 @@ export default function playbackStateBridgeTest() {
|
|
|
expect(snapshot.positionMs).assertEqual(1350)
|
|
|
expect(snapshot.durationMs).assertEqual(4200)
|
|
|
expect(snapshot.currentSong?.filePath ?? '').assertEqual('/music/a.flac')
|
|
|
+ expect(AppStorage.get<boolean>('isPlaying')).assertTrue()
|
|
|
+ })
|
|
|
+
|
|
|
+ it('replaceQueueWithEmptyQueueResetsPlaybackState', 0, () => {
|
|
|
+ const bridge = PlaybackStateBridge.getInstance()
|
|
|
+ bridge.reset()
|
|
|
+
|
|
|
+ bridge.replaceQueue([], 0)
|
|
|
+ const snapshot = bridge.getSnapshot()
|
|
|
+
|
|
|
+ expect(snapshot.queue.length).assertEqual(0)
|
|
|
+ expect(snapshot.currentIndex).assertEqual(-1)
|
|
|
+ expect(snapshot.isPlaying).assertFalse()
|
|
|
+ expect(AppStorage.get<boolean>('isPlaying')).assertFalse()
|
|
|
})
|
|
|
})
|
|
|
}
|