blob: 1bef23d9e23b42dc4f0518491d4c1594e0cae215 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_TRANSLATE_CORE_BROWSER_MOCK_TRANSLATE_RANKER_H_
#define COMPONENTS_TRANSLATE_CORE_BROWSER_MOCK_TRANSLATE_RANKER_H_
#include <memory>
#include <string>
#include <vector>
#include "components/translate/core/browser/translate_ranker.h"
#include "testing/gmock/include/gmock/gmock.h"
class GURL;
namespace metrics {
class TranslateEventProto;
}
namespace translate {
namespace testing {
class MockTranslateRanker : public TranslateRanker {
public:
MockTranslateRanker();
~MockTranslateRanker() override;
void set_is_logging_enabled(bool val) { is_logging_enabled_ = val; }
void set_is_query_enabled(bool val) { is_query_enabled_ = val; }
void set_is_enforcement_enabled(bool val) { is_enforcement_enabled_ = val; }
void set_is_decision_override_enabled(bool val) {
is_decision_override_enabled_ = val;
}
void set_model_version(int val) { model_version_ = val; }
void set_should_offer_translation(bool val) {
should_offer_translation_ = val;
}
// TranslateRanker Implementation:
uint32_t GetModelVersion() const override;
void EnableLogging(bool logging_enabled) override {
is_logging_enabled_ = logging_enabled;
}
bool ShouldOfferTranslation(
metrics::TranslateEventProto* translate_events) override;
void FlushTranslateEvents(
std::vector<metrics::TranslateEventProto>* events) override;
MOCK_METHOD3(RecordTranslateEvent,
void(int event_type,
const GURL& url,
metrics::TranslateEventProto* translate_event));
MOCK_METHOD3(ShouldOverrideDecision,
bool(int event_type,
const GURL& url,
metrics::TranslateEventProto* translate_event));
private:
std::vector<metrics::TranslateEventProto> event_cache_;
bool is_logging_enabled_ = false;
bool is_query_enabled_ = false;
bool is_enforcement_enabled_ = false;
bool is_decision_override_enabled_ = false;
bool model_version_ = 0;
bool should_offer_translation_ = true;
DISALLOW_COPY_AND_ASSIGN(MockTranslateRanker);
};
} // namespace testing
} // namespace translate
#endif // COMPONENTS_TRANSLATE_CORE_BROWSER_MOCK_TRANSLATE_RANKER_H_