diff --git a/client/test/golden/about_golden_test.dart b/client/test/golden/about_golden_test.dart new file mode 100644 index 0000000..a3f2633 --- /dev/null +++ b/client/test/golden/about_golden_test.dart @@ -0,0 +1,44 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:jiu_client/providers/update_provider.dart'; +import 'package:jiu_client/screens/about/about_screen.dart'; + +import '../support/golden_harness.dart'; + +// 覆盖更新检查器,避免其后台 Timer 在 golden 结束后仍 pending。 +class _FakeUpdateNotifier extends UpdateNotifier { + @override + Future build() async => null; +} + +List _overrides() => [ + updateProvider.overrideWith(() => _FakeUpdateNotifier()), + appVersionProvider.overrideWith((ref) => 'v1.0.72'), + ]; + +/// design-distill 阶段4:关于我们整屏 golden × 三主题(桌面 + 移动)。 +/// 该屏正文已全 token 化;golden 锁住版本/帮助/关于卡片随主题换色。 +/// 版本/更新 provider 在测试环境降级为默认值(无插件/无网络)。 +/// 更新基准:flutter test --update-goldens test/golden/about_golden_test.dart +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + SharedPreferences.setMockInitialValues({}); + + goldenAcrossThemes( + 'about 整屏(桌面)', + goldenPrefix: 'about', + child: () => const Scaffold(body: AboutScreen()), + overrides: _overrides, + logical: const Size(1280, 1000), + ); + + goldenAcrossThemes( + 'about 整屏(移动)', + goldenPrefix: 'about_mobile', + child: () => const Scaffold(body: AboutScreen()), + overrides: _overrides, + logical: const Size(390, 1100), + ); +} diff --git a/client/test/golden/goldens/about_a.png b/client/test/golden/goldens/about_a.png new file mode 100644 index 0000000..700431c Binary files /dev/null and b/client/test/golden/goldens/about_a.png differ diff --git a/client/test/golden/goldens/about_b.png b/client/test/golden/goldens/about_b.png new file mode 100644 index 0000000..b708b09 Binary files /dev/null and b/client/test/golden/goldens/about_b.png differ diff --git a/client/test/golden/goldens/about_c.png b/client/test/golden/goldens/about_c.png new file mode 100644 index 0000000..31885c7 Binary files /dev/null and b/client/test/golden/goldens/about_c.png differ diff --git a/client/test/golden/goldens/about_mobile_a.png b/client/test/golden/goldens/about_mobile_a.png new file mode 100644 index 0000000..94b91db Binary files /dev/null and b/client/test/golden/goldens/about_mobile_a.png differ diff --git a/client/test/golden/goldens/about_mobile_b.png b/client/test/golden/goldens/about_mobile_b.png new file mode 100644 index 0000000..e15d43a Binary files /dev/null and b/client/test/golden/goldens/about_mobile_b.png differ diff --git a/client/test/golden/goldens/about_mobile_c.png b/client/test/golden/goldens/about_mobile_c.png new file mode 100644 index 0000000..3efbdcd Binary files /dev/null and b/client/test/golden/goldens/about_mobile_c.png differ