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:
@@ -13,10 +13,7 @@ import 'package:clide/src/terminal/src/core/state.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
class _State implements TerminalState {
|
||||
_State({
|
||||
this.mouseMode = MouseMode.none,
|
||||
this.mouseReportMode = MouseReportMode.normal,
|
||||
});
|
||||
_State({this.mouseMode = MouseMode.none, this.mouseReportMode = MouseReportMode.normal});
|
||||
|
||||
@override
|
||||
MouseMode mouseMode;
|
||||
@@ -91,12 +88,7 @@ void main() {
|
||||
expect(TerminalMouseButton.wheelDown.id, 64 + 5);
|
||||
expect(TerminalMouseButton.wheelLeft.id, 64 + 6);
|
||||
expect(TerminalMouseButton.wheelRight.id, 64 + 7);
|
||||
for (final b in [
|
||||
TerminalMouseButton.wheelUp,
|
||||
TerminalMouseButton.wheelDown,
|
||||
TerminalMouseButton.wheelLeft,
|
||||
TerminalMouseButton.wheelRight,
|
||||
]) {
|
||||
for (final b in [TerminalMouseButton.wheelUp, TerminalMouseButton.wheelDown, TerminalMouseButton.wheelLeft, TerminalMouseButton.wheelRight]) {
|
||||
expect(b.isWheel, isTrue, reason: '$b');
|
||||
}
|
||||
});
|
||||
@@ -134,14 +126,8 @@ void main() {
|
||||
|
||||
group('MouseReporter (sgr mode)', () {
|
||||
test('M for press, m for release, with raw 1-based coords', () {
|
||||
expect(
|
||||
MouseReporter.report(TerminalMouseButton.middle, TerminalMouseButtonState.down, const CellOffset(10, 20), MouseReportMode.sgr),
|
||||
'\x1b[<1;11;21M',
|
||||
);
|
||||
expect(
|
||||
MouseReporter.report(TerminalMouseButton.middle, TerminalMouseButtonState.up, const CellOffset(10, 20), MouseReportMode.sgr),
|
||||
'\x1b[<1;11;21m',
|
||||
);
|
||||
expect(MouseReporter.report(TerminalMouseButton.middle, TerminalMouseButtonState.down, const CellOffset(10, 20), MouseReportMode.sgr), '\x1b[<1;11;21M');
|
||||
expect(MouseReporter.report(TerminalMouseButton.middle, TerminalMouseButtonState.up, const CellOffset(10, 20), MouseReportMode.sgr), '\x1b[<1;11;21m');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -171,21 +157,11 @@ void main() {
|
||||
|
||||
group('CascadeMouseHandler', () {
|
||||
test('returns the first non-null result; null when all return null', () {
|
||||
const cascade = CascadeMouseHandler([
|
||||
_NullHandler(),
|
||||
_ConstHandler('first'),
|
||||
_ConstHandler('second'),
|
||||
]);
|
||||
expect(
|
||||
cascade(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down)),
|
||||
'first',
|
||||
);
|
||||
const cascade = CascadeMouseHandler([_NullHandler(), _ConstHandler('first'), _ConstHandler('second')]);
|
||||
expect(cascade(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down)), 'first');
|
||||
|
||||
const allNull = CascadeMouseHandler([_NullHandler(), _NullHandler()]);
|
||||
expect(
|
||||
allNull(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down)),
|
||||
isNull,
|
||||
);
|
||||
expect(allNull(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down)), isNull);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -198,31 +174,16 @@ void main() {
|
||||
});
|
||||
|
||||
test('clickOnly mode + up → null (only down events report)', () {
|
||||
expect(
|
||||
h(_evt(TerminalMouseButton.middle, TerminalMouseButtonState.up, mode: MouseMode.clickOnly)),
|
||||
isNull,
|
||||
);
|
||||
expect(h(_evt(TerminalMouseButton.middle, TerminalMouseButtonState.up, mode: MouseMode.clickOnly)), isNull);
|
||||
});
|
||||
|
||||
test('clickOnly mode + button id >= 3 (wheel) → null', () {
|
||||
expect(
|
||||
h(_evt(TerminalMouseButton.wheelUp, TerminalMouseButtonState.down, mode: MouseMode.clickOnly)),
|
||||
isNull,
|
||||
);
|
||||
expect(h(_evt(TerminalMouseButton.wheelUp, TerminalMouseButtonState.down, mode: MouseMode.clickOnly)), isNull);
|
||||
});
|
||||
|
||||
test('non-clickOnly modes always return null', () {
|
||||
for (final m in [
|
||||
MouseMode.none,
|
||||
MouseMode.upDownScroll,
|
||||
MouseMode.upDownScrollDrag,
|
||||
MouseMode.upDownScrollMove,
|
||||
]) {
|
||||
expect(
|
||||
h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)),
|
||||
isNull,
|
||||
reason: '$m',
|
||||
);
|
||||
for (final m in [MouseMode.none, MouseMode.upDownScroll, MouseMode.upDownScrollDrag, MouseMode.upDownScrollMove]) {
|
||||
expect(h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)), isNull, reason: '$m');
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -232,39 +193,22 @@ void main() {
|
||||
|
||||
test('none / clickOnly modes return null', () {
|
||||
for (final m in [MouseMode.none, MouseMode.clickOnly]) {
|
||||
expect(
|
||||
h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)),
|
||||
isNull,
|
||||
);
|
||||
expect(h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)), isNull);
|
||||
}
|
||||
});
|
||||
|
||||
test('upDownScroll modes report regular button events', () {
|
||||
for (final m in [
|
||||
MouseMode.upDownScroll,
|
||||
MouseMode.upDownScrollDrag,
|
||||
MouseMode.upDownScrollMove,
|
||||
]) {
|
||||
expect(
|
||||
h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)),
|
||||
isNotNull,
|
||||
reason: '$m',
|
||||
);
|
||||
for (final m in [MouseMode.upDownScroll, MouseMode.upDownScrollDrag, MouseMode.upDownScrollMove]) {
|
||||
expect(h(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: m)), isNotNull, reason: '$m');
|
||||
}
|
||||
});
|
||||
|
||||
test('wheel up events are silently dropped (no report on wheel release)', () {
|
||||
expect(
|
||||
h(_evt(TerminalMouseButton.wheelUp, TerminalMouseButtonState.up, mode: MouseMode.upDownScroll)),
|
||||
isNull,
|
||||
);
|
||||
expect(h(_evt(TerminalMouseButton.wheelUp, TerminalMouseButtonState.up, mode: MouseMode.upDownScroll)), isNull);
|
||||
});
|
||||
|
||||
test('wheel down events do report (one click per scroll tick)', () {
|
||||
expect(
|
||||
h(_evt(TerminalMouseButton.wheelDown, TerminalMouseButtonState.down, mode: MouseMode.upDownScroll)),
|
||||
isNotNull,
|
||||
);
|
||||
expect(h(_evt(TerminalMouseButton.wheelDown, TerminalMouseButtonState.down, mode: MouseMode.upDownScroll)), isNotNull);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -280,12 +224,7 @@ void main() {
|
||||
});
|
||||
|
||||
test('mode=none produces null (no handler reports)', () {
|
||||
expect(
|
||||
defaultMouseHandler(
|
||||
_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: MouseMode.none),
|
||||
),
|
||||
isNull,
|
||||
);
|
||||
expect(defaultMouseHandler(_evt(TerminalMouseButton.left, TerminalMouseButtonState.down, mode: MouseMode.none)), isNull);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user