| OLD | NEW | 
|   1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |   1 // Copyright (c) 2011 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_transport.h" |   5 #include "ppapi/tests/test_transport.h" | 
|   6  |   6  | 
|   7 #include <string.h> |   7 #include <string.h> | 
|   8  |   8  | 
|   9 #include <string> |   9 #include <string> | 
|  10  |  10  | 
|  11 #include "ppapi/c/dev/ppb_testing_dev.h" |  11 #include "ppapi/c/dev/ppb_testing_dev.h" | 
|  12 #include "ppapi/c/dev/ppb_transport_dev.h" |  | 
|  13 #include "ppapi/c/pp_errors.h" |  12 #include "ppapi/c/pp_errors.h" | 
|  14 #include "ppapi/cpp/completion_callback.h" |  13 #include "ppapi/cpp/completion_callback.h" | 
|  15 #include "ppapi/cpp/instance.h" |  14 #include "ppapi/cpp/instance.h" | 
|  16 #include "ppapi/cpp/module.h" |  15 #include "ppapi/cpp/module.h" | 
 |  16 #include "ppapi/cpp/dev/transport_dev.h" | 
|  17 #include "ppapi/tests/test_utils.h" |  17 #include "ppapi/tests/test_utils.h" | 
|  18 #include "ppapi/tests/testing_instance.h" |  18 #include "ppapi/tests/testing_instance.h" | 
|  19  |  19  | 
|  20 REGISTER_TEST_CASE(Transport); |  20 REGISTER_TEST_CASE(Transport); | 
|  21  |  21  | 
|  22 bool TestTransport::Init() { |  22 bool TestTransport::Init() { | 
|  23   transport_interface_ = reinterpret_cast<PPB_Transport_Dev const*>( |  23   transport_interface_ = reinterpret_cast<PPB_Transport_Dev const*>( | 
|  24       pp::Module::Get()->GetBrowserInterface(PPB_TRANSPORT_DEV_INTERFACE)); |  24       pp::Module::Get()->GetBrowserInterface(PPB_TRANSPORT_DEV_INTERFACE)); | 
|  25   return transport_interface_ && InitTestingInterface(); |  25   return transport_interface_ && InitTestingInterface(); | 
|  26 } |  26 } | 
|  27  |  27  | 
|  28 void TestTransport::RunTest() { |  28 void TestTransport::RunTest() { | 
|  29   RUN_TEST(FirstTransport); |  29   RUN_TEST(Basics); | 
|  30   // TODO(juberti): more Transport tests here... |  30   // TODO(juberti): more Transport tests here... | 
|  31 } |  31 } | 
|  32  |  32  | 
|  33 std::string TestTransport::TestFirstTransport() { |  33 std::string TestTransport::TestBasics() { | 
|  34   // TODO(juberti): actual test |  34   pp::Transport_Dev transport1(instance_, "test", ""); | 
 |  35   pp::Transport_Dev transport2(instance_, "test", ""); | 
 |  36  | 
 |  37   TestCompletionCallback connect_cb1(instance_->pp_instance()); | 
 |  38   TestCompletionCallback connect_cb2(instance_->pp_instance()); | 
 |  39   ASSERT_EQ(transport1.Connect(connect_cb1), PP_ERROR_WOULDBLOCK); | 
 |  40   ASSERT_EQ(transport2.Connect(connect_cb2), PP_ERROR_WOULDBLOCK); | 
 |  41  | 
 |  42   pp::Var address1; | 
 |  43   pp::Var address2; | 
 |  44   TestCompletionCallback next_address_cb1(instance_->pp_instance()); | 
 |  45   TestCompletionCallback next_address_cb2(instance_->pp_instance()); | 
 |  46   ASSERT_EQ(transport1.GetNextAddress(&address1, next_address_cb1), | 
 |  47             PP_ERROR_WOULDBLOCK); | 
 |  48   ASSERT_EQ(transport2.GetNextAddress(&address2, next_address_cb2), | 
 |  49             PP_ERROR_WOULDBLOCK); | 
 |  50   ASSERT_EQ(next_address_cb1.WaitForResult(), 0); | 
 |  51   ASSERT_EQ(next_address_cb2.WaitForResult(), 0); | 
 |  52   ASSERT_EQ(transport1.GetNextAddress(&address1, next_address_cb1), PP_OK); | 
 |  53   ASSERT_EQ(transport2.GetNextAddress(&address2, next_address_cb2), PP_OK); | 
 |  54  | 
 |  55   ASSERT_EQ(transport1.ReceiveRemoteAddress(address2), 0); | 
 |  56   ASSERT_EQ(transport2.ReceiveRemoteAddress(address1), 0); | 
 |  57  | 
 |  58   ASSERT_EQ(connect_cb1.WaitForResult(), 0); | 
 |  59   ASSERT_EQ(connect_cb2.WaitForResult(), 0); | 
 |  60  | 
 |  61   ASSERT_TRUE(transport1.IsWritable()); | 
 |  62   ASSERT_TRUE(transport2.IsWritable()); | 
 |  63  | 
 |  64   // TODO(sergeyu): Verify that data can be sent/received. | 
 |  65  | 
|  35   PASS(); |  66   PASS(); | 
|  36 } |  67 } | 
| OLD | NEW |