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

Side by Side Diff: net/base/network_change_notifier_unittest.cc

Issue 298023005: Infer network connection type from network interface type. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix win build (no std::vector.reverse) Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « net/base/network_change_notifier.cc ('k') | net/base/network_change_notifier_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 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
mmenke 2014/06/20 15:18:57 nit: #include "network_change_notifier.h", one li
pauljensen 2014/06/20 19:22:31 Done.
5 #include "net/base/net_util.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7
8 namespace net {
9
10 class NetworkChangeNotifierTest : public testing::Test {
11 public:
12 NetworkChangeNotifierTest() {}
13 virtual ~NetworkChangeNotifierTest() {}
14
15 private:
16 DISALLOW_COPY_AND_ASSIGN(NetworkChangeNotifierTest);
17 };
18
19 TEST_F(NetworkChangeNotifierTest, InterfacesToConnectionType) {
mmenke 2014/06/20 15:18:57 nit: Can we get rid of the test fixture, and just
pauljensen 2014/06/20 19:22:32 Done. I forgot you could friend functions.
20 NetworkInterfaceList list;
21
22 // Test empty list.
23 EXPECT_EQ(NetworkChangeNotifier::ConnectionTypeFromInterfaceList(list),
24 NetworkChangeNotifier::CONNECTION_UNKNOWN);
25
26 NetworkInterface interface;
27 for (int i = NetworkChangeNotifier::CONNECTION_UNKNOWN;
28 i < NetworkChangeNotifier::CONNECTION_LAST;
29 i++) {
30 // Check individual types.
31 list.clear();
32 interface.type = static_cast<NetworkChangeNotifier::ConnectionType>(i);
33 list.push_back(interface);
34 EXPECT_EQ(NetworkChangeNotifier::ConnectionTypeFromInterfaceList(list), i);
35 // Check two types.
36 for (int j = NetworkChangeNotifier::CONNECTION_UNKNOWN;
37 j < NetworkChangeNotifier::CONNECTION_LAST;
38 j++) {
39 list.clear();
40 interface.type = static_cast<NetworkChangeNotifier::ConnectionType>(i);
41 list.push_back(interface);
42 interface.type = static_cast<NetworkChangeNotifier::ConnectionType>(j);
43 list.push_back(interface);
44 EXPECT_EQ(NetworkChangeNotifier::ConnectionTypeFromInterfaceList(list),
45 i == j ? i : NetworkChangeNotifier::CONNECTION_UNKNOWN);
46 }
47 }
48
49 #if defined(OS_WIN)
50 // Ignore fake teredo interface.
mmenke 2014/06/20 15:18:57 nit: I believe Teredo should be capitalized.
pauljensen 2014/06/20 19:22:32 Done.
51 list.clear();
52 interface.type = NetworkChangeNotifier::CONNECTION_4G;
53 interface.friendly_name = "Teredo Tunneling Pseudo-Interface";
54 list.push_back(interface);
55 // Verify we ignore teredo element type.
mmenke 2014/06/20 15:18:57 nit: Don't use "we" in comments.
pauljensen 2014/06/20 19:22:32 Done.
56 EXPECT_EQ(NetworkChangeNotifier::ConnectionTypeFromInterfaceList(list),
57 NetworkChangeNotifier::CONNECTION_UNKNOWN);
58 // Verify we take type of non-teredo element.
mmenke 2014/06/20 15:18:57 nit: Don't use "we" in comments.
pauljensen 2014/06/20 19:22:32 Done.
59 interface.type = NetworkChangeNotifier::CONNECTION_3G;
60 interface.friendly_name = "";
61 list.push_back(interface);
62 EXPECT_EQ(NetworkChangeNotifier::ConnectionTypeFromInterfaceList(list),
63 NetworkChangeNotifier::CONNECTION_3G);
64 // Reverse elements.
65 list[2] = list[0];
66 list.erase(list.begin());
67 EXPECT_EQ(NetworkChangeNotifier::ConnectionTypeFromInterfaceList(list),
68 NetworkChangeNotifier::CONNECTION_3G);
69 #endif
70 }
71
72 } // namespace net
OLDNEW
« no previous file with comments | « net/base/network_change_notifier.cc ('k') | net/base/network_change_notifier_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698