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 <map> | 5 #include <map> |
6 #include <string> | 6 #include <string> |
7 | 7 |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 | 170 |
171 class PluginProxyTest : public PluginProxyTestHarness, public testing::Test { | 171 class PluginProxyTest : public PluginProxyTestHarness, public testing::Test { |
172 public: | 172 public: |
173 PluginProxyTest(); | 173 PluginProxyTest(); |
174 virtual ~PluginProxyTest(); | 174 virtual ~PluginProxyTest(); |
175 | 175 |
176 // testing::Test implementation. | 176 // testing::Test implementation. |
177 virtual void SetUp(); | 177 virtual void SetUp(); |
178 virtual void TearDown(); | 178 virtual void TearDown(); |
179 private: | 179 private: |
180 MessageLoop message_loop_; | 180 base::MessageLoop message_loop_; |
181 }; | 181 }; |
182 | 182 |
183 // This class provides support for multi-thread testing. A secondary thread is | 183 // This class provides support for multi-thread testing. A secondary thread is |
184 // created with a Pepper message loop. | 184 // created with a Pepper message loop. |
185 // Subclasses need to implement the two SetUpTestOn*Thread() methods to do the | 185 // Subclasses need to implement the two SetUpTestOn*Thread() methods to do the |
186 // actual testing work; and call both PostQuitFor*Thread() when testing is | 186 // actual testing work; and call both PostQuitFor*Thread() when testing is |
187 // done. | 187 // done. |
188 class PluginProxyMultiThreadTest | 188 class PluginProxyMultiThreadTest |
189 : public PluginProxyTest, | 189 : public PluginProxyTest, |
190 public base::DelegateSimpleThread::Delegate { | 190 public base::DelegateSimpleThread::Delegate { |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 | 294 |
295 class HostProxyTest : public HostProxyTestHarness, public testing::Test { | 295 class HostProxyTest : public HostProxyTestHarness, public testing::Test { |
296 public: | 296 public: |
297 HostProxyTest(); | 297 HostProxyTest(); |
298 virtual ~HostProxyTest(); | 298 virtual ~HostProxyTest(); |
299 | 299 |
300 // testing::Test implementation. | 300 // testing::Test implementation. |
301 virtual void SetUp(); | 301 virtual void SetUp(); |
302 virtual void TearDown(); | 302 virtual void TearDown(); |
303 private: | 303 private: |
304 MessageLoop message_loop_; | 304 base::MessageLoop message_loop_; |
305 }; | 305 }; |
306 | 306 |
307 // Use this base class to test both sides of a proxy. | 307 // Use this base class to test both sides of a proxy. |
308 class TwoWayTest : public testing::Test { | 308 class TwoWayTest : public testing::Test { |
309 public: | 309 public: |
310 enum TwoWayTestMode { | 310 enum TwoWayTestMode { |
311 TEST_PPP_INTERFACE, | 311 TEST_PPP_INTERFACE, |
312 TEST_PPB_INTERFACE | 312 TEST_PPB_INTERFACE |
313 }; | 313 }; |
314 TwoWayTest(TwoWayTestMode test_mode); | 314 TwoWayTest(TwoWayTestMode test_mode); |
(...skipping 17 matching lines...) Expand all Loading... |
332 | 332 |
333 private: | 333 private: |
334 TwoWayTestMode test_mode_; | 334 TwoWayTestMode test_mode_; |
335 HostProxyTestHarness host_; | 335 HostProxyTestHarness host_; |
336 PluginProxyTestHarness plugin_; | 336 PluginProxyTestHarness plugin_; |
337 // In order to use sync IPC, we need to have an IO thread. | 337 // In order to use sync IPC, we need to have an IO thread. |
338 base::Thread io_thread_; | 338 base::Thread io_thread_; |
339 // The plugin side of the proxy runs on its own thread. | 339 // The plugin side of the proxy runs on its own thread. |
340 base::Thread plugin_thread_; | 340 base::Thread plugin_thread_; |
341 // The message loop for the main (host) thread. | 341 // The message loop for the main (host) thread. |
342 MessageLoop message_loop_; | 342 base::MessageLoop message_loop_; |
343 | 343 |
344 // Aliases for the host and plugin harnesses; if we're testing a PPP | 344 // Aliases for the host and plugin harnesses; if we're testing a PPP |
345 // interface, remote_harness will point to plugin_, and local_harness | 345 // interface, remote_harness will point to plugin_, and local_harness |
346 // will point to host_. This makes it convenient when we're starting and | 346 // will point to host_. This makes it convenient when we're starting and |
347 // stopping the harnesses. | 347 // stopping the harnesses. |
348 ProxyTestHarnessBase* remote_harness_; | 348 ProxyTestHarnessBase* remote_harness_; |
349 ProxyTestHarnessBase* local_harness_; | 349 ProxyTestHarnessBase* local_harness_; |
350 | 350 |
351 base::WaitableEvent channel_created_; | 351 base::WaitableEvent channel_created_; |
352 base::WaitableEvent shutdown_event_; | 352 base::WaitableEvent shutdown_event_; |
353 }; | 353 }; |
354 | 354 |
355 // Used during Gtests when you have a PP_Var that you want to EXPECT is equal | 355 // Used during Gtests when you have a PP_Var that you want to EXPECT is equal |
356 // to a certain constant string value: | 356 // to a certain constant string value: |
357 // | 357 // |
358 // EXPECT_VAR_IS_STRING("foo", my_var); | 358 // EXPECT_VAR_IS_STRING("foo", my_var); |
359 #define EXPECT_VAR_IS_STRING(str, var) { \ | 359 #define EXPECT_VAR_IS_STRING(str, var) { \ |
360 StringVar* sv = StringVar::FromPPVar(var); \ | 360 StringVar* sv = StringVar::FromPPVar(var); \ |
361 EXPECT_TRUE(sv); \ | 361 EXPECT_TRUE(sv); \ |
362 if (sv) \ | 362 if (sv) \ |
363 EXPECT_EQ(str, sv->value()); \ | 363 EXPECT_EQ(str, sv->value()); \ |
364 } | 364 } |
365 | 365 |
366 } // namespace proxy | 366 } // namespace proxy |
367 } // namespace ppapi | 367 } // namespace ppapi |
OLD | NEW |