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

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

Issue 647883002: git cl format the final third of the net/base directory (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/base/dns_util.h" 5 #include "net/base/dns_util.h"
6 #include "testing/gtest/include/gtest/gtest.h" 6 #include "testing/gtest/include/gtest/gtest.h"
7 7
8 namespace net { 8 namespace net {
9 9
10 class DNSUtilTest : public testing::Test { 10 class DNSUtilTest : public testing::Test {};
11 };
12 11
13 // IncludeNUL converts a char* to a std::string and includes the terminating 12 // IncludeNUL converts a char* to a std::string and includes the terminating
14 // NUL in the result. 13 // NUL in the result.
15 static std::string IncludeNUL(const char* in) { 14 static std::string IncludeNUL(const char* in) {
16 return std::string(in, strlen(in) + 1); 15 return std::string(in, strlen(in) + 1);
17 } 16 }
18 17
19 TEST_F(DNSUtilTest, DNSDomainFromDot) { 18 TEST_F(DNSUtilTest, DNSDomainFromDot) {
20 std::string out; 19 std::string out;
21 20
22 EXPECT_FALSE(DNSDomainFromDot("", &out)); 21 EXPECT_FALSE(DNSDomainFromDot("", &out));
23 EXPECT_FALSE(DNSDomainFromDot(".", &out)); 22 EXPECT_FALSE(DNSDomainFromDot(".", &out));
24 EXPECT_FALSE(DNSDomainFromDot("..", &out)); 23 EXPECT_FALSE(DNSDomainFromDot("..", &out));
25 24
26 EXPECT_TRUE(DNSDomainFromDot("com", &out)); 25 EXPECT_TRUE(DNSDomainFromDot("com", &out));
27 EXPECT_EQ(out, IncludeNUL("\003com")); 26 EXPECT_EQ(out, IncludeNUL("\003com"));
28 EXPECT_TRUE(DNSDomainFromDot("google.com", &out)); 27 EXPECT_TRUE(DNSDomainFromDot("google.com", &out));
29 EXPECT_EQ(out, IncludeNUL("\x006google\003com")); 28 EXPECT_EQ(out, IncludeNUL("\x006google\003com"));
30 EXPECT_TRUE(DNSDomainFromDot("www.google.com", &out)); 29 EXPECT_TRUE(DNSDomainFromDot("www.google.com", &out));
31 EXPECT_EQ(out, IncludeNUL("\003www\006google\003com")); 30 EXPECT_EQ(out, IncludeNUL("\003www\006google\003com"));
32 31
33 // Label is 63 chars: still valid 32 // Label is 63 chars: still valid
34 EXPECT_TRUE(DNSDomainFromDot("z23456789a123456789a123456789a123456789a12345678 9a123456789a123", &out)); 33 EXPECT_TRUE(DNSDomainFromDot(
35 EXPECT_EQ(out, IncludeNUL("\077z23456789a123456789a123456789a123456789a1234567 89a123456789a123")); 34 "z23456789a123456789a123456789a123456789a123456789a123456789a123", &out));
35 EXPECT_EQ(out,
36 IncludeNUL(
37 "\077z23456789a123456789a123456789a123456789a123456789a12345678"
38 "9a123"));
36 39
37 // Label is too long: invalid 40 // Label is too long: invalid
38 EXPECT_FALSE(DNSDomainFromDot("123456789a123456789a123456789a123456789a1234567 89a123456789a1234", &out)); 41 EXPECT_FALSE(DNSDomainFromDot(
42 "123456789a123456789a123456789a123456789a123456789a123456789a1234",
43 &out));
39 44
40 // 253 characters in the name: still valid 45 // 253 characters in the name: still valid
41 EXPECT_TRUE(DNSDomainFromDot("abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefgh i.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefgh i.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefgh i.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abc", &out)); 46 EXPECT_TRUE(DNSDomainFromDot(
42 EXPECT_EQ(out, IncludeNUL("\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefgh i\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\ 011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\01 1abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011a bcdefghi\011abcdefghi\011abcdefghi\003abc")); 47 "abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi."
48 "abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi."
49 "abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi.abcdefghi."
50 "abcdefghi.abcdefghi.abcdefghi.abcdefghi.abc",
51 &out));
52 EXPECT_EQ(out,
53 IncludeNUL(
54 "\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011abcdef"
55 "ghi\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011abc"
56 "defghi\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011"
57 "abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi"
58 "\011abcdefghi\011abcdefghi\011abcdefghi\011abcdefghi\011abcdef"
59 "ghi\011abcdefghi\003abc"));
43 60
44 // 254 characters in the name: invalid 61 // 254 characters in the name: invalid
45 EXPECT_FALSE(DNSDomainFromDot("123456789.123456789.123456789.123456789.1234567 89.123456789.123456789.123456789.123456789.123456789.123456789.123456789.1234567 89.123456789.123456789.123456789.123456789.123456789.123456789.123456789.1234567 89.123456789.123456789.123456789.123456789.1234", &out)); 62 EXPECT_FALSE(DNSDomainFromDot(
63 "123456789.123456789.123456789.123456789.123456789.123456789.123456789."
64 "123456789.123456789.123456789.123456789.123456789.123456789.123456789."
65 "123456789.123456789.123456789.123456789.123456789.123456789.123456789."
66 "123456789.123456789.123456789.123456789.1234",
67 &out));
46 68
47 // Zero length labels should be dropped. 69 // Zero length labels should be dropped.
48 EXPECT_TRUE(DNSDomainFromDot("www.google.com.", &out)); 70 EXPECT_TRUE(DNSDomainFromDot("www.google.com.", &out));
49 EXPECT_EQ(out, IncludeNUL("\003www\006google\003com")); 71 EXPECT_EQ(out, IncludeNUL("\003www\006google\003com"));
50 72
51 EXPECT_TRUE(DNSDomainFromDot(".google.com", &out)); 73 EXPECT_TRUE(DNSDomainFromDot(".google.com", &out));
52 EXPECT_EQ(out, IncludeNUL("\006google\003com")); 74 EXPECT_EQ(out, IncludeNUL("\006google\003com"));
53 75
54 EXPECT_TRUE(DNSDomainFromDot("www..google.com", &out)); 76 EXPECT_TRUE(DNSDomainFromDot("www..google.com", &out));
55 EXPECT_EQ(out, IncludeNUL("\003www\006google\003com")); 77 EXPECT_EQ(out, IncludeNUL("\003www\006google\003com"));
56 } 78 }
57 79
58 TEST_F(DNSUtilTest, DNSDomainToString) { 80 TEST_F(DNSUtilTest, DNSDomainToString) {
59 EXPECT_EQ("", DNSDomainToString(IncludeNUL(""))); 81 EXPECT_EQ("", DNSDomainToString(IncludeNUL("")));
60 EXPECT_EQ("foo", DNSDomainToString(IncludeNUL("\003foo"))); 82 EXPECT_EQ("foo", DNSDomainToString(IncludeNUL("\003foo")));
61 EXPECT_EQ("foo.bar", DNSDomainToString(IncludeNUL("\003foo\003bar"))); 83 EXPECT_EQ("foo.bar", DNSDomainToString(IncludeNUL("\003foo\003bar")));
62 EXPECT_EQ("foo.bar.uk", 84 EXPECT_EQ("foo.bar.uk",
63 DNSDomainToString(IncludeNUL("\003foo\003bar\002uk"))); 85 DNSDomainToString(IncludeNUL("\003foo\003bar\002uk")));
64 86
65 // It should cope with a lack of root label. 87 // It should cope with a lack of root label.
66 EXPECT_EQ("foo.bar", DNSDomainToString("\003foo\003bar")); 88 EXPECT_EQ("foo.bar", DNSDomainToString("\003foo\003bar"));
67 89
68 // Invalid inputs should return an empty string. 90 // Invalid inputs should return an empty string.
69 EXPECT_EQ("", DNSDomainToString(IncludeNUL("\x80"))); 91 EXPECT_EQ("", DNSDomainToString(IncludeNUL("\x80")));
70 EXPECT_EQ("", DNSDomainToString("\x06")); 92 EXPECT_EQ("", DNSDomainToString("\x06"));
71 } 93 }
72 94
73 } // namespace net 95 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698