// 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. // @dart = 2.8 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); } }