Add ipc ParamTraits for StackVector
BUG=None
Review URL: https://codereview.chromium.org/1251593010
Cr-Commit-Position: refs/heads/master@{#340145}
diff --git a/ipc/ipc_message_utils_unittest.cc b/ipc/ipc_message_utils_unittest.cc
index a73e2e7e..88d670d 100644
--- a/ipc/ipc_message_utils_unittest.cc
+++ b/ipc/ipc_message_utils_unittest.cc
@@ -70,5 +70,22 @@
ASSERT_FALSE(ParamTraits<base::FilePath>::Read(&message, &iter, &bad_path));
}
+
+TEST(IPCMessageUtilsTest, StackVector) {
+ static const size_t stack_capacity = 5;
+ base::StackVector<double, stack_capacity> stack_vector;
+ for (size_t i = 0; i < 2 * stack_capacity; i++)
+ stack_vector->push_back(i * 2.0);
+
+ IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL);
+ IPC::WriteParam(&msg, stack_vector);
+
+ base::StackVector<double, stack_capacity> output;
+ base::PickleIterator iter(msg);
+ EXPECT_TRUE(IPC::ReadParam(&msg, &iter, &output));
+ for (size_t i = 0; i < 2 * stack_capacity; i++)
+ EXPECT_EQ(stack_vector[i], output[i]);
+}
+
} // namespace
} // namespace IPC