// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_TEST_FAKES_FAKE_UI_NAVIGATION_CONTROLLER_H_
#define IOS_CHROME_TEST_FAKES_FAKE_UI_NAVIGATION_CONTROLLER_H_
#import <UIKit/UIKit.h>
// Fake UINavigationController which keeps track of pushed/pop view controllers
// with a mutable array. It can also be used as a fake UIViewController i.e. it
// supports presenting or dismissing a view controller.
@interface FakeUINavigationController : UINavigationController
// List of supported UIViewController operations
// - (void)presentViewController:animated:completion:
// - (void)dismissViewControllerAnimated:completion:
// - (UIViewController*)presentedViewController
// List of supported UINavigationController operations
// - (void)pushViewController:animated:
// - (UIViewController*)popViewControllerAnimated:
// - (NSArray<UIViewController*>*)popToViewController:animated:
// - (NSArray<UIViewController*>*)popToRootViewControllerAnimated:
// - (UIViewController*)topViewController
// - (UIViewController*)visibleViewController
// - (NSArray<UIViewController*>*)viewControllers
// - (void)setViewControllers:animated:
@end
#endif // IOS_CHROME_TEST_FAKES_FAKE_UI_NAVIGATION_CONTROLLER_H_