Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Side by Side Diff: mojo/public/cpp/bindings/tests/message_builder_unittest.cc

Issue 1460463003: Move mojo::internal::MessageBuilder out of the |internal| namespace. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: More comments for MessageBuilder + a unittest. Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "mojo/public/cpp/bindings/lib/bindings_serialization.h"
6 #include "mojo/public/cpp/bindings/lib/message_builder.h"
7 #include "mojo/public/cpp/bindings/lib/message_internal.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace mojo {
11 namespace test {
12 namespace {
13
14 // Tests the Message built from using the MessageBuilder class.
viettrungluu 2015/11/18 23:55:59 nit: You can probably omit comments like this (whi
15 TEST(MessageBuilderTest, MessageBuilder) {
16 char payload[41];
17 MessageBuilder b(123u, sizeof(payload));
18
19 // The payload should be 8-byte aligned.
viettrungluu 2015/11/18 23:55:59 nit: "8-byte aligned" is not what you mean. You me
20 EXPECT_EQ(48u, b.message()->payload_num_bytes());
21
22 // payload size + message header size:
23 EXPECT_EQ(48u + sizeof(internal::MessageHeader),
24 b.message()->data_num_bytes());
25
26 const auto* msg_hdr =
27 reinterpret_cast<const internal::MessageHeader*>(b.message()->data());
28 EXPECT_EQ(123u, msg_hdr->name);
29 EXPECT_EQ(0u, msg_hdr->flags);
30 EXPECT_EQ(0u, msg_hdr->version);
31
32 EXPECT_EQ(sizeof(internal::MessageHeader), msg_hdr->num_bytes);
33 }
34
35 // Tests the Message built from using the RequestMessageBuilder class.
viettrungluu 2015/11/18 23:55:59 Etc.
36 TEST(MessageBuilderTest, RequestMessageBuilder) {
37 char payload[41];
38 RequestMessageBuilder b(123u, sizeof(payload));
39
40 // The payload should be 8-byte aligned.
41 EXPECT_EQ(48u, b.message()->payload_num_bytes());
42 // Total data size should be payload size + message header size.
43 EXPECT_EQ(48u + sizeof(internal::MessageHeaderWithRequestID),
44 b.message()->data_num_bytes());
45
46 const auto* msg_hdr =
47 reinterpret_cast<const internal::MessageHeaderWithRequestID*>(
48 b.message()->data());
49 EXPECT_EQ(123u, msg_hdr->name);
50 EXPECT_EQ(internal::kMessageExpectsResponse, msg_hdr->flags);
51 EXPECT_EQ(1u, msg_hdr->version);
52 EXPECT_EQ(0ul, msg_hdr->request_id);
53 EXPECT_EQ(sizeof(internal::MessageHeaderWithRequestID), msg_hdr->num_bytes);
54 }
55
56 // Tests the Message built from using the ResponseMessageBuilder class.
57 TEST(MessageBuilderTest, ResponseMessageBuilder) {
58 char payload[41];
59 ResponseMessageBuilder b(123u, sizeof(payload), 0ull);
60 // The payload should be 8-byte aligned.
61 EXPECT_EQ(48u, b.message()->payload_num_bytes());
62
63 // Total data size should be payload size + message header size.
64 EXPECT_EQ(48u + sizeof(internal::MessageHeaderWithRequestID),
65 b.message()->data_num_bytes());
66
67 const auto* msg_hdr =
68 reinterpret_cast<const internal::MessageHeaderWithRequestID*>(
69 b.message()->data());
70 EXPECT_EQ(123u, msg_hdr->name);
71 EXPECT_EQ(internal::kMessageIsResponse, msg_hdr->flags);
72 EXPECT_EQ(1u, msg_hdr->version);
73 EXPECT_EQ(0ul, msg_hdr->request_id);
74 EXPECT_EQ(sizeof(internal::MessageHeaderWithRequestID), msg_hdr->num_bytes);
75 }
76
77 } // namespace
78 } // namespace test
79 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698