fix(flutter): clear analyze --fatal-infos issues
Three classes:
1. album_cover_cache.dart docstring used <applicationCacheDirectory>
and <albumId> which the analyzer reads as unintended HTML. Wrapped
the path in backticks and used {} placeholders.
2. settings AppearanceSection used RadioListTile.groupValue + onChanged,
deprecated in Flutter 3.32+. Wrapped the radios in a RadioGroup
ancestor (the new API) so individual tiles only declare value +
activeColor. Test updated to read groupValue off the RadioGroup
ancestor.
3. theme_extension.dart factories built FabledSwordTheme(...) without
const, even though all args are static const tokens. Added const to
the outer constructor calls in both .dark() and .light() — this
propagates const to the inner TextStyle(...) calls automatically.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -49,11 +49,15 @@ void main() {
|
||||
expect(find.byKey(const Key('appearance_light')), findsOneWidget);
|
||||
expect(find.byKey(const Key('appearance_dark')), findsOneWidget);
|
||||
|
||||
// The dark radio should be selected.
|
||||
// The RadioGroup ancestor owns groupValue post-Flutter-3.32; the
|
||||
// selected mode is read off it rather than off individual tiles.
|
||||
final group = t.widget<RadioGroup<AppThemeMode>>(
|
||||
find.byType(RadioGroup<AppThemeMode>),
|
||||
);
|
||||
expect(group.groupValue, AppThemeMode.dark);
|
||||
final darkRadio = t.widget<RadioListTile<AppThemeMode>>(
|
||||
find.byKey(const Key('appearance_dark')),
|
||||
);
|
||||
expect(darkRadio.groupValue, AppThemeMode.dark);
|
||||
expect(darkRadio.value, AppThemeMode.dark);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user