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:
@@ -15,12 +15,12 @@ void main() {
|
||||
test('fromEvent maps every FileSystemEvent.type to a wire kind', () {
|
||||
final dir = Directory.systemTemp;
|
||||
FileSystemEvent ev(int type) => switch (type) {
|
||||
FileSystemEvent.create => FileSystemCreateEvent('${dir.path}/f', false),
|
||||
FileSystemEvent.delete => FileSystemDeleteEvent('${dir.path}/f', false),
|
||||
FileSystemEvent.modify => FileSystemModifyEvent('${dir.path}/f', false, false),
|
||||
FileSystemEvent.move => FileSystemMoveEvent('${dir.path}/f', false, '${dir.path}/g'),
|
||||
_ => FileSystemModifyEvent('${dir.path}/f', false, false),
|
||||
};
|
||||
FileSystemEvent.create => FileSystemCreateEvent('${dir.path}/f', false),
|
||||
FileSystemEvent.delete => FileSystemDeleteEvent('${dir.path}/f', false),
|
||||
FileSystemEvent.modify => FileSystemModifyEvent('${dir.path}/f', false, false),
|
||||
FileSystemEvent.move => FileSystemMoveEvent('${dir.path}/f', false, '${dir.path}/g'),
|
||||
_ => FileSystemModifyEvent('${dir.path}/f', false, false),
|
||||
};
|
||||
expect(FileChangeKind.fromEvent(ev(FileSystemEvent.create)), FileChangeKind.created);
|
||||
expect(FileChangeKind.fromEvent(ev(FileSystemEvent.delete)), FileChangeKind.deleted);
|
||||
expect(FileChangeKind.fromEvent(ev(FileSystemEvent.modify)), FileChangeKind.modified);
|
||||
@@ -65,15 +65,9 @@ void main() {
|
||||
// amount. firstWhere completes on the first matching event;
|
||||
// the timeout fails the test with a clear message if inotify
|
||||
// never delivers (instead of asserting on an empty list).
|
||||
final saw = watcher.stream.firstWhere(
|
||||
(c) => c.path == 'new.txt',
|
||||
orElse: () => throw StateError('stream closed before new.txt arrived'),
|
||||
);
|
||||
final saw = watcher.stream.firstWhere((c) => c.path == 'new.txt', orElse: () => throw StateError('stream closed before new.txt arrived'));
|
||||
await File('${sandbox.path}/new.txt').writeAsString('hi');
|
||||
final change = await saw.timeout(
|
||||
ioTimeout,
|
||||
onTimeout: () => fail('no `new.txt` event within ${ioTimeout.inSeconds}s'),
|
||||
);
|
||||
final change = await saw.timeout(ioTimeout, onTimeout: () => fail('no `new.txt` event within ${ioTimeout.inSeconds}s'));
|
||||
expect(change.path, 'new.txt');
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user