chore: adopt Dart 3.9 toolchain — honest floor + tall-style reformat (T-353)
Raise the declared minimums in pubspec.yaml to what our deps already require: Flutter >=3.35.0 / Dart >=3.9.0 (was 3.19.0 / 3.5.0). alchemist 0.12 needs Flutter 3.32; Dart 3.9 first ships in Flutter 3.35, so 3.35 is the binding floor. Pin the exact build toolchain in .fvmrc (Flutter 3.44.1). Moving to the Dart 3.9 language level switches `dart format` to the new "tall" style and enables two new lints. This commit is the resulting mechanical churn, isolated from any behaviour change: - whole-tree `dart format` reformat (tall style) - `dart fix` for unnecessary_underscores + use_null_aware_elements No runtime behaviour change; `make test` green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -142,9 +142,7 @@ void main() {
|
||||
});
|
||||
|
||||
test('fromTextStyle picks fontSize / height / fontFamilyFallback through to TerminalStyle', () {
|
||||
final s = TerminalStyle.fromTextStyle(
|
||||
const TextStyle(fontSize: 18, height: 1.5, fontFamilyFallback: ['Mono']),
|
||||
);
|
||||
final s = TerminalStyle.fromTextStyle(const TextStyle(fontSize: 18, height: 1.5, fontFamilyFallback: ['Mono']));
|
||||
expect(s.fontSize, 18);
|
||||
expect(s.height, 1.5);
|
||||
expect(s.fontFamilyFallback, ['Mono']);
|
||||
@@ -152,12 +150,7 @@ void main() {
|
||||
|
||||
test('toTextStyle threads attribute flags into the resulting TextStyle', () {
|
||||
const s = TerminalStyle(fontSize: 16);
|
||||
final t = s.toTextStyle(
|
||||
color: const Color(0xFF112233),
|
||||
bold: true,
|
||||
italic: true,
|
||||
underline: true,
|
||||
);
|
||||
final t = s.toTextStyle(color: const Color(0xFF112233), bold: true, italic: true, underline: true);
|
||||
expect(t.fontSize, 16);
|
||||
expect(t.fontWeight, FontWeight.bold);
|
||||
expect(t.fontStyle, FontStyle.italic);
|
||||
@@ -244,11 +237,7 @@ void main() {
|
||||
group('SelectionMode + TerminalCursorType enums', () {
|
||||
test('all enum values exist and are distinct', () {
|
||||
expect(SelectionMode.values, [SelectionMode.line, SelectionMode.block]);
|
||||
expect(TerminalCursorType.values, [
|
||||
TerminalCursorType.block,
|
||||
TerminalCursorType.underline,
|
||||
TerminalCursorType.verticalBar,
|
||||
]);
|
||||
expect(TerminalCursorType.values, [TerminalCursorType.block, TerminalCursorType.underline, TerminalCursorType.verticalBar]);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -28,16 +28,18 @@ void main() {
|
||||
final focus = FocusNode();
|
||||
addTearDown(focus.dispose);
|
||||
|
||||
await tester.pumpWidget(_host(
|
||||
CustomKeyboardListener(
|
||||
focusNode: focus,
|
||||
autofocus: true,
|
||||
onInsert: inserts.add,
|
||||
onComposing: composings.add,
|
||||
onKeyEvent: (_, __) => KeyEventResult.ignored,
|
||||
child: const ColoredBox(color: Color(0xFF000000), child: SizedBox.expand()),
|
||||
await tester.pumpWidget(
|
||||
_host(
|
||||
CustomKeyboardListener(
|
||||
focusNode: focus,
|
||||
autofocus: true,
|
||||
onInsert: inserts.add,
|
||||
onComposing: composings.add,
|
||||
onKeyEvent: (_, _) => KeyEventResult.ignored,
|
||||
child: const ColoredBox(color: Color(0xFF000000), child: SizedBox.expand()),
|
||||
),
|
||||
),
|
||||
));
|
||||
);
|
||||
await tester.pump();
|
||||
// A character key with non-empty `character` triggers the insert path.
|
||||
await tester.sendKeyEvent(LogicalKeyboardKey.keyA, character: 'a');
|
||||
@@ -50,16 +52,18 @@ void main() {
|
||||
final focus = FocusNode();
|
||||
addTearDown(focus.dispose);
|
||||
|
||||
await tester.pumpWidget(_host(
|
||||
CustomKeyboardListener(
|
||||
focusNode: focus,
|
||||
autofocus: true,
|
||||
onInsert: inserts.add,
|
||||
onComposing: (_) {},
|
||||
onKeyEvent: (_, __) => KeyEventResult.handled,
|
||||
child: const ColoredBox(color: Color(0xFF000000), child: SizedBox.expand()),
|
||||
await tester.pumpWidget(
|
||||
_host(
|
||||
CustomKeyboardListener(
|
||||
focusNode: focus,
|
||||
autofocus: true,
|
||||
onInsert: inserts.add,
|
||||
onComposing: (_) {},
|
||||
onKeyEvent: (_, _) => KeyEventResult.handled,
|
||||
child: const ColoredBox(color: Color(0xFF000000), child: SizedBox.expand()),
|
||||
),
|
||||
),
|
||||
));
|
||||
);
|
||||
await tester.pump();
|
||||
await tester.sendKeyEvent(LogicalKeyboardKey.keyA, character: 'a');
|
||||
await tester.pump();
|
||||
@@ -71,16 +75,18 @@ void main() {
|
||||
final focus = FocusNode();
|
||||
addTearDown(focus.dispose);
|
||||
|
||||
await tester.pumpWidget(_host(
|
||||
CustomKeyboardListener(
|
||||
focusNode: focus,
|
||||
autofocus: true,
|
||||
onInsert: inserts.add,
|
||||
onComposing: (_) {},
|
||||
onKeyEvent: (_, __) => KeyEventResult.ignored,
|
||||
child: const ColoredBox(color: Color(0xFF000000), child: SizedBox.expand()),
|
||||
await tester.pumpWidget(
|
||||
_host(
|
||||
CustomKeyboardListener(
|
||||
focusNode: focus,
|
||||
autofocus: true,
|
||||
onInsert: inserts.add,
|
||||
onComposing: (_) {},
|
||||
onKeyEvent: (_, _) => KeyEventResult.ignored,
|
||||
child: const ColoredBox(color: Color(0xFF000000), child: SizedBox.expand()),
|
||||
),
|
||||
),
|
||||
));
|
||||
);
|
||||
await tester.pump();
|
||||
// ArrowUp has no `character` — ignored result + no character means
|
||||
// _onKeyEvent returns ignored without firing onInsert.
|
||||
|
||||
Reference in New Issue
Block a user