OLD | NEW |
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 "chromeos/network/network_util.h" | 5 #include "chromeos/network/network_util.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 #include "third_party/cros_system_api/dbus/service_constants.h" |
8 | 9 |
| 10 using chromeos::CellularScanResult; |
9 using chromeos::network_util::NetmaskToPrefixLength; | 11 using chromeos::network_util::NetmaskToPrefixLength; |
10 using chromeos::network_util::PrefixLengthToNetmask; | 12 using chromeos::network_util::PrefixLengthToNetmask; |
| 13 using chromeos::network_util::ParseCellularScanResults; |
11 | 14 |
12 typedef testing::Test NetworkUtilTest; | 15 typedef testing::Test NetworkUtilTest; |
13 | 16 |
14 TEST_F(NetworkUtilTest, NetmaskToPrefixLength) { | 17 TEST_F(NetworkUtilTest, NetmaskToPrefixLength) { |
15 // Valid netmasks | 18 // Valid netmasks |
16 EXPECT_EQ(32, NetmaskToPrefixLength("255.255.255.255")); | 19 EXPECT_EQ(32, NetmaskToPrefixLength("255.255.255.255")); |
17 EXPECT_EQ(31, NetmaskToPrefixLength("255.255.255.254")); | 20 EXPECT_EQ(31, NetmaskToPrefixLength("255.255.255.254")); |
18 EXPECT_EQ(30, NetmaskToPrefixLength("255.255.255.252")); | 21 EXPECT_EQ(30, NetmaskToPrefixLength("255.255.255.252")); |
19 EXPECT_EQ(29, NetmaskToPrefixLength("255.255.255.248")); | 22 EXPECT_EQ(29, NetmaskToPrefixLength("255.255.255.248")); |
20 EXPECT_EQ(28, NetmaskToPrefixLength("255.255.255.240")); | 23 EXPECT_EQ(28, NetmaskToPrefixLength("255.255.255.240")); |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 EXPECT_EQ("240.0.0.0", PrefixLengthToNetmask(4)); | 95 EXPECT_EQ("240.0.0.0", PrefixLengthToNetmask(4)); |
93 EXPECT_EQ("224.0.0.0", PrefixLengthToNetmask(3)); | 96 EXPECT_EQ("224.0.0.0", PrefixLengthToNetmask(3)); |
94 EXPECT_EQ("192.0.0.0", PrefixLengthToNetmask(2)); | 97 EXPECT_EQ("192.0.0.0", PrefixLengthToNetmask(2)); |
95 EXPECT_EQ("128.0.0.0", PrefixLengthToNetmask(1)); | 98 EXPECT_EQ("128.0.0.0", PrefixLengthToNetmask(1)); |
96 EXPECT_EQ("0.0.0.0", PrefixLengthToNetmask(0)); | 99 EXPECT_EQ("0.0.0.0", PrefixLengthToNetmask(0)); |
97 // Invalid Prefix Lengths | 100 // Invalid Prefix Lengths |
98 EXPECT_EQ("", PrefixLengthToNetmask(-1)); | 101 EXPECT_EQ("", PrefixLengthToNetmask(-1)); |
99 EXPECT_EQ("", PrefixLengthToNetmask(33)); | 102 EXPECT_EQ("", PrefixLengthToNetmask(33)); |
100 EXPECT_EQ("", PrefixLengthToNetmask(255)); | 103 EXPECT_EQ("", PrefixLengthToNetmask(255)); |
101 } | 104 } |
| 105 |
| 106 TEST_F(NetworkUtilTest, ParseScanResults) { |
| 107 ListValue list; |
| 108 std::vector<CellularScanResult> scan_results; |
| 109 |
| 110 // Empty list value. |
| 111 EXPECT_TRUE(ParseCellularScanResults(list, &scan_results)); |
| 112 |
| 113 // List contains invalid item. |
| 114 list.AppendInteger(0); |
| 115 EXPECT_FALSE(ParseCellularScanResults(list, &scan_results)); |
| 116 |
| 117 // Scan result has no network id. |
| 118 list.Clear(); |
| 119 DictionaryValue* dict_value = new DictionaryValue(); |
| 120 dict_value->SetString(flimflam::kStatusProperty, "available"); |
| 121 list.Append(dict_value); |
| 122 EXPECT_TRUE(ParseCellularScanResults(list, &scan_results)); |
| 123 EXPECT_TRUE(scan_results.empty()); |
| 124 |
| 125 // Mixed parse results. |
| 126 dict_value = new DictionaryValue(); |
| 127 dict_value->SetString(flimflam::kNetworkIdProperty, "000001"); |
| 128 dict_value->SetString(flimflam::kStatusProperty, "unknown"); |
| 129 dict_value->SetString(flimflam::kTechnologyProperty, "GSM"); |
| 130 list.Append(dict_value); |
| 131 |
| 132 dict_value = new DictionaryValue(); |
| 133 dict_value->SetString(flimflam::kNetworkIdProperty, "000002"); |
| 134 dict_value->SetString(flimflam::kStatusProperty, "available"); |
| 135 dict_value->SetString(flimflam::kLongNameProperty, "Long Name"); |
| 136 list.Append(dict_value); |
| 137 |
| 138 EXPECT_TRUE(ParseCellularScanResults(list, &scan_results)); |
| 139 EXPECT_EQ(static_cast<size_t>(2), scan_results.size()); |
| 140 EXPECT_EQ("000001", scan_results[0].network_id); |
| 141 EXPECT_EQ("unknown", scan_results[0].status); |
| 142 EXPECT_EQ("GSM", scan_results[0].technology); |
| 143 EXPECT_TRUE(scan_results[0].long_name.empty()); |
| 144 EXPECT_TRUE(scan_results[0].short_name.empty()); |
| 145 |
| 146 EXPECT_EQ("000002", scan_results[1].network_id); |
| 147 EXPECT_EQ("available", scan_results[1].status); |
| 148 EXPECT_EQ("Long Name", scan_results[1].long_name); |
| 149 EXPECT_TRUE(scan_results[1].short_name.empty()); |
| 150 EXPECT_TRUE(scan_results[1].technology.empty()); |
| 151 } |
OLD | NEW |