#include "remoting/host/ftl_host_change_notification_listener.h"
#include <set>
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/run_loop.h"
#include "base/task/sequenced_task_runner.h"
#include "base/test/task_environment.h"
#include "remoting/proto/ftl/v1/chromoting_message.pb.h"
#include "remoting/proto/ftl/v1/ftl_messages.pb.h"
#include "remoting/signaling/mock_signal_strategy.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
NotNull;
Return;
namespace remoting {
namespace {
const char kTestJid[] = …;
ACTION_P(AddListener, list) { … }
ACTION_P(RemoveListener, list) { … }
ftl::ChromotingMessage CreateMessageWithDirectoryState(
ftl::HostStatusChangeMessage_DirectoryState state) { … }
}
class FtlHostChangeNotificationListenerTest : public testing::Test { … };
TEST_F(FtlHostChangeNotificationListenerTest, ReceiveValidNotification) { … }
TEST_F(FtlHostChangeNotificationListenerTest,
ReceiveNotificationThenDeleteObject_CallbackNotCalled) { … }
TEST_F(FtlHostChangeNotificationListenerTest,
ReceiveNonSystemNotification_Ignored) { … }
TEST_F(FtlHostChangeNotificationListenerTest,
ReceiveUnknownChromotingMessage_Ignored) { … }
TEST_F(FtlHostChangeNotificationListenerTest,
ReceiveUnknownDirectoryState_Ignored) { … }
}