blob: deeb5260234c33c077ed926d111248da9aaee141 [file] [log] [blame]
// Copyright 2025 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_BROWSER_FAVICON_MODEL_MOCK_FAVICON_LOADER_H_
#define IOS_CHROME_BROWSER_FAVICON_MODEL_MOCK_FAVICON_LOADER_H_
#include "ios/chrome/browser/favicon/model/test_favicon_loader.h"
#include "testing/gmock/include/gmock/gmock.h"
// A test double for FaviconLoader that allow mocking methods.
//
// If possible prefer to use TestFaviconLoader if you only need a
// test double that successfully returns a valid favicon for all
// invocations.
class MockFaviconLoader : public TestFaviconLoader {
public:
MockFaviconLoader();
~MockFaviconLoader() override;
// Mockable methods.
MOCK_METHOD(void,
FaviconForPageUrl,
(const GURL& page_url,
float size_in_points,
float min_size_in_points,
bool fallback_to_google_server,
FaviconAttributesCompletionBlock favicon_block_handler),
(override));
MOCK_METHOD(void,
FaviconForPageUrlOrHost,
(const GURL& page_url,
float size_in_points,
FaviconAttributesCompletionBlock favicon_block_handler),
(override));
MOCK_METHOD(void,
FaviconForIconUrl,
(const GURL& icon_url,
float size_in_points,
float min_size_in_points,
FaviconAttributesCompletionBlock favicon_block_handler),
(override));
MOCK_METHOD(void, CancellAllRequests, (), (override));
};
#endif // IOS_CHROME_BROWSER_FAVICON_MODEL_MOCK_FAVICON_LOADER_H_