#include "components/webrtc/thread_wrapper.h"
#include <stdint.h>
#include "base/memory/raw_ptr.h"
#include "base/run_loop.h"
#include "base/synchronization/waitable_event.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/task_environment.h"
#include "base/threading/thread.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/webrtc/api/task_queue/task_queue_factory.h"
#include "third_party/webrtc/api/task_queue/task_queue_test.h"
#include "third_party/webrtc_overrides/metronome_source.h"
#include "third_party/webrtc_overrides/test/metronome_like_task_queue_test.h"
#include "third_party/webrtc_overrides/timer_based_tick_provider.h"
namespace webrtc {
namespace {
MetronomeLikeTaskQueueTest;
InSequence;
Invoke;
MockFunction;
constexpr TimeDelta kTestDelay1 = …;
constexpr TimeDelta kTestDelay2 = …;
constexpr TimeDelta kTestDelay3 = …;
constexpr TimeDelta kTestDelay4 = …;
constexpr base::TimeDelta kMaxTestDelay = …;
class ThreadWrapperTest : public testing::Test { … };
TEST_F(ThreadWrapperTest, PostTask) { … }
TEST_F(ThreadWrapperTest, PostDelayedTask) { … }
TEST_F(ThreadWrapperTest, BlockingCallSameThread) { … }
void InitializeWrapperForNewThread(ThreadWrapper** thread,
base::WaitableEvent* done_event) { … }
TEST_F(ThreadWrapperTest, BlockingCallToOtherThread) { … }
TEST_F(ThreadWrapperTest, BlockingCallDuringBlockingCall) { … }
class ThreadWrapperProvider : public blink::MetronomeLikeTaskQueueProvider { … };
INSTANTIATE_TEST_SUITE_P(…);
class ThreadWrapperTaskQueueFactory : public TaskQueueFactory { … };
std::unique_ptr<TaskQueueFactory> CreateTaskQueueFactory(
const webrtc::FieldTrialsView*) { … }
INSTANTIATE_TEST_SUITE_P(…);
}
}