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

Side by Side Diff: sync/internal_api/public/base/ordinal_unittest.cc

Issue 809073005: replace COMPILE_ASSERT with static_assert in sync/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix nit Created 5 years, 11 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 | « sync/internal_api/public/base/ordinal.h ('k') | sync/protocol/proto_enum_conversions.cc » ('j') | 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/basictypes.h" 5 #include "base/basictypes.h"
6 #include "sync/internal_api/public/base/ordinal.h" 6 #include "sync/internal_api/public/base/ordinal.h"
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <cctype> 10 #include <cctype>
(...skipping 20 matching lines...) Expand all
31 struct LargeOrdinalTraits { 31 struct LargeOrdinalTraits {
32 static const uint8 kZeroDigit = 0; 32 static const uint8 kZeroDigit = 0;
33 static const uint8 kMaxDigit = kuint8max; 33 static const uint8 kMaxDigit = kuint8max;
34 static const size_t kMinLength = 1; 34 static const size_t kMinLength = 1;
35 }; 35 };
36 36
37 typedef Ordinal<TestOrdinalTraits> TestOrdinal; 37 typedef Ordinal<TestOrdinalTraits> TestOrdinal;
38 typedef Ordinal<LongOrdinalTraits> LongOrdinal; 38 typedef Ordinal<LongOrdinalTraits> LongOrdinal;
39 typedef Ordinal<LargeOrdinalTraits> LargeOrdinal; 39 typedef Ordinal<LargeOrdinalTraits> LargeOrdinal;
40 40
41 COMPILE_ASSERT(TestOrdinal::kZeroDigit == '0', 41 static_assert(TestOrdinal::kZeroDigit == '0',
42 TestOrdinalHasCorrectZeroDigit); 42 "incorrect TestOrdinal zero digit");
43 COMPILE_ASSERT(TestOrdinal::kOneDigit == '1', 43 static_assert(TestOrdinal::kOneDigit == '1',
44 TestOrdinalHasCorrectOneDigit); 44 "incorrect TestOrdinal one digit");
45 COMPILE_ASSERT(TestOrdinal::kMidDigit == '2', 45 static_assert(TestOrdinal::kMidDigit == '2',
46 TestOrdinalHasCorrectMidDigit); 46 "incorrect TestOrdinal min digit");
47 COMPILE_ASSERT(TestOrdinal::kMaxDigit == '3', 47 static_assert(TestOrdinal::kMaxDigit == '3',
48 TestOrdinalHasCorrectMaxDigit); 48 "incorrect TestOrdinal max digit");
49 COMPILE_ASSERT(TestOrdinal::kMidDigitValue == 2, 49 static_assert(TestOrdinal::kMidDigitValue == 2,
50 TestOrdinalHasCorrectMidDigitValue); 50 "incorrect TestOrdinal mid digit value");
51 COMPILE_ASSERT(TestOrdinal::kMaxDigitValue == 3, 51 static_assert(TestOrdinal::kMaxDigitValue == 3,
52 TestOrdinalHasCorrectMaxDigitValue); 52 "incorrect TestOrdinal max digit value");
53 COMPILE_ASSERT(TestOrdinal::kRadix == 4, 53 static_assert(TestOrdinal::kRadix == 4,
54 TestOrdinalHasCorrectRadix); 54 "incorrect TestOrdinal radix");
55 55
56 COMPILE_ASSERT(LongOrdinal::kZeroDigit == '0', 56 static_assert(LongOrdinal::kZeroDigit == '0',
57 LongOrdinalkZeroDigit_incorrect); 57 "incorrect LongOrdinal zero digit");
58 COMPILE_ASSERT(LongOrdinal::kOneDigit == '1', 58 static_assert(LongOrdinal::kOneDigit == '1',
59 LongOrdinalkOneDigit_incorrect); 59 "incorrect LongOrdinal one digit");
60 COMPILE_ASSERT(LongOrdinal::kMidDigit == '5', 60 static_assert(LongOrdinal::kMidDigit == '5',
61 LongOrdinalkMidDigit_incorrect); 61 "incorrect LongOrdinal mid digit");
62 COMPILE_ASSERT(LongOrdinal::kMaxDigit == '9', 62 static_assert(LongOrdinal::kMaxDigit == '9',
63 LongOrdinalkMaxDigit_incorrect); 63 "incorrect LongOrdinal max digit");
64 COMPILE_ASSERT(LongOrdinal::kMidDigitValue == 5, 64 static_assert(LongOrdinal::kMidDigitValue == 5,
65 LongOrdinalkMidDigitValue_incorrect); 65 "incorrect LongOrdinal mid digit value");
66 COMPILE_ASSERT(LongOrdinal::kMaxDigitValue == 9, 66 static_assert(LongOrdinal::kMaxDigitValue == 9,
67 LongOrdinalkMaxDigitValue_incorrect); 67 "incorrect LongOrdinal max digit value");
68 COMPILE_ASSERT(LongOrdinal::kRadix == 10, 68 static_assert(LongOrdinal::kRadix == 10,
69 LongOrdinalkRadix_incorrect); 69 "incorrect LongOrdinal radix");
70 70
71 COMPILE_ASSERT(static_cast<char>(LargeOrdinal::kZeroDigit) == '\x00', 71 static_assert(static_cast<char>(LargeOrdinal::kZeroDigit) == '\x00',
72 LargeOrdinalkZeroDigit_incorrect); 72 "incorrect LargeOrdinal zero digit");
73 COMPILE_ASSERT(static_cast<char>(LargeOrdinal::kOneDigit) == '\x01', 73 static_assert(static_cast<char>(LargeOrdinal::kOneDigit) == '\x01',
74 LargeOrdinalkOneDigit_incorrect); 74 "incorrect LargeOrdinal one digit");
75 COMPILE_ASSERT(static_cast<char>(LargeOrdinal::kMidDigit) == '\x80', 75 static_assert(static_cast<char>(LargeOrdinal::kMidDigit) == '\x80',
76 LargeOrdinalkMidDigit_incorrect); 76 "incorrect LargeOrdinal mid digit");
77 COMPILE_ASSERT(static_cast<char>(LargeOrdinal::kMaxDigit) == '\xff', 77 static_assert(static_cast<char>(LargeOrdinal::kMaxDigit) == '\xff',
78 LargeOrdinalkMaxDigit_incorrect); 78 "incorrect LargeOrdinal max digit");
79 COMPILE_ASSERT(LargeOrdinal::kMidDigitValue == 128, 79 static_assert(LargeOrdinal::kMidDigitValue == 128,
80 LargeOrdinalkMidDigitValue_incorrect); 80 "incorrect LargeOrdinal mid digit value");
81 COMPILE_ASSERT(LargeOrdinal::kMaxDigitValue == 255, 81 static_assert(LargeOrdinal::kMaxDigitValue == 255,
82 LargeOrdinalkMaxDigitValue_incorrect); 82 "incorrect LargeOrdinal max digit value");
83 COMPILE_ASSERT(LargeOrdinal::kRadix == 256, 83 static_assert(LargeOrdinal::kRadix == 256,
84 LargeOrdinalkRadix_incorrect); 84 "incorrect LargeOrdinal radix");
85 85
86 // Create Ordinals that satisfy all but one criterion for validity. 86 // Create Ordinals that satisfy all but one criterion for validity.
87 // IsValid() should return false for all of them. 87 // IsValid() should return false for all of them.
88 TEST(Ordinal, Invalid) { 88 TEST(Ordinal, Invalid) {
89 // Length criterion. 89 // Length criterion.
90 EXPECT_FALSE(TestOrdinal(std::string()).IsValid()); 90 EXPECT_FALSE(TestOrdinal(std::string()).IsValid());
91 EXPECT_FALSE(LongOrdinal("0001").IsValid()); 91 EXPECT_FALSE(LongOrdinal("0001").IsValid());
92 92
93 const char kBeforeZero[] = { '0' - 1, '\0' }; 93 const char kBeforeZero[] = { '0' - 1, '\0' };
94 const char kAfterNine[] = { '9' + 1, '\0' }; 94 const char kAfterNine[] = { '9' + 1, '\0' };
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 std::vector<LongOrdinal> ordinals = sorted_ordinals; 367 std::vector<LongOrdinal> ordinals = sorted_ordinals;
368 std::random_shuffle(ordinals.begin(), ordinals.end()); 368 std::random_shuffle(ordinals.begin(), ordinals.end());
369 std::sort(ordinals.begin(), ordinals.end(), LongOrdinal::LessThanFn()); 369 std::sort(ordinals.begin(), ordinals.end(), LongOrdinal::LessThanFn());
370 EXPECT_TRUE(std::equal(ordinals.begin(), ordinals.end(), 370 EXPECT_TRUE(std::equal(ordinals.begin(), ordinals.end(),
371 sorted_ordinals.begin(), LongOrdinal::EqualsFn())); 371 sorted_ordinals.begin(), LongOrdinal::EqualsFn()));
372 } 372 }
373 373
374 } // namespace 374 } // namespace
375 375
376 } // namespace syncer 376 } // namespace syncer
OLDNEW
« no previous file with comments | « sync/internal_api/public/base/ordinal.h ('k') | sync/protocol/proto_enum_conversions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698