Initial commit
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:smplayer/core/infra/player_engine/player_engine.dart';
|
||||
import 'package:smplayer/features/player/widgets/track_selector_button.dart';
|
||||
|
||||
import '../../../helpers/fake_player_engine.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('音轨按钮由初始 tracks 决定显隐', (tester) async {
|
||||
final player = FakePlayerEngine(
|
||||
playing: true,
|
||||
tracks: const PlayerTracks(
|
||||
audio: [
|
||||
AudioTrack(id: '1'),
|
||||
AudioTrack(id: '2'),
|
||||
],
|
||||
),
|
||||
);
|
||||
addTearDown(player.dispose);
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: AudioTracksButton(
|
||||
player: player,
|
||||
isPanelOpen: false,
|
||||
onTogglePanel: () {},
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(find.byTooltip('音轨'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('字幕按钮响应 tracks stream 更新', (tester) async {
|
||||
final player = FakePlayerEngine(playing: true);
|
||||
addTearDown(player.dispose);
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: SubtitleTracksButton(
|
||||
player: player,
|
||||
embySubtitles: const [],
|
||||
isPanelOpen: false,
|
||||
onTogglePanel: () {},
|
||||
),
|
||||
),
|
||||
);
|
||||
expect(find.byTooltip('字幕'), findsNothing);
|
||||
|
||||
player.addTracks(
|
||||
const PlayerTracks(subtitle: [SubtitleTrack(id: 'embedded')]),
|
||||
);
|
||||
await tester.pump();
|
||||
|
||||
expect(find.byTooltip('字幕'), findsOneWidget);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user