mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
There is a lot of cross-library importing in the framework unit tests that I'd like to clean up, see the design doc for more: https://docs.google.com/document/d/1UHxALQqCbmgjnM1RNV9xE2pK3IGyx-UktGX1D7hYCjs/edit?tab=t.0 This PR cleans up a few obvious instances and adds TODOs for others. I created this while doing an investigation for the design doc linked above. I hope that we'll be able to follow up with fixes for all of the problematic tests (tracked in the issue below). Part of https://github.com/flutter/flutter/issues/177028
42 lines
1.2 KiB
Dart
42 lines
1.2 KiB
Dart
// Copyright 2014 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import 'package:flutter/widgets.dart';
|
|
|
|
typedef OnObservation = void Function(Route<dynamic>? route, Route<dynamic>? previousRoute);
|
|
|
|
/// A trivial observer for testing the navigator.
|
|
class TestObserver extends NavigatorObserver {
|
|
OnObservation? onPushed;
|
|
OnObservation? onPopped;
|
|
OnObservation? onRemoved;
|
|
OnObservation? onReplaced;
|
|
OnObservation? onStartUserGesture;
|
|
|
|
@override
|
|
void didPush(Route<dynamic> route, Route<dynamic>? previousRoute) {
|
|
onPushed?.call(route, previousRoute);
|
|
}
|
|
|
|
@override
|
|
void didPop(Route<dynamic> route, Route<dynamic>? previousRoute) {
|
|
onPopped?.call(route, previousRoute);
|
|
}
|
|
|
|
@override
|
|
void didRemove(Route<dynamic> route, Route<dynamic>? previousRoute) {
|
|
onRemoved?.call(route, previousRoute);
|
|
}
|
|
|
|
@override
|
|
void didReplace({Route<dynamic>? oldRoute, Route<dynamic>? newRoute}) {
|
|
onReplaced?.call(newRoute, oldRoute);
|
|
}
|
|
|
|
@override
|
|
void didStartUserGesture(Route<dynamic> route, Route<dynamic>? previousRoute) {
|
|
onStartUserGesture?.call(route, previousRoute);
|
|
}
|
|
}
|