优化录制页面功能,修正剪贴板信息提示,新增停止录制后的结果提示,改进触摸锁定解锁逻辑,提升用户交互体验。

This commit is contained in:
2026-06-08 11:10:22 +08:00
parent 942d15e54c
commit 7031765b4d
6 changed files with 276 additions and 103 deletions

View File

@@ -3,6 +3,7 @@ import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:recording_tool/app/app.dart';
import 'package:recording_tool/features/recording/widgets/widget_recording_button.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
@@ -40,11 +41,11 @@ void main() {
testWidgets('recording app renders recording page', (tester) async {
await pumpRecordingApp(tester);
final recordIcon = find.byIcon(Icons.fiber_manual_record);
final recordButton = find.byType(RecordingControlButton);
expect(recordIcon, findsOneWidget);
expect(recordButton, findsOneWidget);
expect(
tester.getCenter(recordIcon).dx,
tester.getCenter(recordButton).dx,
closeTo(tester.getCenter(find.byType(Scaffold)).dx, 0.5),
);
});
@@ -56,7 +57,7 @@ void main() {
await pumpRecordingApp(tester);
expect(find.text('粘贴赛事信息'), findsOneWidget);
expect(find.text('粘贴选手信息'), findsOneWidget);
});
testWidgets('pastes valid event info from clipboard', (tester) async {
@@ -65,11 +66,10 @@ void main() {
await pumpRecordingApp(tester);
clipboardText = validClipboardText;
await tester.tap(find.text('粘贴赛事信息'));
await tester.pump(const Duration(milliseconds: 500));
await tester.tap(find.text('粘贴选手信息'));
await tester.pump(const Duration(milliseconds: 700));
expect(find.text('王东方 丨李想 空中格斗赛'), findsOneWidget);
expect(find.text('粘贴赛事信息'), findsNothing);
});
testWidgets('shows no event info toast when pasted clipboard is invalid', (
@@ -80,7 +80,7 @@ void main() {
await pumpRecordingApp(tester);
clipboardText = 'hello';
await tester.tap(find.text('粘贴赛事信息'));
await tester.tap(find.text('粘贴选手信息'));
await tester.pump();
expect(find.text('王东方 丨李想 空中格斗赛'), findsNothing);