fix(player): 使用高清首帧并稳定切集占位
This commit is contained in:
1 parent
0cb0ab0613
commit
2fef7470e0
10 files changed
+258
-33
No files matched your search
@@ -17,6 +17,53 @@ sprite_001.jpg#xywh=0,0,160,90
|
||||
''';
|
||||
|
||||
void main() {
|
||||
test('should_choose_poster_before_thumbnails_when_both_are_available', () {
|
||||
final service = SpriteThumbnailAxisService(loader: _FakeSpriteLoader());
|
||||
addTearDown(service.dispose);
|
||||
|
||||
final frame =
|
||||
playerOpeningFrame(
|
||||
'https://cdn.test/thumbnails.vtt',
|
||||
posterUrl: 'https://cdn.test/poster.jpg',
|
||||
spriteSource: service,
|
||||
fit: BoxFit.cover,
|
||||
)
|
||||
as PlayerOpeningFrame;
|
||||
|
||||
expect(frame.posterUrl, 'https://cdn.test/poster.jpg');
|
||||
expect(frame.thumbnailsUrl, 'https://cdn.test/thumbnails.vtt');
|
||||
expect(frame.fit, BoxFit.cover);
|
||||
expect(
|
||||
playerOpeningFallback(
|
||||
posterUrl: frame.posterUrl,
|
||||
thumbnailsUrl: frame.thumbnailsUrl,
|
||||
),
|
||||
PlayerOpeningFallback.poster,
|
||||
);
|
||||
});
|
||||
|
||||
testWidgets('should_use_poster_without_decoding_sprite_when_poster_exists', (
|
||||
tester,
|
||||
) async {
|
||||
final loader = _FakeSpriteLoader();
|
||||
final service = SpriteThumbnailAxisService(loader: loader);
|
||||
addTearDown(service.dispose);
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: PlayerOpeningFrame(
|
||||
posterUrl: 'https://cdn.test/poster.jpg',
|
||||
thumbnailsUrl: 'https://cdn.test/thumbnails.vtt',
|
||||
spriteSource: service,
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(find.byKey(const Key('player-opening-poster')), findsOneWidget);
|
||||
expect(find.byKey(const Key('player-opening-sprite')), findsNothing);
|
||||
expect(loader.vttCalls, 0);
|
||||
});
|
||||
|
||||
testWidgets('should_return_no_opening_frame_when_thumbnails_is_empty', (
|
||||
tester,
|
||||
) async {
|
||||
|
||||
Reference in new issue
Block a user