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

Side by Side Diff: base/version_unittest.cc

Issue 2260933002: Consistently use namespaced base::Version in base/ code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "base/version.h" 5 #include "base/version.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 13
14 namespace { 14 namespace {
15 15
16 TEST(VersionTest, DefaultConstructor) { 16 TEST(VersionTest, DefaultConstructor) {
17 Version v; 17 base::Version v;
18 EXPECT_FALSE(v.IsValid()); 18 EXPECT_FALSE(v.IsValid());
19 } 19 }
20 20
21 TEST(VersionTest, ValueSemantics) { 21 TEST(VersionTest, ValueSemantics) {
22 Version v1("1.2.3.4"); 22 base::Version v1("1.2.3.4");
23 EXPECT_TRUE(v1.IsValid()); 23 EXPECT_TRUE(v1.IsValid());
24 Version v3; 24 base::Version v3;
25 EXPECT_FALSE(v3.IsValid()); 25 EXPECT_FALSE(v3.IsValid());
26 { 26 {
27 Version v2(v1); 27 base::Version v2(v1);
28 v3 = v2; 28 v3 = v2;
29 EXPECT_TRUE(v2.IsValid()); 29 EXPECT_TRUE(v2.IsValid());
30 EXPECT_EQ(v1, v2); 30 EXPECT_EQ(v1, v2);
31 } 31 }
32 EXPECT_EQ(v3, v1); 32 EXPECT_EQ(v3, v1);
33 } 33 }
34 34
35 TEST(VersionTest, MoveSemantics) { 35 TEST(VersionTest, MoveSemantics) {
36 const std::vector<uint32_t> components = {1, 2, 3, 4}; 36 const std::vector<uint32_t> components = {1, 2, 3, 4};
37 Version v1(std::move(components)); 37 base::Version v1(std::move(components));
38 EXPECT_TRUE(v1.IsValid()); 38 EXPECT_TRUE(v1.IsValid());
39 Version v2("1.2.3.4"); 39 base::Version v2("1.2.3.4");
40 EXPECT_EQ(v1, v2); 40 EXPECT_EQ(v1, v2);
41 } 41 }
42 42
43 TEST(VersionTest, GetVersionFromString) { 43 TEST(VersionTest, GetVersionFromString) {
44 static const struct version_string { 44 static const struct version_string {
45 const char* input; 45 const char* input;
46 size_t parts; 46 size_t parts;
47 uint32_t firstpart; 47 uint32_t firstpart;
48 bool success; 48 bool success;
49 } cases[] = { 49 } cases[] = {
(...skipping 19 matching lines...) Expand all
69 {"1.0a", 0, 0, false}, 69 {"1.0a", 0, 0, false},
70 {"1.2.3.4.5.6.7.8.9.0", 10, 1, true}, 70 {"1.2.3.4.5.6.7.8.9.0", 10, 1, true},
71 {"02.1", 0, 0, false}, 71 {"02.1", 0, 0, false},
72 {"0.01", 2, 0, true}, 72 {"0.01", 2, 0, true},
73 {"f.1", 0, 0, false}, 73 {"f.1", 0, 0, false},
74 {"15.007.20011", 3, 15, true}, 74 {"15.007.20011", 3, 15, true},
75 {"15.5.28.130162", 4, 15, true}, 75 {"15.5.28.130162", 4, 15, true},
76 }; 76 };
77 77
78 for (size_t i = 0; i < arraysize(cases); ++i) { 78 for (size_t i = 0; i < arraysize(cases); ++i) {
79 Version version(cases[i].input); 79 base::Version version(cases[i].input);
80 EXPECT_EQ(cases[i].success, version.IsValid()); 80 EXPECT_EQ(cases[i].success, version.IsValid());
81 if (cases[i].success) { 81 if (cases[i].success) {
82 EXPECT_EQ(cases[i].parts, version.components().size()); 82 EXPECT_EQ(cases[i].parts, version.components().size());
83 EXPECT_EQ(cases[i].firstpart, version.components()[0]); 83 EXPECT_EQ(cases[i].firstpart, version.components()[0]);
84 } 84 }
85 } 85 }
86 } 86 }
87 87
88 TEST(VersionTest, Compare) { 88 TEST(VersionTest, Compare) {
89 static const struct version_compare { 89 static const struct version_compare {
90 const char* lhs; 90 const char* lhs;
91 const char* rhs; 91 const char* rhs;
92 int expected; 92 int expected;
93 } cases[] = { 93 } cases[] = {
94 {"1.0", "1.0", 0}, 94 {"1.0", "1.0", 0},
95 {"1.0", "0.0", 1}, 95 {"1.0", "0.0", 1},
96 {"1.0", "2.0", -1}, 96 {"1.0", "2.0", -1},
97 {"1.0", "1.1", -1}, 97 {"1.0", "1.1", -1},
98 {"1.1", "1.0", 1}, 98 {"1.1", "1.0", 1},
99 {"1.0", "1.0.1", -1}, 99 {"1.0", "1.0.1", -1},
100 {"1.1", "1.0.1", 1}, 100 {"1.1", "1.0.1", 1},
101 {"1.1", "1.0.1", 1}, 101 {"1.1", "1.0.1", 1},
102 {"1.0.0", "1.0", 0}, 102 {"1.0.0", "1.0", 0},
103 {"1.0.3", "1.0.20", -1}, 103 {"1.0.3", "1.0.20", -1},
104 {"11.0.10", "15.007.20011", -1}, 104 {"11.0.10", "15.007.20011", -1},
105 {"11.0.10", "15.5.28.130162", -1}, 105 {"11.0.10", "15.5.28.130162", -1},
106 }; 106 };
107 for (size_t i = 0; i < arraysize(cases); ++i) { 107 for (size_t i = 0; i < arraysize(cases); ++i) {
108 Version lhs(cases[i].lhs); 108 base::Version lhs(cases[i].lhs);
109 Version rhs(cases[i].rhs); 109 base::Version rhs(cases[i].rhs);
110 EXPECT_EQ(lhs.CompareTo(rhs), cases[i].expected) << 110 EXPECT_EQ(lhs.CompareTo(rhs), cases[i].expected) <<
111 cases[i].lhs << " ? " << cases[i].rhs; 111 cases[i].lhs << " ? " << cases[i].rhs;
112 112
113 // Test comparison operators 113 // Test comparison operators
114 switch (cases[i].expected) { 114 switch (cases[i].expected) {
115 case -1: 115 case -1:
116 EXPECT_LT(lhs, rhs); 116 EXPECT_LT(lhs, rhs);
117 EXPECT_LE(lhs, rhs); 117 EXPECT_LE(lhs, rhs);
118 EXPECT_NE(lhs, rhs); 118 EXPECT_NE(lhs, rhs);
119 EXPECT_FALSE(lhs == rhs); 119 EXPECT_FALSE(lhs == rhs);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 {"1.0", "3.0.*", -1}, 154 {"1.0", "3.0.*", -1},
155 {"1.4", "1.3.0.*", 1}, 155 {"1.4", "1.3.0.*", 1},
156 {"1.3.9", "1.3.*", 0}, 156 {"1.3.9", "1.3.*", 0},
157 {"1.4.1", "1.3.*", 1}, 157 {"1.4.1", "1.3.*", 1},
158 {"1.3", "1.4.5.*", -1}, 158 {"1.3", "1.4.5.*", -1},
159 {"1.5", "1.4.5.*", 1}, 159 {"1.5", "1.4.5.*", 1},
160 {"1.3.9", "1.3.*", 0}, 160 {"1.3.9", "1.3.*", 0},
161 {"1.2.0.0.0.0", "1.2.*", 0}, 161 {"1.2.0.0.0.0", "1.2.*", 0},
162 }; 162 };
163 for (size_t i = 0; i < arraysize(cases); ++i) { 163 for (size_t i = 0; i < arraysize(cases); ++i) {
164 const Version version(cases[i].lhs); 164 const base::Version version(cases[i].lhs);
165 const int result = version.CompareToWildcardString(cases[i].rhs); 165 const int result = version.CompareToWildcardString(cases[i].rhs);
166 EXPECT_EQ(result, cases[i].expected) << cases[i].lhs << "?" << cases[i].rhs; 166 EXPECT_EQ(result, cases[i].expected) << cases[i].lhs << "?" << cases[i].rhs;
167 } 167 }
168 } 168 }
169 169
170 TEST(VersionTest, IsValidWildcardString) { 170 TEST(VersionTest, IsValidWildcardString) {
171 static const struct version_compare { 171 static const struct version_compare {
172 const char* version; 172 const char* version;
173 bool expected; 173 bool expected;
174 } cases[] = { 174 } cases[] = {
175 {"1.0", true}, 175 {"1.0", true},
176 {"", false}, 176 {"", false},
177 {"1.2.3.4.5.6", true}, 177 {"1.2.3.4.5.6", true},
178 {"1.2.3.*", true}, 178 {"1.2.3.*", true},
179 {"1.2.3.5*", false}, 179 {"1.2.3.5*", false},
180 {"1.2.3.56*", false}, 180 {"1.2.3.56*", false},
181 {"1.*.3", false}, 181 {"1.*.3", false},
182 {"20.*", true}, 182 {"20.*", true},
183 {"+2.*", false}, 183 {"+2.*", false},
184 {"*", false}, 184 {"*", false},
185 {"*.2", false}, 185 {"*.2", false},
186 }; 186 };
187 for (size_t i = 0; i < arraysize(cases); ++i) { 187 for (size_t i = 0; i < arraysize(cases); ++i) {
188 EXPECT_EQ(Version::IsValidWildcardString(cases[i].version), 188 EXPECT_EQ(base::Version::IsValidWildcardString(cases[i].version),
189 cases[i].expected) << cases[i].version << "?" << cases[i].expected; 189 cases[i].expected) << cases[i].version << "?" << cases[i].expected;
190 } 190 }
191 } 191 }
192 192
193 } // namespace 193 } // namespace
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698