feat(app): 播放器增加清晰度档位入口

This commit is contained in:
Zhou Weidong committed 2026-10-20 04:37:42 +08:00
1 parent 30a5fa0776
commit 2b2b7e9913
9 files changed
+242 -1

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
// Author: fruit.com.cn
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:fruitshorts/core/data/models/drama.dart';
import 'package:fruitshorts/core/data/models/play_ticket.dart';
import 'package:fruitshorts/core/data/repositories/playback_repository.dart';
import 'package:fruitshorts/core/data/services/android_picture_in_picture.dart';
import 'package:fruitshorts/pages/player/player_logic.dart';
import '../support/fake_watch_history.dart';
void main() {
test('should_expose_ticket_qualities_when_ticket_is_loaded', () async {
final logic = PlayerLogic(
history: FakeWatchHistory(),
playback: FakePlaybackRepository(
ticket: const PlayTicket(
episodeId: '12',
accessible: true,
accessType: PlayTicket.free,
playUrl: '/files/episode/12.m3u8?e=1&s=abc',
qualities: ['AUTO', '720P', '1080P'],
),
),
pictureInPicture: AndroidPictureInPicture(
channel: const MethodChannel('test/player_quality/pip'),
),
);
logic.sessionEpisodes = [
Episode(
id: '12',
number: 1,
title: 'Episode 1',
isFree: true,
),
];
final ready = await logic.ensureTicket(0);
expect(ready, isTrue);
expect(logic.qualities, ['AUTO', '720P', '1080P']);
});
}