You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
976 B
35 lines
976 B
4 months ago
|
// Copyright 2016 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 BASE_TEST_TEST_MESSAGE_LOOP_H_
|
||
|
#define BASE_TEST_TEST_MESSAGE_LOOP_H_
|
||
|
|
||
|
#include "base/message_loop/message_loop.h"
|
||
|
|
||
|
namespace base {
|
||
|
|
||
|
// TestMessageLoop is a convenience class for unittests that need to create a
|
||
|
// message loop without a real thread backing it. For most tests,
|
||
|
// it is sufficient to just instantiate TestMessageLoop as a member variable.
|
||
|
//
|
||
|
// TestMessageLoop will attempt to drain the underlying MessageLoop on
|
||
|
// destruction for clean teardown of tests.
|
||
|
class TestMessageLoop {
|
||
|
public:
|
||
|
TestMessageLoop();
|
||
|
explicit TestMessageLoop(MessageLoop::Type type);
|
||
|
~TestMessageLoop();
|
||
|
|
||
|
const scoped_refptr<SingleThreadTaskRunner>& task_runner() {
|
||
|
return loop_.task_runner();
|
||
|
}
|
||
|
|
||
|
private:
|
||
|
MessageLoop loop_;
|
||
|
};
|
||
|
|
||
|
} // namespace base
|
||
|
|
||
|
#endif // BASE_TEST_TEST_MESSAGE_LOOP_H_
|