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

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

Issue 2689513003: Add field-initializing constructors to generated mojo structs. (Closed)
Patch Set: Created 3 years, 10 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 <utility> 5 #include <utility>
6 6
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "mojo/public/interfaces/bindings/tests/test_structs.mojom.h" 8 #include "mojo/public/interfaces/bindings/tests/test_structs.mojom.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 namespace mojo { 11 namespace mojo {
12 namespace test { 12 namespace test {
13 13
14 namespace { 14 namespace {
15 15
16 RectPtr CreateRect() { 16 RectPtr CreateRect() {
17 RectPtr r = Rect::New(); 17 return Rect::New(1, 2, 3, 4);
18 r->x = 1;
19 r->y = 2;
20 r->width = 3;
21 r->height = 4;
22 return r;
23 } 18 }
24 19
25 using EqualsTest = testing::Test; 20 using EqualsTest = testing::Test;
26 21
27 } // namespace 22 } // namespace
28 23
29 TEST_F(EqualsTest, NullStruct) { 24 TEST_F(EqualsTest, NullStruct) {
30 RectPtr r1; 25 RectPtr r1;
31 RectPtr r2; 26 RectPtr r2;
32 EXPECT_TRUE(r1.Equals(r2)); 27 EXPECT_TRUE(r1.Equals(r2));
33 EXPECT_TRUE(r2.Equals(r1)); 28 EXPECT_TRUE(r2.Equals(r1));
34 29
35 r1 = CreateRect(); 30 r1 = CreateRect();
36 EXPECT_FALSE(r1.Equals(r2)); 31 EXPECT_FALSE(r1.Equals(r2));
37 EXPECT_FALSE(r2.Equals(r1)); 32 EXPECT_FALSE(r2.Equals(r1));
38 } 33 }
39 34
40 TEST_F(EqualsTest, Struct) { 35 TEST_F(EqualsTest, Struct) {
41 RectPtr r1(CreateRect()); 36 RectPtr r1(CreateRect());
42 RectPtr r2(r1.Clone()); 37 RectPtr r2(r1.Clone());
43 EXPECT_TRUE(r1.Equals(r2)); 38 EXPECT_TRUE(r1.Equals(r2));
44 r2->y = 1; 39 r2->y = 1;
45 EXPECT_FALSE(r1.Equals(r2)); 40 EXPECT_FALSE(r1.Equals(r2));
46 r2.reset(); 41 r2.reset();
47 EXPECT_FALSE(r1.Equals(r2)); 42 EXPECT_FALSE(r1.Equals(r2));
48 } 43 }
49 44
50 TEST_F(EqualsTest, StructNested) { 45 TEST_F(EqualsTest, StructNested) {
51 RectPairPtr p1(RectPair::New()); 46 RectPairPtr p1(RectPair::New(CreateRect(), CreateRect()));
52 p1->first = CreateRect();
53 p1->second = CreateRect();
54 RectPairPtr p2(p1.Clone()); 47 RectPairPtr p2(p1.Clone());
55 EXPECT_TRUE(p1.Equals(p2)); 48 EXPECT_TRUE(p1.Equals(p2));
56 p2->second->width = 0; 49 p2->second->width = 0;
57 EXPECT_FALSE(p1.Equals(p2)); 50 EXPECT_FALSE(p1.Equals(p2));
58 p2->second.reset(); 51 p2->second.reset();
59 EXPECT_FALSE(p1.Equals(p2)); 52 EXPECT_FALSE(p1.Equals(p2));
60 } 53 }
61 54
62 TEST_F(EqualsTest, Array) { 55 TEST_F(EqualsTest, Array) {
63 NamedRegionPtr n1(NamedRegion::New()); 56 NamedRegionPtr n1(NamedRegion::New(std::string("n1")));
64 n1->name.emplace("n1");
65 n1->rects.emplace(); 57 n1->rects.emplace();
66 n1->rects->push_back(CreateRect()); 58 n1->rects->push_back(CreateRect());
67 NamedRegionPtr n2(n1.Clone()); 59 NamedRegionPtr n2(n1.Clone());
68 EXPECT_TRUE(n1.Equals(n2)); 60 EXPECT_TRUE(n1.Equals(n2));
69 61
70 n2->rects = base::nullopt; 62 n2->rects = base::nullopt;
71 EXPECT_FALSE(n1.Equals(n2)); 63 EXPECT_FALSE(n1.Equals(n2));
72 n2->rects.emplace(); 64 n2->rects.emplace();
73 EXPECT_FALSE(n1.Equals(n2)); 65 EXPECT_FALSE(n1.Equals(n2));
74 66
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 EXPECT_FALSE(req1.Equals(req2)); 113 EXPECT_FALSE(req1.Equals(req2));
122 114
123 SomeInterfacePtr inf2; 115 SomeInterfacePtr inf2;
124 req2 = MakeRequest(&inf2); 116 req2 = MakeRequest(&inf2);
125 117
126 EXPECT_FALSE(req1.Equals(req2)); 118 EXPECT_FALSE(req1.Equals(req2));
127 } 119 }
128 120
129 } // test 121 } // test
130 } // mojo 122 } // mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698