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

Side by Side Diff: net/quic/iovector_test.cc

Issue 266243004: Clang format slam. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/quic/iovector.h" 5 #include "net/quic/iovector.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 using std::string; 12 using std::string;
13 13
14 namespace net { 14 namespace net {
15 namespace test { 15 namespace test {
16 namespace { 16 namespace {
17 17
18 const char* const test_data[] = { 18 const char* const test_data[] = {
19 "test string 1, a medium size one.", 19 "test string 1, a medium size one.", "test string2",
20 "test string2", 20 "test string 3, a looooooooooooong loooooooooooooooong string"};
21 "test string 3, a looooooooooooong loooooooooooooooong string"
22 };
23 21
24 TEST(IOVectorTest, CopyConstructor) { 22 TEST(IOVectorTest, CopyConstructor) {
25 IOVector iov1; 23 IOVector iov1;
26 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); ++i) { 24 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); ++i) {
27 iov1.Append(const_cast<char*>(test_data[i]), strlen(test_data[i])); 25 iov1.Append(const_cast<char*>(test_data[i]), strlen(test_data[i]));
28 } 26 }
29 IOVector iov2 = iov1; 27 IOVector iov2 = iov1;
30 EXPECT_EQ(iov2.Size(), iov1.Size()); 28 EXPECT_EQ(iov2.Size(), iov1.Size());
31 for (size_t i = 0; i < iov2.Size(); ++i) { 29 for (size_t i = 0; i < iov2.Size(); ++i) {
32 EXPECT_TRUE(iov2.iovec()[i].iov_base == iov1.iovec()[i].iov_base); 30 EXPECT_TRUE(iov2.iovec()[i].iov_base == iov1.iovec()[i].iov_base);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 iov2 = iov.iovec(); 77 iov2 = iov.iovec();
80 ASSERT_TRUE(iov2 != NULL); 78 ASSERT_TRUE(iov2 != NULL);
81 for (size_t i = 0; i < iov.Size(); ++i) { 79 for (size_t i = 0; i < iov.Size(); ++i) {
82 ASSERT_TRUE(test_data[i] == iov2[i].iov_base); 80 ASSERT_TRUE(test_data[i] == iov2[i].iov_base);
83 ASSERT_EQ(strlen(test_data[i]), iov2[i].iov_len); 81 ASSERT_EQ(strlen(test_data[i]), iov2[i].iov_len);
84 } 82 }
85 } 83 }
86 84
87 TEST(IOVectorTest, AppendIovec) { 85 TEST(IOVectorTest, AppendIovec) {
88 IOVector iov; 86 IOVector iov;
89 const struct iovec test_iov[] = { 87 const struct iovec test_iov[] = {{const_cast<char*>("foo"), 3},
90 {const_cast<char*>("foo"), 3}, 88 {const_cast<char*>("bar"), 3},
91 {const_cast<char*>("bar"), 3}, 89 {const_cast<char*>("buzzzz"), 6}};
92 {const_cast<char*>("buzzzz"), 6}
93 };
94 iov.AppendIovec(test_iov, ARRAYSIZE_UNSAFE(test_iov)); 90 iov.AppendIovec(test_iov, ARRAYSIZE_UNSAFE(test_iov));
95 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_iov); ++i) { 91 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_iov); ++i) {
96 EXPECT_EQ(test_iov[i].iov_base, iov.iovec()[i].iov_base); 92 EXPECT_EQ(test_iov[i].iov_base, iov.iovec()[i].iov_base);
97 EXPECT_EQ(test_iov[i].iov_len, iov.iovec()[i].iov_len); 93 EXPECT_EQ(test_iov[i].iov_len, iov.iovec()[i].iov_len);
98 } 94 }
99 95
100 // Test AppendIovecAtMostBytes. 96 // Test AppendIovecAtMostBytes.
101 iov.Clear(); 97 iov.Clear();
102 // Stop in the middle of a block. 98 // Stop in the middle of a block.
103 EXPECT_EQ(5u, iov.AppendIovecAtMostBytes(test_iov, ARRAYSIZE_UNSAFE(test_iov), 99 EXPECT_EQ(
104 5)); 100 5u, iov.AppendIovecAtMostBytes(test_iov, ARRAYSIZE_UNSAFE(test_iov), 5));
105 EXPECT_EQ(5u, iov.TotalBufferSize()); 101 EXPECT_EQ(5u, iov.TotalBufferSize());
106 iov.Append(static_cast<char*>(test_iov[1].iov_base) + 2, 1); 102 iov.Append(static_cast<char*>(test_iov[1].iov_base) + 2, 1);
107 // Make sure the boundary case, where max_bytes == size of block also works. 103 // Make sure the boundary case, where max_bytes == size of block also works.
108 EXPECT_EQ(6u, iov.AppendIovecAtMostBytes(&test_iov[2], 1, 6)); 104 EXPECT_EQ(6u, iov.AppendIovecAtMostBytes(&test_iov[2], 1, 6));
109 ASSERT_LE(ARRAYSIZE_UNSAFE(test_iov), static_cast<size_t>(iov.Size())); 105 ASSERT_LE(ARRAYSIZE_UNSAFE(test_iov), static_cast<size_t>(iov.Size()));
110 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_iov); ++i) { 106 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_iov); ++i) {
111 EXPECT_EQ(test_iov[i].iov_base, iov.iovec()[i].iov_base); 107 EXPECT_EQ(test_iov[i].iov_base, iov.iovec()[i].iov_base);
112 EXPECT_EQ(test_iov[i].iov_len, iov.iovec()[i].iov_len); 108 EXPECT_EQ(test_iov[i].iov_len, iov.iovec()[i].iov_len);
113 } 109 }
114 } 110 }
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 ASSERT_EQ(2u, iov2.Size()); 270 ASSERT_EQ(2u, iov2.Size());
275 EXPECT_EQ(&a[0], iov2.iovec()[0].iov_base); 271 EXPECT_EQ(&a[0], iov2.iovec()[0].iov_base);
276 EXPECT_EQ(1u, iov2.iovec()[0].iov_len); 272 EXPECT_EQ(1u, iov2.iovec()[0].iov_len);
277 EXPECT_EQ(&b[0], iov2.iovec()[1].iov_base); 273 EXPECT_EQ(&b[0], iov2.iovec()[1].iov_base);
278 EXPECT_EQ(1u, iov2.iovec()[1].iov_len); 274 EXPECT_EQ(1u, iov2.iovec()[1].iov_len);
279 } 275 }
280 276
281 } // namespace 277 } // namespace
282 } // namespace test 278 } // namespace test
283 } // namespace net 279 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698