OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ppapi/tests/test_flash_message_loop.h" | 5 #include "ppapi/tests/test_flash_message_loop.h" |
6 | 6 |
7 #include "ppapi/c/pp_macros.h" | 7 #include "ppapi/c/pp_macros.h" |
8 #include "ppapi/cpp/core.h" | 8 #include "ppapi/cpp/core.h" |
9 #include "ppapi/cpp/logging.h" | 9 #include "ppapi/cpp/logging.h" |
10 #include "ppapi/cpp/module.h" | 10 #include "ppapi/cpp/module.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 } | 24 } |
25 | 25 |
26 void TestFlashMessageLoop::RunTests(const std::string& filter) { | 26 void TestFlashMessageLoop::RunTests(const std::string& filter) { |
27 RUN_TEST(Basics, filter); | 27 RUN_TEST(Basics, filter); |
28 RUN_TEST(RunWithoutQuit, filter); | 28 RUN_TEST(RunWithoutQuit, filter); |
29 } | 29 } |
30 | 30 |
31 std::string TestFlashMessageLoop::TestBasics() { | 31 std::string TestFlashMessageLoop::TestBasics() { |
32 message_loop_ = new pp::flash::MessageLoop(instance_); | 32 message_loop_ = new pp::flash::MessageLoop(instance_); |
33 | 33 |
34 pp::CompletionCallback callback = | 34 pp::CompletionCallback callback = callback_factory_.NewCallback( |
35 callback_factory_.NewRequiredCallback( | 35 &TestFlashMessageLoop::QuitMessageLoopTask); |
36 &TestFlashMessageLoop::QuitMessageLoopTask); | |
37 pp::Module::Get()->core()->CallOnMainThread(0, callback); | 36 pp::Module::Get()->core()->CallOnMainThread(0, callback); |
38 int32_t result = message_loop_->Run(); | 37 int32_t result = message_loop_->Run(); |
39 | 38 |
40 ASSERT_TRUE(message_loop_); | 39 ASSERT_TRUE(message_loop_); |
41 delete message_loop_; | 40 delete message_loop_; |
42 message_loop_ = NULL; | 41 message_loop_ = NULL; |
43 | 42 |
44 ASSERT_EQ(result, PP_OK); | 43 ASSERT_EQ(result, PP_OK); |
45 PASS(); | 44 PASS(); |
46 } | 45 } |
47 | 46 |
48 std::string TestFlashMessageLoop::TestRunWithoutQuit() { | 47 std::string TestFlashMessageLoop::TestRunWithoutQuit() { |
49 message_loop_ = new pp::flash::MessageLoop(instance_); | 48 message_loop_ = new pp::flash::MessageLoop(instance_); |
50 | 49 |
51 pp::CompletionCallback callback = | 50 pp::CompletionCallback callback = callback_factory_.NewCallback( |
52 callback_factory_.NewRequiredCallback( | 51 &TestFlashMessageLoop::DestroyMessageLoopResourceTask); |
53 &TestFlashMessageLoop::DestroyMessageLoopResourceTask); | |
54 pp::Module::Get()->core()->CallOnMainThread(0, callback); | 52 pp::Module::Get()->core()->CallOnMainThread(0, callback); |
55 int32_t result = message_loop_->Run(); | 53 int32_t result = message_loop_->Run(); |
56 | 54 |
57 if (message_loop_) { | 55 if (message_loop_) { |
58 delete message_loop_; | 56 delete message_loop_; |
59 message_loop_ = NULL; | 57 message_loop_ = NULL; |
60 ASSERT_TRUE(false); | 58 ASSERT_TRUE(false); |
61 } | 59 } |
62 | 60 |
63 ASSERT_EQ(result, PP_ERROR_ABORTED); | 61 ASSERT_EQ(result, PP_ERROR_ABORTED); |
64 PASS(); | 62 PASS(); |
65 } | 63 } |
66 | 64 |
67 void TestFlashMessageLoop::QuitMessageLoopTask(int32_t unused) { | 65 void TestFlashMessageLoop::QuitMessageLoopTask(int32_t unused) { |
68 if (message_loop_) | 66 if (message_loop_) |
69 message_loop_->Quit(); | 67 message_loop_->Quit(); |
70 else | 68 else |
71 PP_NOTREACHED(); | 69 PP_NOTREACHED(); |
72 } | 70 } |
73 | 71 |
74 void TestFlashMessageLoop::DestroyMessageLoopResourceTask(int32_t unused) { | 72 void TestFlashMessageLoop::DestroyMessageLoopResourceTask(int32_t unused) { |
75 if (message_loop_) { | 73 if (message_loop_) { |
76 delete message_loop_; | 74 delete message_loop_; |
77 message_loop_ = NULL; | 75 message_loop_ = NULL; |
78 } else { | 76 } else { |
79 PP_NOTREACHED(); | 77 PP_NOTREACHED(); |
80 } | 78 } |
81 } | 79 } |
OLD | NEW |