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

Side by Side Diff: net/cert/x509_certificate_unittest.cc

Issue 1215933004: New new versions of Starts/EndsWith and SplitString in net (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@starts_with
Patch Set: Created 5 years, 5 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
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 "net/cert/x509_certificate.h" 5 #include "net/cert/x509_certificate.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after
1102 1102
1103 std::string common_name(test_data.common_name); 1103 std::string common_name(test_data.common_name);
1104 ASSERT_EQ(std::string::npos, common_name.find(',')); 1104 ASSERT_EQ(std::string::npos, common_name.find(','));
1105 std::replace(common_name.begin(), common_name.end(), '#', '\0'); 1105 std::replace(common_name.begin(), common_name.end(), '#', '\0');
1106 1106
1107 std::vector<std::string> dns_names, ip_addressses; 1107 std::vector<std::string> dns_names, ip_addressses;
1108 if (test_data.dns_names) { 1108 if (test_data.dns_names) {
1109 // Build up the certificate DNS names list. 1109 // Build up the certificate DNS names list.
1110 std::string dns_name_line(test_data.dns_names); 1110 std::string dns_name_line(test_data.dns_names);
1111 std::replace(dns_name_line.begin(), dns_name_line.end(), '#', '\0'); 1111 std::replace(dns_name_line.begin(), dns_name_line.end(), '#', '\0');
1112 base::SplitString(dns_name_line, ',', &dns_names); 1112 dns_names = base::SplitString(dns_name_line, ",", base::TRIM_WHITESPACE,
1113 base::SPLIT_WANT_ALL);
1113 } 1114 }
1114 1115
1115 if (test_data.ip_addrs) { 1116 if (test_data.ip_addrs) {
1116 // Build up the certificate IP address list. 1117 // Build up the certificate IP address list.
1117 std::string ip_addrs_line(test_data.ip_addrs); 1118 std::string ip_addrs_line(test_data.ip_addrs);
1118 std::vector<std::string> ip_addressses_ascii; 1119 std::vector<std::string> ip_addressses_ascii = base::SplitString(
1119 base::SplitString(ip_addrs_line, ',', &ip_addressses_ascii); 1120 ip_addrs_line, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
1120 for (size_t i = 0; i < ip_addressses_ascii.size(); ++i) { 1121 for (size_t i = 0; i < ip_addressses_ascii.size(); ++i) {
1121 std::string& addr_ascii = ip_addressses_ascii[i]; 1122 std::string& addr_ascii = ip_addressses_ascii[i];
1122 ASSERT_NE(0U, addr_ascii.length()); 1123 ASSERT_NE(0U, addr_ascii.length());
1123 if (addr_ascii[0] == 'x') { // Hex encoded address 1124 if (addr_ascii[0] == 'x') { // Hex encoded address
1124 addr_ascii.erase(0, 1); 1125 addr_ascii.erase(0, 1);
1125 std::vector<uint8_t> bytes; 1126 std::vector<uint8_t> bytes;
1126 EXPECT_TRUE(base::HexStringToBytes(addr_ascii, &bytes)) 1127 EXPECT_TRUE(base::HexStringToBytes(addr_ascii, &bytes))
1127 << "Could not parse hex address " << addr_ascii << " i = " << i; 1128 << "Could not parse hex address " << addr_ascii << " i = " << i;
1128 ip_addressses.push_back(std::string(reinterpret_cast<char*>(&bytes[0]), 1129 ip_addressses.push_back(std::string(reinterpret_cast<char*>(&bytes[0]),
1129 bytes.size())); 1130 bytes.size()));
1130 ASSERT_EQ(16U, ip_addressses.back().size()) << i; 1131 ASSERT_EQ(16U, ip_addressses.back().size()) << i;
1131 } else { // Decimal groups 1132 } else { // Decimal groups
1132 std::vector<std::string> decimals_ascii; 1133 std::vector<std::string> decimals_ascii = base::SplitString(
1133 base::SplitString(addr_ascii, '.', &decimals_ascii); 1134 addr_ascii, ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
1134 EXPECT_EQ(4U, decimals_ascii.size()) << i; 1135 EXPECT_EQ(4U, decimals_ascii.size()) << i;
1135 std::string addr_bytes; 1136 std::string addr_bytes;
1136 for (size_t j = 0; j < decimals_ascii.size(); ++j) { 1137 for (size_t j = 0; j < decimals_ascii.size(); ++j) {
1137 int decimal_value; 1138 int decimal_value;
1138 EXPECT_TRUE(base::StringToInt(decimals_ascii[j], &decimal_value)); 1139 EXPECT_TRUE(base::StringToInt(decimals_ascii[j], &decimal_value));
1139 EXPECT_GE(decimal_value, 0); 1140 EXPECT_GE(decimal_value, 0);
1140 EXPECT_LE(decimal_value, 255); 1141 EXPECT_LE(decimal_value, 255);
1141 addr_bytes.push_back(static_cast<char>(decimal_value)); 1142 addr_bytes.push_back(static_cast<char>(decimal_value));
1142 } 1143 }
1143 ip_addressses.push_back(addr_bytes); 1144 ip_addressses.push_back(addr_bytes);
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1205 &actual_type); 1206 &actual_type);
1206 1207
1207 EXPECT_EQ(data.expected_bits, actual_bits); 1208 EXPECT_EQ(data.expected_bits, actual_bits);
1208 EXPECT_EQ(data.expected_type, actual_type); 1209 EXPECT_EQ(data.expected_type, actual_type);
1209 } 1210 }
1210 1211
1211 INSTANTIATE_TEST_CASE_P(, X509CertificatePublicKeyInfoTest, 1212 INSTANTIATE_TEST_CASE_P(, X509CertificatePublicKeyInfoTest,
1212 testing::ValuesIn(kPublicKeyInfoTestData)); 1213 testing::ValuesIn(kPublicKeyInfoTestData));
1213 1214
1214 } // namespace net 1215 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698