blob: f2ccbf872bd06501bf0d5264fddf15d3c2286638 [file] [log] [blame]
// 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/material.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) {
if (onPushed != null) {
onPushed!(route, previousRoute);
}
}
@override
void didPop(Route<dynamic> route, Route<dynamic>? previousRoute) {
if (onPopped != null) {
onPopped!(route, previousRoute);
}
}
@override
void didRemove(Route<dynamic> route, Route<dynamic>? previousRoute) {
if (onRemoved != null)
onRemoved!(route, previousRoute);
}
@override
void didReplace({ Route<dynamic>? oldRoute, Route<dynamic>? newRoute }) {
if (onReplaced != null)
onReplaced!(newRoute, oldRoute);
}
@override
void didStartUserGesture(Route<dynamic> route, Route<dynamic>? previousRoute) {
if (onStartUserGesture != null)
onStartUserGesture!(route, previousRoute);
}
}