1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_FEATURE_ENGAGEMENT_TEST_MOCK_TRACKER_H_
#define COMPONENTS_FEATURE_ENGAGEMENT_TEST_MOCK_TRACKER_H_
#include <memory>
#include <optional>
#include <string>
#include "build/build_config.h"
#include "components/feature_engagement/public/tracker.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace base {
class Clock;
}
namespace feature_engagement {
namespace test {
class MockTracker : public Tracker {
public:
MockTracker();
MockTracker(const MockTracker&) = delete;
MockTracker& operator=(const MockTracker&) = delete;
~MockTracker() override;
// Tracker implementation.
MOCK_METHOD1(NotifyEvent, void(const std::string& event));
#if !BUILDFLAG(IS_ANDROID)
MOCK_METHOD1(NotifyUsedEvent, void(const base::Feature& feature));
MOCK_METHOD1(ClearEventData, void(const base::Feature& feature));
MOCK_CONST_METHOD1(ListEvents, EventList(const base::Feature& feature));
#endif
MOCK_METHOD1(ShouldTriggerHelpUI, bool(const base::Feature& feature));
MOCK_METHOD1(ShouldTriggerHelpUIWithSnooze,
TriggerDetails(const base::Feature& feature));
MOCK_CONST_METHOD1(WouldTriggerHelpUI, bool(const base::Feature& feature));
MOCK_CONST_METHOD2(HasEverTriggered,
bool(const base::Feature& feature, bool from_window));
MOCK_CONST_METHOD1(GetTriggerState,
Tracker::TriggerState(const base::Feature& feature));
MOCK_CONST_METHOD0(IsInitialized, bool());
MOCK_METHOD1(Dismissed, void(const base::Feature& feature));
MOCK_METHOD2(DismissedWithSnooze,
void(const base::Feature& feature,
std::optional<SnoozeAction> snooze_action));
MOCK_METHOD0(AcquireDisplayLock, std::unique_ptr<DisplayLockHandle>());
MOCK_METHOD1(SetPriorityNotification, void(const base::Feature&));
MOCK_METHOD0(GetPendingPriorityNotification, std::optional<std::string>());
MOCK_METHOD2(RegisterPriorityNotificationHandler,
void(const base::Feature&, base::OnceClosure));
MOCK_METHOD1(UnregisterPriorityNotificationHandler,
void(const base::Feature&));
MOCK_METHOD1(AddOnInitializedCallback, void(OnInitializedCallback callback));
#if BUILDFLAG(IS_CHROMEOS)
MOCK_METHOD2(UpdateConfig,
void(const base::Feature& feature,
const ConfigurationProvider* provider));
#endif
MOCK_CONST_METHOD0(GetConfigurationForTesting, const Configuration*());
MOCK_METHOD2(SetClockForTesting,
void(const base::Clock& clock, base::Time initial_now));
MOCK_CONST_METHOD0(IsInFeatureTestMode, bool());
};
} // namespace test
} // namespace feature_engagement
#endif // COMPONENTS_FEATURE_ENGAGEMENT_TEST_MOCK_TRACKER_H_
|