OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/containers/hash_tables.h" | 5 #include "base/containers/hash_tables.h" |
6 | 6 |
| 7 #include <string> |
| 8 |
7 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
9 | 11 |
10 namespace { | 12 namespace { |
11 | 13 |
12 class HashPairTest : public testing::Test { | 14 class HashPairTest : public testing::Test { |
13 }; | 15 }; |
14 | 16 |
15 #define INSERT_PAIR_TEST(Type, value1, value2) \ | 17 #define INSERT_PAIR_TEST(Type, value1, value2) \ |
16 { \ | 18 { \ |
(...skipping 26 matching lines...) Expand all Loading... |
43 typedef std::pair<int64, int16> Int64Int16Pair; | 45 typedef std::pair<int64, int16> Int64Int16Pair; |
44 typedef std::pair<int64, int32> Int64Int32Pair; | 46 typedef std::pair<int64, int32> Int64Int32Pair; |
45 typedef std::pair<int64, int64> Int64Int64Pair; | 47 typedef std::pair<int64, int64> Int64Int64Pair; |
46 | 48 |
47 INSERT_PAIR_TEST(Int64Int16Pair, 4, 6); | 49 INSERT_PAIR_TEST(Int64Int16Pair, 4, 6); |
48 INSERT_PAIR_TEST(Int64Int32Pair, 9, (1 << 29) + 378128932); | 50 INSERT_PAIR_TEST(Int64Int32Pair, 9, (1 << 29) + 378128932); |
49 INSERT_PAIR_TEST(Int64Int64Pair, 10, | 51 INSERT_PAIR_TEST(Int64Int64Pair, 10, |
50 (GG_INT64_C(1) << 60) + GG_INT64_C(78931732321)); | 52 (GG_INT64_C(1) << 60) + GG_INT64_C(78931732321)); |
51 } | 53 } |
52 | 54 |
| 55 // Verify that base::hash_set<const char*> compares by pointer value, not as C |
| 56 // strings. |
| 57 TEST(HashTableTest, CharPointers) { |
| 58 std::string str1("hello"); |
| 59 std::string str2("hello"); |
| 60 base::hash_set<const char*> set; |
| 61 |
| 62 set.insert(str1.c_str()); |
| 63 EXPECT_EQ(1u, set.count(str1.c_str())); |
| 64 EXPECT_EQ(0u, set.count(str2.c_str())); |
| 65 } |
| 66 |
53 } // namespace | 67 } // namespace |
OLD | NEW |