ipc: Move BasicMessageTest into ipc_message_unittest.cc
This should fix viettrunluu's TODO in ipc_channel_unittest.cc
BUG=None
TEST=ipc_tests --gtest_filter=IPCMessageTest.BasicMessageTest
[email protected]
Review URL: https://codereview.chromium.org/1257833002
Cr-Commit-Position: refs/heads/master@{#340495}
diff --git a/ipc/ipc_message_unittest.cc b/ipc/ipc_message_unittest.cc
index 885ac2e..5d09a01 100644
--- a/ipc/ipc_message_unittest.cc
+++ b/ipc/ipc_message_unittest.cc
@@ -7,6 +7,7 @@
#include <string.h>
#include "base/memory/scoped_ptr.h"
+#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "ipc/ipc_message_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -26,6 +27,37 @@
namespace {
+TEST(IPCMessageTest, BasicMessageTest) {
+ int v1 = 10;
+ std::string v2("foobar");
+ base::string16 v3(base::ASCIIToUTF16("hello world"));
+
+ IPC::Message m(0, 1, IPC::Message::PRIORITY_NORMAL);
+ EXPECT_TRUE(m.WriteInt(v1));
+ EXPECT_TRUE(m.WriteString(v2));
+ EXPECT_TRUE(m.WriteString16(v3));
+
+ base::PickleIterator iter(m);
+
+ int vi;
+ std::string vs;
+ base::string16 vs16;
+
+ EXPECT_TRUE(iter.ReadInt(&vi));
+ EXPECT_EQ(v1, vi);
+
+ EXPECT_TRUE(iter.ReadString(&vs));
+ EXPECT_EQ(v2, vs);
+
+ EXPECT_TRUE(iter.ReadString16(&vs16));
+ EXPECT_EQ(v3, vs16);
+
+ // should fail
+ EXPECT_FALSE(iter.ReadInt(&vi));
+ EXPECT_FALSE(iter.ReadString(&vs));
+ EXPECT_FALSE(iter.ReadString16(&vs16));
+}
+
TEST(IPCMessageTest, ListValue) {
base::ListValue input;
input.Set(0, new base::FundamentalValue(42.42));