blob: c1e991cf244ae02f55a04057bd5a6722528fa6ea [file] [log] [blame]
// Copyright 2020 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.
#include "base/fuchsia/test_log_listener_safe.h"
#include "base/logging.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace base {
TestLogListenerSafe::TestLogListenerSafe() = default;
TestLogListenerSafe::~TestLogListenerSafe() = default;
void TestLogListenerSafe::set_on_dump_logs_done(
base::OnceClosure on_dump_logs_done) {
on_dump_logs_done_ = std::move(on_dump_logs_done);
}
bool TestLogListenerSafe::DidReceiveString(
base::StringPiece message,
fuchsia::logger::LogMessage* logged_message) {
for (const auto& log_message : log_messages_) {
if (log_message.msg.find(message.as_string()) != std::string::npos) {
*logged_message = log_message;
return true;
}
}
return false;
}
void TestLogListenerSafe::LogMany(
std::vector<fuchsia::logger::LogMessage> messages,
LogManyCallback callback) {
log_messages_.insert(log_messages_.end(),
std::make_move_iterator(messages.begin()),
std::make_move_iterator(messages.end()));
callback();
}
void TestLogListenerSafe::Done() {
std::move(on_dump_logs_done_).Run();
}
void TestLogListenerSafe::NotImplemented_(const std::string& name) {
ADD_FAILURE() << "NotImplemented_: " << name;
}
} // namespace base