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

Side by Side Diff: net/websockets/websocket_inflater_test.cc

Issue 474973004: Remove implicit conversions from scoped_refptr to T* in net/websockets/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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 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/websockets/websocket_inflater.h" 5 #include "net/websockets/websocket_inflater.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 19 matching lines...) Expand all
30 } 30 }
31 31
32 TEST(WebSocketInflaterTest, InflateHelloTakeOverContext) { 32 TEST(WebSocketInflaterTest, InflateHelloTakeOverContext) {
33 WebSocketInflater inflater; 33 WebSocketInflater inflater;
34 ASSERT_TRUE(inflater.Initialize(15)); 34 ASSERT_TRUE(inflater.Initialize(15));
35 scoped_refptr<IOBufferWithSize> actual1, actual2; 35 scoped_refptr<IOBufferWithSize> actual1, actual2;
36 36
37 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7)); 37 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
38 ASSERT_TRUE(inflater.Finish()); 38 ASSERT_TRUE(inflater.Finish());
39 actual1 = inflater.GetOutput(inflater.CurrentOutputSize()); 39 actual1 = inflater.GetOutput(inflater.CurrentOutputSize());
40 ASSERT_TRUE(actual1); 40 ASSERT_TRUE(actual1.get());
41 EXPECT_EQ("Hello", ToString(actual1.get())); 41 EXPECT_EQ("Hello", ToString(actual1.get()));
42 EXPECT_EQ(0u, inflater.CurrentOutputSize()); 42 EXPECT_EQ(0u, inflater.CurrentOutputSize());
43 43
44 ASSERT_TRUE(inflater.AddBytes("\xf2\x00\x11\x00\x00", 5)); 44 ASSERT_TRUE(inflater.AddBytes("\xf2\x00\x11\x00\x00", 5));
45 ASSERT_TRUE(inflater.Finish()); 45 ASSERT_TRUE(inflater.Finish());
46 actual2 = inflater.GetOutput(inflater.CurrentOutputSize()); 46 actual2 = inflater.GetOutput(inflater.CurrentOutputSize());
47 ASSERT_TRUE(actual2); 47 ASSERT_TRUE(actual2.get());
48 EXPECT_EQ("Hello", ToString(actual2.get())); 48 EXPECT_EQ("Hello", ToString(actual2.get()));
49 EXPECT_EQ(0u, inflater.CurrentOutputSize()); 49 EXPECT_EQ(0u, inflater.CurrentOutputSize());
50 } 50 }
51 51
52 TEST(WebSocketInflaterTest, InflateHelloSmallCapacity) { 52 TEST(WebSocketInflaterTest, InflateHelloSmallCapacity) {
53 WebSocketInflater inflater(1, 1); 53 WebSocketInflater inflater(1, 1);
54 ASSERT_TRUE(inflater.Initialize(15)); 54 ASSERT_TRUE(inflater.Initialize(15));
55 std::string actual; 55 std::string actual;
56 56
57 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7)); 57 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
58 ASSERT_TRUE(inflater.Finish()); 58 ASSERT_TRUE(inflater.Finish());
59 for (size_t i = 0; i < 5; ++i) { 59 for (size_t i = 0; i < 5; ++i) {
60 ASSERT_EQ(1u, inflater.CurrentOutputSize()); 60 ASSERT_EQ(1u, inflater.CurrentOutputSize());
61 scoped_refptr<IOBufferWithSize> buffer = inflater.GetOutput(1); 61 scoped_refptr<IOBufferWithSize> buffer = inflater.GetOutput(1);
62 ASSERT_TRUE(buffer); 62 ASSERT_TRUE(buffer.get());
63 ASSERT_EQ(1, buffer->size()); 63 ASSERT_EQ(1, buffer->size());
64 actual += ToString(buffer.get()); 64 actual += ToString(buffer.get());
65 } 65 }
66 EXPECT_EQ("Hello", actual); 66 EXPECT_EQ("Hello", actual);
67 EXPECT_EQ(0u, inflater.CurrentOutputSize()); 67 EXPECT_EQ(0u, inflater.CurrentOutputSize());
68 } 68 }
69 69
70 TEST(WebSocketInflaterTest, InflateHelloSmallCapacityGetTotalOutput) { 70 TEST(WebSocketInflaterTest, InflateHelloSmallCapacityGetTotalOutput) {
71 WebSocketInflater inflater(1, 1); 71 WebSocketInflater inflater(1, 1);
72 ASSERT_TRUE(inflater.Initialize(15)); 72 ASSERT_TRUE(inflater.Initialize(15));
73 scoped_refptr<IOBufferWithSize> actual; 73 scoped_refptr<IOBufferWithSize> actual;
74 74
75 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7)); 75 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
76 ASSERT_TRUE(inflater.Finish()); 76 ASSERT_TRUE(inflater.Finish());
77 ASSERT_EQ(1u, inflater.CurrentOutputSize()); 77 ASSERT_EQ(1u, inflater.CurrentOutputSize());
78 actual = inflater.GetOutput(1024); 78 actual = inflater.GetOutput(1024);
79 EXPECT_EQ("Hello", ToString(actual)); 79 EXPECT_EQ("Hello", ToString(actual.get()));
80 EXPECT_EQ(0u, inflater.CurrentOutputSize()); 80 EXPECT_EQ(0u, inflater.CurrentOutputSize());
81 } 81 }
82 82
83 TEST(WebSocketInflaterTest, InflateInvalidData) { 83 TEST(WebSocketInflaterTest, InflateInvalidData) {
84 WebSocketInflater inflater; 84 WebSocketInflater inflater;
85 ASSERT_TRUE(inflater.Initialize(15)); 85 ASSERT_TRUE(inflater.Initialize(15));
86 EXPECT_FALSE(inflater.AddBytes("\xf2\x48\xcd\xc9INVALID DATA", 16)); 86 EXPECT_FALSE(inflater.AddBytes("\xf2\x48\xcd\xc9INVALID DATA", 16));
87 } 87 }
88 88
89 TEST(WebSocketInflaterTest, ChokedInvalidData) { 89 TEST(WebSocketInflaterTest, ChokedInvalidData) {
(...skipping 10 matching lines...) Expand all
100 WebSocketInflater inflater; 100 WebSocketInflater inflater;
101 ASSERT_TRUE(inflater.Initialize(15)); 101 ASSERT_TRUE(inflater.Initialize(15));
102 std::string input("\xf2\x48\xcd\xc9\xc9\x07\x00", 7); 102 std::string input("\xf2\x48\xcd\xc9\xc9\x07\x00", 7);
103 scoped_refptr<IOBufferWithSize> actual; 103 scoped_refptr<IOBufferWithSize> actual;
104 104
105 for (size_t i = 0; i < input.size(); ++i) { 105 for (size_t i = 0; i < input.size(); ++i) {
106 ASSERT_TRUE(inflater.AddBytes(&input[i], 1)); 106 ASSERT_TRUE(inflater.AddBytes(&input[i], 1));
107 } 107 }
108 ASSERT_TRUE(inflater.Finish()); 108 ASSERT_TRUE(inflater.Finish());
109 actual = inflater.GetOutput(5); 109 actual = inflater.GetOutput(5);
110 ASSERT_TRUE(actual); 110 ASSERT_TRUE(actual.get());
111 EXPECT_EQ("Hello", ToString(actual.get())); 111 EXPECT_EQ("Hello", ToString(actual.get()));
112 } 112 }
113 113
114 TEST(WebSocketInflaterTest, Reset) { 114 TEST(WebSocketInflaterTest, Reset) {
115 WebSocketInflater inflater; 115 WebSocketInflater inflater;
116 ASSERT_TRUE(inflater.Initialize(15)); 116 ASSERT_TRUE(inflater.Initialize(15));
117 scoped_refptr<IOBufferWithSize> actual1, actual2; 117 scoped_refptr<IOBufferWithSize> actual1, actual2;
118 118
119 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7)); 119 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
120 ASSERT_TRUE(inflater.Finish()); 120 ASSERT_TRUE(inflater.Finish());
121 actual1 = inflater.GetOutput(inflater.CurrentOutputSize()); 121 actual1 = inflater.GetOutput(inflater.CurrentOutputSize());
122 ASSERT_TRUE(actual1); 122 ASSERT_TRUE(actual1.get());
123 EXPECT_EQ("Hello", ToString(actual1.get())); 123 EXPECT_EQ("Hello", ToString(actual1.get()));
124 EXPECT_EQ(0u, inflater.CurrentOutputSize()); 124 EXPECT_EQ(0u, inflater.CurrentOutputSize());
125 125
126 // Reset the stream with a block [BFINAL = 1, BTYPE = 00, LEN = 0] 126 // Reset the stream with a block [BFINAL = 1, BTYPE = 00, LEN = 0]
127 ASSERT_TRUE(inflater.AddBytes("\x01", 1)); 127 ASSERT_TRUE(inflater.AddBytes("\x01", 1));
128 ASSERT_TRUE(inflater.Finish()); 128 ASSERT_TRUE(inflater.Finish());
129 ASSERT_EQ(0u, inflater.CurrentOutputSize()); 129 ASSERT_EQ(0u, inflater.CurrentOutputSize());
130 130
131 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7)); 131 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
132 ASSERT_TRUE(inflater.Finish()); 132 ASSERT_TRUE(inflater.Finish());
133 actual2 = inflater.GetOutput(inflater.CurrentOutputSize()); 133 actual2 = inflater.GetOutput(inflater.CurrentOutputSize());
134 ASSERT_TRUE(actual2); 134 ASSERT_TRUE(actual2.get());
135 EXPECT_EQ("Hello", ToString(actual2.get())); 135 EXPECT_EQ("Hello", ToString(actual2.get()));
136 EXPECT_EQ(0u, inflater.CurrentOutputSize()); 136 EXPECT_EQ(0u, inflater.CurrentOutputSize());
137 } 137 }
138 138
139 TEST(WebSocketInflaterTest, ResetAndLostContext) { 139 TEST(WebSocketInflaterTest, ResetAndLostContext) {
140 WebSocketInflater inflater; 140 WebSocketInflater inflater;
141 scoped_refptr<IOBufferWithSize> actual1, actual2; 141 scoped_refptr<IOBufferWithSize> actual1, actual2;
142 ASSERT_TRUE(inflater.Initialize(15)); 142 ASSERT_TRUE(inflater.Initialize(15));
143 143
144 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7)); 144 ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
145 ASSERT_TRUE(inflater.Finish()); 145 ASSERT_TRUE(inflater.Finish());
146 actual1 = inflater.GetOutput(inflater.CurrentOutputSize()); 146 actual1 = inflater.GetOutput(inflater.CurrentOutputSize());
147 ASSERT_TRUE(actual1); 147 ASSERT_TRUE(actual1.get());
148 EXPECT_EQ("Hello", ToString(actual1.get())); 148 EXPECT_EQ("Hello", ToString(actual1.get()));
149 EXPECT_EQ(0u, inflater.CurrentOutputSize()); 149 EXPECT_EQ(0u, inflater.CurrentOutputSize());
150 150
151 // Reset the stream with a block [BFINAL = 1, BTYPE = 00, LEN = 0] 151 // Reset the stream with a block [BFINAL = 1, BTYPE = 00, LEN = 0]
152 ASSERT_TRUE(inflater.AddBytes("\x01", 1)); 152 ASSERT_TRUE(inflater.AddBytes("\x01", 1));
153 ASSERT_TRUE(inflater.Finish()); 153 ASSERT_TRUE(inflater.Finish());
154 ASSERT_EQ(0u, inflater.CurrentOutputSize()); 154 ASSERT_EQ(0u, inflater.CurrentOutputSize());
155 155
156 // The context is already reset. 156 // The context is already reset.
157 ASSERT_FALSE(inflater.AddBytes("\xf2\x00\x11\x00\x00", 5)); 157 ASSERT_FALSE(inflater.AddBytes("\xf2\x00\x11\x00\x00", 5));
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 ASSERT_TRUE(inflater.Initialize(8)); 194 ASSERT_TRUE(inflater.Initialize(8));
195 195
196 for (size_t i = 0; i < size; ++i) 196 for (size_t i = 0; i < size; ++i)
197 input.push_back(static_cast<char>(generator.Generate())); 197 input.push_back(static_cast<char>(generator.Generate()));
198 198
199 ASSERT_TRUE(deflater.AddBytes(&input[0], input.size())); 199 ASSERT_TRUE(deflater.AddBytes(&input[0], input.size()));
200 ASSERT_TRUE(deflater.Finish()); 200 ASSERT_TRUE(deflater.Finish());
201 201
202 compressed = deflater.GetOutput(deflater.CurrentOutputSize()); 202 compressed = deflater.GetOutput(deflater.CurrentOutputSize());
203 203
204 ASSERT_TRUE(compressed); 204 ASSERT_TRUE(compressed.get());
205 ASSERT_EQ(0u, deflater.CurrentOutputSize()); 205 ASSERT_EQ(0u, deflater.CurrentOutputSize());
206 206
207 ASSERT_TRUE(inflater.AddBytes(compressed->data(), compressed->size())); 207 ASSERT_TRUE(inflater.AddBytes(compressed->data(), compressed->size()));
208 ASSERT_TRUE(inflater.Finish()); 208 ASSERT_TRUE(inflater.Finish());
209 209
210 while (inflater.CurrentOutputSize() > 0) { 210 while (inflater.CurrentOutputSize() > 0) {
211 scoped_refptr<IOBufferWithSize> uncompressed = 211 scoped_refptr<IOBufferWithSize> uncompressed =
212 inflater.GetOutput(inflater.CurrentOutputSize()); 212 inflater.GetOutput(inflater.CurrentOutputSize());
213 ASSERT_TRUE(uncompressed); 213 ASSERT_TRUE(uncompressed.get());
214 output.insert(output.end(), 214 output.insert(output.end(),
215 uncompressed->data(), 215 uncompressed->data(),
216 uncompressed->data() + uncompressed->size()); 216 uncompressed->data() + uncompressed->size());
217 } 217 }
218 218
219 EXPECT_EQ(output, input); 219 EXPECT_EQ(output, input);
220 } 220 }
221 221
222 } // unnamed namespace 222 } // unnamed namespace
223 223
224 } // namespace net 224 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698