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

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

Issue 1375313006: For c++, Generate enum classes instead of enum from mojom. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 2 months 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
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <vector> 5 #include <vector>
6 #include "mojo/public/cpp/bindings/array.h" 6 #include "mojo/public/cpp/bindings/array.h"
7 #include "mojo/public/cpp/bindings/binding.h" 7 #include "mojo/public/cpp/bindings/binding.h"
8 #include "mojo/public/cpp/bindings/lib/array_internal.h" 8 #include "mojo/public/cpp/bindings/lib/array_internal.h"
9 #include "mojo/public/cpp/bindings/lib/array_serialization.h" 9 #include "mojo/public/cpp/bindings/lib/array_serialization.h"
10 #include "mojo/public/cpp/bindings/lib/bounds_checker.h" 10 #include "mojo/public/cpp/bindings/lib/bounds_checker.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 EXPECT_TRUE(pod->is_f_double()); 76 EXPECT_TRUE(pod->is_f_double());
77 EXPECT_EQ(pod->which(), PodUnion::Tag::F_DOUBLE); 77 EXPECT_EQ(pod->which(), PodUnion::Tag::F_DOUBLE);
78 78
79 pod->set_f_bool(true); 79 pod->set_f_bool(true);
80 EXPECT_TRUE(pod->get_f_bool()); 80 EXPECT_TRUE(pod->get_f_bool());
81 pod->set_f_bool(false); 81 pod->set_f_bool(false);
82 EXPECT_FALSE(pod->get_f_bool()); 82 EXPECT_FALSE(pod->get_f_bool());
83 EXPECT_TRUE(pod->is_f_bool()); 83 EXPECT_TRUE(pod->is_f_bool());
84 EXPECT_EQ(pod->which(), PodUnion::Tag::F_BOOL); 84 EXPECT_EQ(pod->which(), PodUnion::Tag::F_BOOL);
85 85
86 pod->set_f_enum(AN_ENUM_SECOND); 86 pod->set_f_enum(AnEnum::SECOND);
87 EXPECT_EQ(AN_ENUM_SECOND, pod->get_f_enum()); 87 EXPECT_EQ(AnEnum::SECOND, pod->get_f_enum());
88 EXPECT_TRUE(pod->is_f_enum()); 88 EXPECT_TRUE(pod->is_f_enum());
89 EXPECT_EQ(pod->which(), PodUnion::Tag::F_ENUM); 89 EXPECT_EQ(pod->which(), PodUnion::Tag::F_ENUM);
90 } 90 }
91 91
92 TEST(UnionTest, PodEquals) { 92 TEST(UnionTest, PodEquals) {
93 PodUnionPtr pod1(PodUnion::New()); 93 PodUnionPtr pod1(PodUnion::New());
94 PodUnionPtr pod2(PodUnion::New()); 94 PodUnionPtr pod2(PodUnion::New());
95 95
96 pod1->set_f_int8(10); 96 pod1->set_f_int8(10);
97 pod2->set_f_int8(10); 97 pod2->set_f_int8(10);
(...skipping 30 matching lines...) Expand all
128 PodUnionPtr pod2(PodUnion::New()); 128 PodUnionPtr pod2(PodUnion::New());
129 Deserialize_(data, pod2.get()); 129 Deserialize_(data, pod2.get());
130 130
131 EXPECT_EQ(10, pod2->get_f_int8()); 131 EXPECT_EQ(10, pod2->get_f_int8());
132 EXPECT_TRUE(pod2->is_f_int8()); 132 EXPECT_TRUE(pod2->is_f_int8());
133 EXPECT_EQ(pod2->which(), PodUnion::Tag::F_INT8); 133 EXPECT_EQ(pod2->which(), PodUnion::Tag::F_INT8);
134 } 134 }
135 135
136 TEST(UnionTest, EnumSerialization) { 136 TEST(UnionTest, EnumSerialization) {
137 PodUnionPtr pod1(PodUnion::New()); 137 PodUnionPtr pod1(PodUnion::New());
138 pod1->set_f_enum(AN_ENUM_SECOND); 138 pod1->set_f_enum(AnEnum::SECOND);
139 139
140 size_t size = GetSerializedSize_(pod1, false); 140 size_t size = GetSerializedSize_(pod1, false);
141 EXPECT_EQ(16U, size); 141 EXPECT_EQ(16U, size);
142 142
143 mojo::internal::FixedBufferForTesting buf(size); 143 mojo::internal::FixedBufferForTesting buf(size);
144 internal::PodUnion_Data* data = nullptr; 144 internal::PodUnion_Data* data = nullptr;
145 SerializeUnion_(pod1.get(), &buf, &data, false); 145 SerializeUnion_(pod1.get(), &buf, &data, false);
146 146
147 PodUnionPtr pod2 = PodUnion::New(); 147 PodUnionPtr pod2 = PodUnion::New();
148 Deserialize_(data, pod2.get()); 148 Deserialize_(data, pod2.get());
149 149
150 EXPECT_EQ(AN_ENUM_SECOND, pod2->get_f_enum()); 150 EXPECT_EQ(AnEnum::SECOND, pod2->get_f_enum());
151 EXPECT_TRUE(pod2->is_f_enum()); 151 EXPECT_TRUE(pod2->is_f_enum());
152 EXPECT_EQ(pod2->which(), PodUnion::Tag::F_ENUM); 152 EXPECT_EQ(pod2->which(), PodUnion::Tag::F_ENUM);
153 } 153 }
154 154
155 TEST(UnionTest, PodValidation) { 155 TEST(UnionTest, PodValidation) {
156 PodUnionPtr pod(PodUnion::New()); 156 PodUnionPtr pod(PodUnion::New());
157 pod->set_f_int8(10); 157 pod->set_f_int8(10);
158 158
159 size_t size = GetSerializedSize_(pod, false); 159 size_t size = GetSerializedSize_(pod, false);
160 EXPECT_EQ(16U, size); 160 EXPECT_EQ(16U, size);
(...skipping 1008 matching lines...) Expand 10 before | Expand all | Expand 10 after
1169 PodUnionPtr pod(PodUnion::New()); 1169 PodUnionPtr pod(PodUnion::New());
1170 pod->set_f_int16(16); 1170 pod->set_f_int16(16);
1171 1171
1172 ptr->Echo(pod.Pass(), 1172 ptr->Echo(pod.Pass(),
1173 [](PodUnionPtr out) { EXPECT_EQ(16, out->get_f_int16()); }); 1173 [](PodUnionPtr out) { EXPECT_EQ(16, out->get_f_int16()); });
1174 run_loop.RunUntilIdle(); 1174 run_loop.RunUntilIdle();
1175 } 1175 }
1176 1176
1177 } // namespace test 1177 } // namespace test
1178 } // namespace mojo 1178 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/public/cpp/bindings/tests/sample_service_unittest.cc ('k') | mojo/public/cpp/bindings/tests/versioning_apptest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698