| 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 "build/build_config.h" | 5 #include "build/build_config.h" |
| 6 | 6 |
| 7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
| 8 #include <windows.h> | 8 #include <windows.h> |
| 9 #endif | 9 #endif |
| 10 | 10 |
| 11 #include <string> | 11 #include <string> |
| 12 | 12 |
| 13 #include "base/message_loop/message_loop.h" | 13 #include "base/message_loop/message_loop.h" |
| 14 #include "base/pickle.h" | 14 #include "base/pickle.h" |
| 15 #include "base/strings/string16.h" |
| 16 #include "base/strings/utf_string_conversions.h" |
| 15 #include "base/threading/thread.h" | 17 #include "base/threading/thread.h" |
| 16 #include "ipc/ipc_message.h" | 18 #include "ipc/ipc_message.h" |
| 17 #include "ipc/ipc_test_base.h" | 19 #include "ipc/ipc_test_base.h" |
| 18 #include "ipc/ipc_test_channel_listener.h" | 20 #include "ipc/ipc_test_channel_listener.h" |
| 19 | 21 |
| 20 namespace { | 22 namespace { |
| 21 | 23 |
| 22 class IPCChannelTest : public IPCTestBase { | 24 class IPCChannelTest : public IPCTestBase { |
| 23 }; | 25 }; |
| 24 | 26 |
| 25 // TODO(viettrungluu): Move to a separate IPCMessageTest. | 27 // TODO(viettrungluu): Move to a separate IPCMessageTest. |
| 26 TEST_F(IPCChannelTest, BasicMessageTest) { | 28 TEST_F(IPCChannelTest, BasicMessageTest) { |
| 27 int v1 = 10; | 29 int v1 = 10; |
| 28 std::string v2("foobar"); | 30 std::string v2("foobar"); |
| 29 std::wstring v3(L"hello world"); | 31 base::string16 v3(base::ASCIIToUTF16("hello world")); |
| 30 | 32 |
| 31 IPC::Message m(0, 1, IPC::Message::PRIORITY_NORMAL); | 33 IPC::Message m(0, 1, IPC::Message::PRIORITY_NORMAL); |
| 32 EXPECT_TRUE(m.WriteInt(v1)); | 34 EXPECT_TRUE(m.WriteInt(v1)); |
| 33 EXPECT_TRUE(m.WriteString(v2)); | 35 EXPECT_TRUE(m.WriteString(v2)); |
| 34 EXPECT_TRUE(m.WriteWString(v3)); | 36 EXPECT_TRUE(m.WriteString16(v3)); |
| 35 | 37 |
| 36 PickleIterator iter(m); | 38 PickleIterator iter(m); |
| 37 | 39 |
| 38 int vi; | 40 int vi; |
| 39 std::string vs; | 41 std::string vs; |
| 40 std::wstring vw; | 42 base::string16 vs16; |
| 41 | 43 |
| 42 EXPECT_TRUE(iter.ReadInt(&vi)); | 44 EXPECT_TRUE(iter.ReadInt(&vi)); |
| 43 EXPECT_EQ(v1, vi); | 45 EXPECT_EQ(v1, vi); |
| 44 | 46 |
| 45 EXPECT_TRUE(iter.ReadString(&vs)); | 47 EXPECT_TRUE(iter.ReadString(&vs)); |
| 46 EXPECT_EQ(v2, vs); | 48 EXPECT_EQ(v2, vs); |
| 47 | 49 |
| 48 EXPECT_TRUE(iter.ReadWString(&vw)); | 50 EXPECT_TRUE(iter.ReadString16(&vs16)); |
| 49 EXPECT_EQ(v3, vw); | 51 EXPECT_EQ(v3, vs16); |
| 50 | 52 |
| 51 // should fail | 53 // should fail |
| 52 EXPECT_FALSE(iter.ReadInt(&vi)); | 54 EXPECT_FALSE(iter.ReadInt(&vi)); |
| 53 EXPECT_FALSE(iter.ReadString(&vs)); | 55 EXPECT_FALSE(iter.ReadString(&vs)); |
| 54 EXPECT_FALSE(iter.ReadWString(&vw)); | 56 EXPECT_FALSE(iter.ReadString16(&vs16)); |
| 55 } | 57 } |
| 56 | 58 |
| 57 TEST_F(IPCChannelTest, ChannelTest) { | 59 TEST_F(IPCChannelTest, ChannelTest) { |
| 58 Init("GenericClient"); | 60 Init("GenericClient"); |
| 59 | 61 |
| 60 // Set up IPC channel and start client. | 62 // Set up IPC channel and start client. |
| 61 IPC::TestChannelListener listener; | 63 IPC::TestChannelListener listener; |
| 62 CreateChannel(&listener); | 64 CreateChannel(&listener); |
| 63 listener.Init(sender()); | 65 listener.Init(sender()); |
| 64 ASSERT_TRUE(ConnectChannel()); | 66 ASSERT_TRUE(ConnectChannel()); |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 193 &listener)); | 195 &listener)); |
| 194 CHECK(channel->Connect()); | 196 CHECK(channel->Connect()); |
| 195 listener.Init(channel.get()); | 197 listener.Init(channel.get()); |
| 196 IPC::TestChannelListener::SendOneMessage(channel.get(), "hello from child"); | 198 IPC::TestChannelListener::SendOneMessage(channel.get(), "hello from child"); |
| 197 | 199 |
| 198 base::MessageLoop::current()->Run(); | 200 base::MessageLoop::current()->Run(); |
| 199 return 0; | 201 return 0; |
| 200 } | 202 } |
| 201 | 203 |
| 202 } // namespace | 204 } // namespace |
| OLD | NEW |