| Index: ppapi/tests/test_message_loop.h
|
| diff --git a/ppapi/tests/test_message_loop.h b/ppapi/tests/test_message_loop.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..29fa64c5aba571cf70e2e2b70c2530c079d6fee1
|
| --- /dev/null
|
| +++ b/ppapi/tests/test_message_loop.h
|
| @@ -0,0 +1,47 @@
|
| +// Copyright (c) 2012 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 PAPPI_TESTS_TEST_MESSAGE_LOOP_H_
|
| +#define PAPPI_TESTS_TEST_MESSAGE_LOOP_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "ppapi/c/pp_stdint.h"
|
| +#include "ppapi/tests/test_case.h"
|
| +#include "ppapi/utility/completion_callback_factory.h"
|
| +
|
| +namespace pp {
|
| +class MessageLoop;
|
| +}
|
| +
|
| +class TestMessageLoop : public TestCase {
|
| + public:
|
| + explicit TestMessageLoop(TestingInstance* instance);
|
| + virtual ~TestMessageLoop();
|
| +
|
| + private:
|
| + // TestCase implementation.
|
| + virtual void RunTests(const std::string& filter);
|
| +
|
| + std::string TestBasics();
|
| + std::string TestPost();
|
| +
|
| + // This just ensures we have a unique number for each little thing we test.
|
| + enum TestParam { kInvalid, kMainToMain, kBeforeStart, kAfterStart};
|
| +
|
| + // A task to run on the main thread. It sets param_ and quits the main loop.
|
| + void SetParamAndQuitTask(int32_t result, TestParam param);
|
| +
|
| + // A task to run on a background thread. It posts SetResultAndQuitTask to the
|
| + // main loop, echoing result.
|
| + void EchoParamToMainTask(int32_t result, TestParam param);
|
| +
|
| + // The last test param we received in SetParamAndQuitTask (or kInvalid if
|
| + // none).
|
| + TestParam param_;
|
| + pp::CompletionCallbackFactory<TestMessageLoop> callback_factory_;
|
| + NestedEvent main_loop_task_ran_;
|
| +};
|
| +
|
| +#endif // PAPPI_TESTS_TEST_MESSAGE_LOOP_H_
|
|
|