#include "third_party/blink/public/web/modules/media/audio/audio_output_ipc_factory.h"
#include <string>
#include <utility>
#include <vector>
#include "base/functional/bind.h"
#include "base/message_loop/message_pump_type.h"
#include "base/run_loop.h"
#include "base/test/bind.h"
#include "base/threading/thread.h"
#include "media/audio/audio_output_ipc.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/system/message_pipe.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/mojom/media/renderer_audio_output_stream_factory.mojom-blink.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
#include "third_party/blink/renderer/platform/testing/io_task_runner_testing_platform_support.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
_;
namespace blink {
namespace {
const int kRenderFrameId = …;
blink::LocalFrameToken TokenFromInt(int i) { … }
std::unique_ptr<base::Thread> MakeIOThread() { … }
class FakeRemoteFactory
: public mojom::blink::RendererAudioOutputStreamFactory { … };
class FakeAudioOutputIPCDelegate : public media::AudioOutputIPCDelegate { … };
}
class AudioOutputIPCFactoryTest : public testing::Test { … };
TEST_F(AudioOutputIPCFactoryTest, CallFactoryFromIOThread) { … }
TEST_F(AudioOutputIPCFactoryTest, SeveralFactories) { … }
TEST_F(AudioOutputIPCFactoryTest, RegisterDeregisterBackToBack_Deregisters) { … }
}