// 视频播放队列系统测试
// 这个文件用于测试新的视频播放逻辑

export class VideoQueueTester {
    constructor(webrtcApp) {
        this.webrtcApp = webrtcApp;
    }
    
    // 测试视频队列功能
    async testVideoQueue() {
        console.log('开始测试视频播放队列系统...');
        
        // 测试1: 添加视频到队列
        await this.testAddToQueue();
        
        // 测试2: 测试视频播放完成等待
        await this.testWaitForVideoFinish();
        
        // 测试3: 测试音频视频同步
        await this.testAudioVideoSync();
        
        console.log('视频播放队列系统测试完成');
    }
    
    // 测试添加视频到队列
    async testAddToQueue() {
        console.log('测试1: 添加视频到队列');
        
        // 清空队列
        this.webrtcApp.videoQueue = [];
        
        // 添加测试视频
        await this.webrtcApp.addToVideoQueue('5.mp4', 'test', '测试视频1');
        await this.webrtcApp.addToVideoQueue('s-1.mp4', 'test', '测试视频2');
        
        console.log(`队列长度: ${this.webrtcApp.videoQueue.length}`);
        console.log('队列内容:', this.webrtcApp.videoQueue);
    }
    
    // 测试等待视频播放完成
    async testWaitForVideoFinish() {
        console.log('测试2: 等待视频播放完成');
        
        // 模拟视频播放状态
        this.webrtcApp.isVideoPlaying = true;
        
        // 模拟视频播放完成
        setTimeout(() => {
            this.webrtcApp.isVideoPlaying = false;
            console.log('模拟视频播放完成');
        }, 2000);
        
        console.log('等待视频播放完成...');
        await this.webrtcApp.waitForCurrentVideoToFinish();
        console.log('视频播放完成等待测试通过');
    }
    
    // 测试音频视频同步
    async testAudioVideoSync() {
        console.log('测试3: 音频视频同步');
        
        // 模拟音频播放开始
        window.isPlaying = true;
        
        // 添加视频到队列
        await this.webrtcApp.addToVideoQueue('5.mp4', 'audio', '音频同步测试');
        
        // 模拟音频播放结束
        setTimeout(() => {
            window.isPlaying = false;
            console.log('模拟音频播放结束');
        }, 3000);
        
        console.log('音频视频同步测试完成');
    }
    
    // 运行所有测试
    async runAllTests() {
        try {
            await this.testVideoQueue();
            console.log('所有测试通过！');
        } catch (error) {
            console.error('测试失败:', error);
        }
    }
}

// 导出测试类
export default VideoQueueTester; 