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

Side by Side Diff: net/spdy/spdy_prefixed_buffer_reader_test.cc

Issue 835633003: Enable libc++ on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Really fix AOSP Created 5 years, 10 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/spdy/spdy_prefixed_buffer_reader.h" 5 #include "net/spdy/spdy_prefixed_buffer_reader.h"
6 6
7 #include "testing/gmock/include/gmock/gmock.h"
8 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
9 8
10 namespace net { 9 namespace net {
11 10
12 namespace test { 11 namespace test {
13 12
14 using base::StringPiece; 13 using base::StringPiece;
15 using testing::ElementsAreArray;
16 14
17 class SpdyPrefixedBufferReaderTest : public ::testing::Test { 15 class SpdyPrefixedBufferReaderTest : public ::testing::Test {
18 protected: 16 protected:
19 SpdyPrefixedBufferReader Build(std::string prefix, std::string suffix) { 17 SpdyPrefixedBufferReader Build(std::string prefix, std::string suffix) {
20 prefix_ = prefix; 18 prefix_ = prefix;
21 suffix_ = suffix; 19 suffix_ = suffix;
22 return SpdyPrefixedBufferReader(prefix_.data(), prefix_.length(), 20 return SpdyPrefixedBufferReader(prefix_.data(), prefix_.length(),
23 suffix_.data(), suffix_.length()); 21 suffix_.data(), suffix_.length());
24 } 22 }
25 std::string prefix_, suffix_; 23 std::string prefix_, suffix_;
26 }; 24 };
27 25
28 TEST_F(SpdyPrefixedBufferReaderTest, ReadRawFromPrefix) { 26 TEST_F(SpdyPrefixedBufferReaderTest, ReadRawFromPrefix) {
29 SpdyPrefixedBufferReader reader = Build("foobar", ""); 27 SpdyPrefixedBufferReader reader = Build("foobar", "");
30 EXPECT_EQ(6u, reader.Available()); 28 EXPECT_EQ(6u, reader.Available());
31 29
32 char buffer[] = "123456"; 30 char buffer[] = "123456";
33 EXPECT_FALSE(reader.ReadN(10, buffer)); // Not enough buffer. 31 EXPECT_FALSE(reader.ReadN(10, buffer)); // Not enough buffer.
34 EXPECT_TRUE(reader.ReadN(6, buffer)); 32 EXPECT_TRUE(reader.ReadN(6, buffer));
35 EXPECT_THAT(buffer, ElementsAreArray("foobar")); 33 EXPECT_EQ(StringPiece(buffer), StringPiece("foobar"));
Nico 2015/01/29 22:51:33 same question for this file
36 EXPECT_EQ(0u, reader.Available()); 34 EXPECT_EQ(0u, reader.Available());
37 } 35 }
38 36
39 TEST_F(SpdyPrefixedBufferReaderTest, ReadPieceFromPrefix) { 37 TEST_F(SpdyPrefixedBufferReaderTest, ReadPieceFromPrefix) {
40 SpdyPrefixedBufferReader reader = Build("foobar", ""); 38 SpdyPrefixedBufferReader reader = Build("foobar", "");
41 EXPECT_EQ(6u, reader.Available()); 39 EXPECT_EQ(6u, reader.Available());
42 40
43 SpdyPinnableBufferPiece piece; 41 SpdyPinnableBufferPiece piece;
44 EXPECT_FALSE(reader.ReadN(10, &piece)); // Not enough buffer. 42 EXPECT_FALSE(reader.ReadN(10, &piece)); // Not enough buffer.
45 EXPECT_TRUE(reader.ReadN(6, &piece)); 43 EXPECT_TRUE(reader.ReadN(6, &piece));
46 EXPECT_FALSE(piece.IsPinned()); 44 EXPECT_FALSE(piece.IsPinned());
47 EXPECT_EQ(StringPiece("foobar"), piece); 45 EXPECT_EQ(StringPiece("foobar"), piece);
48 EXPECT_EQ(0u, reader.Available()); 46 EXPECT_EQ(0u, reader.Available());
49 } 47 }
50 48
51 TEST_F(SpdyPrefixedBufferReaderTest, ReadRawFromSuffix) { 49 TEST_F(SpdyPrefixedBufferReaderTest, ReadRawFromSuffix) {
52 SpdyPrefixedBufferReader reader = Build("", "foobar"); 50 SpdyPrefixedBufferReader reader = Build("", "foobar");
53 EXPECT_EQ(6u, reader.Available()); 51 EXPECT_EQ(6u, reader.Available());
54 52
55 char buffer[] = "123456"; 53 char buffer[] = "123456";
56 EXPECT_FALSE(reader.ReadN(10, buffer)); // Not enough buffer. 54 EXPECT_FALSE(reader.ReadN(10, buffer)); // Not enough buffer.
57 EXPECT_TRUE(reader.ReadN(6, buffer)); 55 EXPECT_TRUE(reader.ReadN(6, buffer));
58 EXPECT_THAT(buffer, ElementsAreArray("foobar")); 56 EXPECT_EQ(StringPiece(buffer), StringPiece("foobar"));
59 EXPECT_EQ(0u, reader.Available()); 57 EXPECT_EQ(0u, reader.Available());
60 } 58 }
61 59
62 TEST_F(SpdyPrefixedBufferReaderTest, ReadPieceFromSuffix) { 60 TEST_F(SpdyPrefixedBufferReaderTest, ReadPieceFromSuffix) {
63 SpdyPrefixedBufferReader reader = Build("", "foobar"); 61 SpdyPrefixedBufferReader reader = Build("", "foobar");
64 EXPECT_EQ(6u, reader.Available()); 62 EXPECT_EQ(6u, reader.Available());
65 63
66 SpdyPinnableBufferPiece piece; 64 SpdyPinnableBufferPiece piece;
67 EXPECT_FALSE(reader.ReadN(10, &piece)); // Not enough buffer. 65 EXPECT_FALSE(reader.ReadN(10, &piece)); // Not enough buffer.
68 EXPECT_TRUE(reader.ReadN(6, &piece)); 66 EXPECT_TRUE(reader.ReadN(6, &piece));
69 EXPECT_FALSE(piece.IsPinned()); 67 EXPECT_FALSE(piece.IsPinned());
70 EXPECT_EQ(StringPiece("foobar"), piece); 68 EXPECT_EQ(StringPiece("foobar"), piece);
71 EXPECT_EQ(0u, reader.Available()); 69 EXPECT_EQ(0u, reader.Available());
72 } 70 }
73 71
74 TEST_F(SpdyPrefixedBufferReaderTest, ReadRawSpanning) { 72 TEST_F(SpdyPrefixedBufferReaderTest, ReadRawSpanning) {
75 SpdyPrefixedBufferReader reader = Build("foob", "ar"); 73 SpdyPrefixedBufferReader reader = Build("foob", "ar");
76 EXPECT_EQ(6u, reader.Available()); 74 EXPECT_EQ(6u, reader.Available());
77 75
78 char buffer[] = "123456"; 76 char buffer[] = "123456";
79 EXPECT_FALSE(reader.ReadN(10, buffer)); // Not enough buffer. 77 EXPECT_FALSE(reader.ReadN(10, buffer)); // Not enough buffer.
80 EXPECT_TRUE(reader.ReadN(6, buffer)); 78 EXPECT_TRUE(reader.ReadN(6, buffer));
81 EXPECT_THAT(buffer, ElementsAreArray("foobar")); 79 EXPECT_EQ(StringPiece(buffer), StringPiece("foobar"));
82 EXPECT_EQ(0u, reader.Available()); 80 EXPECT_EQ(0u, reader.Available());
83 } 81 }
84 82
85 TEST_F(SpdyPrefixedBufferReaderTest, ReadPieceSpanning) { 83 TEST_F(SpdyPrefixedBufferReaderTest, ReadPieceSpanning) {
86 SpdyPrefixedBufferReader reader = Build("foob", "ar"); 84 SpdyPrefixedBufferReader reader = Build("foob", "ar");
87 EXPECT_EQ(6u, reader.Available()); 85 EXPECT_EQ(6u, reader.Available());
88 86
89 SpdyPinnableBufferPiece piece; 87 SpdyPinnableBufferPiece piece;
90 EXPECT_FALSE(reader.ReadN(10, &piece)); // Not enough buffer. 88 EXPECT_FALSE(reader.ReadN(10, &piece)); // Not enough buffer.
91 EXPECT_TRUE(reader.ReadN(6, &piece)); 89 EXPECT_TRUE(reader.ReadN(6, &piece));
92 EXPECT_TRUE(piece.IsPinned()); 90 EXPECT_TRUE(piece.IsPinned());
93 EXPECT_EQ(StringPiece("foobar"), piece); 91 EXPECT_EQ(StringPiece("foobar"), piece);
94 EXPECT_EQ(0u, reader.Available()); 92 EXPECT_EQ(0u, reader.Available());
95 } 93 }
96 94
97 TEST_F(SpdyPrefixedBufferReaderTest, ReadMixed) { 95 TEST_F(SpdyPrefixedBufferReaderTest, ReadMixed) {
98 SpdyPrefixedBufferReader reader = Build("abcdef", "hijkl"); 96 SpdyPrefixedBufferReader reader = Build("abcdef", "hijkl");
99 EXPECT_EQ(11u, reader.Available()); 97 EXPECT_EQ(11u, reader.Available());
100 98
101 char buffer[] = "1234"; 99 char buffer[] = "1234";
102 SpdyPinnableBufferPiece piece; 100 SpdyPinnableBufferPiece piece;
103 101
104 EXPECT_TRUE(reader.ReadN(3, buffer)); 102 EXPECT_TRUE(reader.ReadN(3, buffer));
105 EXPECT_THAT(buffer, ElementsAreArray("abc4")); 103 EXPECT_EQ(StringPiece(buffer), StringPiece("abc4"));
106 EXPECT_EQ(8u, reader.Available()); 104 EXPECT_EQ(8u, reader.Available());
107 105
108 EXPECT_TRUE(reader.ReadN(2, buffer)); 106 EXPECT_TRUE(reader.ReadN(2, buffer));
109 EXPECT_THAT(buffer, ElementsAreArray("dec4")); 107 EXPECT_EQ(StringPiece(buffer), StringPiece("dec4"));
110 EXPECT_EQ(6u, reader.Available()); 108 EXPECT_EQ(6u, reader.Available());
111 109
112 EXPECT_TRUE(reader.ReadN(3, &piece)); 110 EXPECT_TRUE(reader.ReadN(3, &piece));
113 EXPECT_EQ(StringPiece("fhi"), piece); 111 EXPECT_EQ(StringPiece("fhi"), piece);
114 EXPECT_TRUE(piece.IsPinned()); 112 EXPECT_TRUE(piece.IsPinned());
115 EXPECT_EQ(3u, reader.Available()); 113 EXPECT_EQ(3u, reader.Available());
116 114
117 EXPECT_TRUE(reader.ReadN(2, &piece)); 115 EXPECT_TRUE(reader.ReadN(2, &piece));
118 EXPECT_EQ(StringPiece("jk"), piece); 116 EXPECT_EQ(StringPiece("jk"), piece);
119 EXPECT_FALSE(piece.IsPinned()); 117 EXPECT_FALSE(piece.IsPinned());
120 EXPECT_EQ(1u, reader.Available()); 118 EXPECT_EQ(1u, reader.Available());
121 119
122 EXPECT_TRUE(reader.ReadN(1, buffer)); 120 EXPECT_TRUE(reader.ReadN(1, buffer));
123 EXPECT_THAT(buffer, ElementsAreArray("lec4")); 121 EXPECT_EQ(StringPiece(buffer), StringPiece("lec4"));
124 EXPECT_EQ(0u, reader.Available()); 122 EXPECT_EQ(0u, reader.Available());
125 } 123 }
126 124
127 } // namespace test 125 } // namespace test
128 126
129 } // namespace net 127 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698