Index: ipc/ipc_message_utils_unittest.cc |
diff --git a/ipc/ipc_message_utils_unittest.cc b/ipc/ipc_message_utils_unittest.cc |
index 8ad690dfb4d82664c2f15e8e3b1676ea64bea422..be7b43f29897a88d1cd060ca292526d77312a2b1 100644 |
--- a/ipc/ipc_message_utils_unittest.cc |
+++ b/ipc/ipc_message_utils_unittest.cc |
@@ -10,6 +10,7 @@ |
#include "base/files/file_path.h" |
#include "base/json/json_reader.h" |
+#include "base/unguessable_token.h" |
#include "ipc/ipc_channel_handle.h" |
#include "ipc/ipc_message.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -199,5 +200,25 @@ TEST(IPCMessageUtilsTest, OptionalSet) { |
EXPECT_EQ(opt.value(), unserialized_opt.value()); |
} |
+TEST(IPCMessageUtilsTest, UnguessableTokenTest) { |
+ base::UnguessableToken token = base::UnguessableToken::Create(); |
+ base::Pickle pickle; |
+ IPC::WriteParam(&pickle, token); |
+ |
+ base::PickleSizer sizer; |
+ IPC::GetParamSize(&sizer, token); |
+ |
+ EXPECT_EQ(sizer.payload_size(), pickle.payload_size()); |
+ |
+ std::string log; |
+ IPC::LogParam(token, &log); |
+ EXPECT_EQ(token.ToString(), log); |
+ |
+ base::UnguessableToken deserialized_token; |
+ base::PickleIterator iter(pickle); |
+ EXPECT_TRUE(IPC::ReadParam(&pickle, &iter, &deserialized_token)); |
+ EXPECT_EQ(token, deserialized_token); |
+} |
+ |
} // namespace |
} // namespace IPC |