OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "net/quic/quic_utils_chromium.h" | |
6 | |
7 #include <map> | |
8 | |
9 #include "testing/gtest/include/gtest/gtest.h" | |
10 | |
11 using std::map; | |
12 | |
13 namespace net { | |
14 namespace test { | |
15 namespace { | |
16 | |
17 TEST(QuicUtilsChromiumTest, FindOrNullTest) { | |
18 map<int, int> m; | |
19 m[0] = 2; | |
20 | |
21 // Check FindOrNull | |
22 int* p1 = FindOrNull(m, 0); | |
23 CHECK_EQ(*p1, 2); | |
24 ++(*p1); | |
25 const map<int, int>& const_m = m; | |
26 const int* p2 = FindOrNull(const_m, 0); | |
27 CHECK_EQ(*p2, 3); | |
28 CHECK(FindOrNull(m, 1) == nullptr); | |
29 } | |
30 | |
31 TEST(QuicUtilsChromiumTest, FindOrDieTest) { | |
32 std::map<int, int> m; | |
33 m[10] = 15; | |
34 EXPECT_EQ(15, FindOrDie(m, 10)); | |
35 // TODO(rtenneti): Use the latest DEATH macros after merging with latest rch's | |
36 // changes. | |
37 // ASSERT_DEATH(FindOrDie(m, 8), "Map key not found: 8"); | |
38 | |
39 // Make sure the non-const reference returning version works. | |
40 FindOrDie(m, 10) = 20; | |
41 EXPECT_EQ(20, FindOrDie(m, 10)); | |
42 | |
43 // Make sure we can lookup values in a const map. | |
44 const map<int, int>& const_m = m; | |
45 EXPECT_EQ(20, FindOrDie(const_m, 10)); | |
46 } | |
47 | |
48 } // namespace | |
49 } // namespace test | |
50 } // namespace net | |
OLD | NEW |