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

Side by Side Diff: content/child/shared_memory_received_data_factory_unittest.cc

Issue 2510333002: Send encoded_body_length to renderer when response completed (2/3) (Closed)
Patch Set: rebase Created 4 years 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "content/child/shared_memory_received_data_factory.h" 5 #include "content/child/shared_memory_received_data_factory.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <tuple> 8 #include <tuple>
9 9
10 #include "content/common/resource_messages.h" 10 #include "content/common/resource_messages.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 scoped_refptr<SharedMemoryReceivedDataFactory> factory_; 65 scoped_refptr<SharedMemoryReceivedDataFactory> factory_;
66 }; 66 };
67 67
68 TEST_F(SharedMemoryReceivedDataFactoryTest, Create) { 68 TEST_F(SharedMemoryReceivedDataFactoryTest, Create) {
69 Checkpoint checkpoint; 69 Checkpoint checkpoint;
70 InSequence s; 70 InSequence s;
71 EXPECT_CALL(checkpoint, Call(0)); 71 EXPECT_CALL(checkpoint, Call(0));
72 EXPECT_CALL(*sender_, SendAck(request_id_)); 72 EXPECT_CALL(*sender_, SendAck(request_id_));
73 EXPECT_CALL(checkpoint, Call(1)); 73 EXPECT_CALL(checkpoint, Call(1));
74 74
75 std::unique_ptr<ReceivedData> data = factory_->Create(12, 34, 56, 30); 75 std::unique_ptr<ReceivedData> data = factory_->Create(12, 34, 56);
76 const char* memory_start = static_cast<const char*>(memory_->memory()); 76 const char* memory_start = static_cast<const char*>(memory_->memory());
77 77
78 ASSERT_TRUE(data); 78 ASSERT_TRUE(data);
79 EXPECT_EQ(memory_start + 12, data->payload()); 79 EXPECT_EQ(memory_start + 12, data->payload());
80 EXPECT_EQ(34, data->length()); 80 EXPECT_EQ(34, data->length());
81 EXPECT_EQ(56, data->encoded_data_length()); 81 EXPECT_EQ(56, data->encoded_data_length());
82 EXPECT_EQ(30, data->encoded_body_length());
83 82
84 checkpoint.Call(0); 83 checkpoint.Call(0);
85 data.reset(); 84 data.reset();
86 checkpoint.Call(1); 85 checkpoint.Call(1);
87 } 86 }
88 87
89 TEST_F(SharedMemoryReceivedDataFactoryTest, CreateMultiple) { 88 TEST_F(SharedMemoryReceivedDataFactoryTest, CreateMultiple) {
90 Checkpoint checkpoint; 89 Checkpoint checkpoint;
91 InSequence s; 90 InSequence s;
92 EXPECT_CALL(checkpoint, Call(0)); 91 EXPECT_CALL(checkpoint, Call(0));
93 EXPECT_CALL(*sender_, SendAck(request_id_)); 92 EXPECT_CALL(*sender_, SendAck(request_id_));
94 EXPECT_CALL(checkpoint, Call(1)); 93 EXPECT_CALL(checkpoint, Call(1));
95 EXPECT_CALL(*sender_, SendAck(request_id_)); 94 EXPECT_CALL(*sender_, SendAck(request_id_));
96 EXPECT_CALL(checkpoint, Call(2)); 95 EXPECT_CALL(checkpoint, Call(2));
97 EXPECT_CALL(*sender_, SendAck(request_id_)); 96 EXPECT_CALL(*sender_, SendAck(request_id_));
98 EXPECT_CALL(checkpoint, Call(3)); 97 EXPECT_CALL(checkpoint, Call(3));
99 98
100 std::unique_ptr<ReceivedData> data1 = factory_->Create(0, 1, 1, 1); 99 std::unique_ptr<ReceivedData> data1 = factory_->Create(0, 1, 1);
101 std::unique_ptr<ReceivedData> data2 = factory_->Create(1, 1, 1, 1); 100 std::unique_ptr<ReceivedData> data2 = factory_->Create(1, 1, 1);
102 std::unique_ptr<ReceivedData> data3 = factory_->Create(2, 1, 1, 1); 101 std::unique_ptr<ReceivedData> data3 = factory_->Create(2, 1, 1);
103 102
104 EXPECT_TRUE(data1); 103 EXPECT_TRUE(data1);
105 EXPECT_TRUE(data2); 104 EXPECT_TRUE(data2);
106 EXPECT_TRUE(data3); 105 EXPECT_TRUE(data3);
107 106
108 checkpoint.Call(0); 107 checkpoint.Call(0);
109 data1.reset(); 108 data1.reset();
110 checkpoint.Call(1); 109 checkpoint.Call(1);
111 data2.reset(); 110 data2.reset();
112 checkpoint.Call(2); 111 checkpoint.Call(2);
113 data3.reset(); 112 data3.reset();
114 checkpoint.Call(3); 113 checkpoint.Call(3);
115 } 114 }
116 115
117 TEST_F(SharedMemoryReceivedDataFactoryTest, ReclaimOutOfOrder) { 116 TEST_F(SharedMemoryReceivedDataFactoryTest, ReclaimOutOfOrder) {
118 Checkpoint checkpoint; 117 Checkpoint checkpoint;
119 InSequence s; 118 InSequence s;
120 EXPECT_CALL(checkpoint, Call(0)); 119 EXPECT_CALL(checkpoint, Call(0));
121 EXPECT_CALL(checkpoint, Call(1)); 120 EXPECT_CALL(checkpoint, Call(1));
122 EXPECT_CALL(checkpoint, Call(2)); 121 EXPECT_CALL(checkpoint, Call(2));
123 EXPECT_CALL(*sender_, SendAck(request_id_)); 122 EXPECT_CALL(*sender_, SendAck(request_id_));
124 EXPECT_CALL(*sender_, SendAck(request_id_)); 123 EXPECT_CALL(*sender_, SendAck(request_id_));
125 EXPECT_CALL(*sender_, SendAck(request_id_)); 124 EXPECT_CALL(*sender_, SendAck(request_id_));
126 EXPECT_CALL(checkpoint, Call(3)); 125 EXPECT_CALL(checkpoint, Call(3));
127 126
128 std::unique_ptr<ReceivedData> data1 = factory_->Create(0, 1, 1, 1); 127 std::unique_ptr<ReceivedData> data1 = factory_->Create(0, 1, 1);
129 std::unique_ptr<ReceivedData> data2 = factory_->Create(1, 1, 1, 1); 128 std::unique_ptr<ReceivedData> data2 = factory_->Create(1, 1, 1);
130 std::unique_ptr<ReceivedData> data3 = factory_->Create(2, 1, 1, 1); 129 std::unique_ptr<ReceivedData> data3 = factory_->Create(2, 1, 1);
131 130
132 EXPECT_TRUE(data1); 131 EXPECT_TRUE(data1);
133 EXPECT_TRUE(data2); 132 EXPECT_TRUE(data2);
134 EXPECT_TRUE(data3); 133 EXPECT_TRUE(data3);
135 134
136 checkpoint.Call(0); 135 checkpoint.Call(0);
137 data3.reset(); 136 data3.reset();
138 checkpoint.Call(1); 137 checkpoint.Call(1);
139 data2.reset(); 138 data2.reset();
140 checkpoint.Call(2); 139 checkpoint.Call(2);
141 data1.reset(); 140 data1.reset();
142 checkpoint.Call(3); 141 checkpoint.Call(3);
143 } 142 }
144 143
145 TEST_F(SharedMemoryReceivedDataFactoryTest, ReclaimOutOfOrderPartially) { 144 TEST_F(SharedMemoryReceivedDataFactoryTest, ReclaimOutOfOrderPartially) {
146 Checkpoint checkpoint; 145 Checkpoint checkpoint;
147 InSequence s; 146 InSequence s;
148 EXPECT_CALL(checkpoint, Call(0)); 147 EXPECT_CALL(checkpoint, Call(0));
149 EXPECT_CALL(checkpoint, Call(1)); 148 EXPECT_CALL(checkpoint, Call(1));
150 EXPECT_CALL(*sender_, SendAck(request_id_)); 149 EXPECT_CALL(*sender_, SendAck(request_id_));
151 EXPECT_CALL(*sender_, SendAck(request_id_)); 150 EXPECT_CALL(*sender_, SendAck(request_id_));
152 EXPECT_CALL(*sender_, SendAck(request_id_)); 151 EXPECT_CALL(*sender_, SendAck(request_id_));
153 EXPECT_CALL(checkpoint, Call(2)); 152 EXPECT_CALL(checkpoint, Call(2));
154 EXPECT_CALL(checkpoint, Call(3)); 153 EXPECT_CALL(checkpoint, Call(3));
155 EXPECT_CALL(*sender_, SendAck(request_id_)); 154 EXPECT_CALL(*sender_, SendAck(request_id_));
156 EXPECT_CALL(*sender_, SendAck(request_id_)); 155 EXPECT_CALL(*sender_, SendAck(request_id_));
157 EXPECT_CALL(*sender_, SendAck(request_id_)); 156 EXPECT_CALL(*sender_, SendAck(request_id_));
158 EXPECT_CALL(checkpoint, Call(4)); 157 EXPECT_CALL(checkpoint, Call(4));
159 158
160 std::unique_ptr<ReceivedData> data1 = factory_->Create(0, 1, 1, 1); 159 std::unique_ptr<ReceivedData> data1 = factory_->Create(0, 1, 1);
161 std::unique_ptr<ReceivedData> data2 = factory_->Create(1, 1, 1, 1); 160 std::unique_ptr<ReceivedData> data2 = factory_->Create(1, 1, 1);
162 std::unique_ptr<ReceivedData> data3 = factory_->Create(2, 1, 1, 1); 161 std::unique_ptr<ReceivedData> data3 = factory_->Create(2, 1, 1);
163 std::unique_ptr<ReceivedData> data4 = factory_->Create(3, 1, 1, 1); 162 std::unique_ptr<ReceivedData> data4 = factory_->Create(3, 1, 1);
164 std::unique_ptr<ReceivedData> data5 = factory_->Create(4, 1, 1, 1); 163 std::unique_ptr<ReceivedData> data5 = factory_->Create(4, 1, 1);
165 std::unique_ptr<ReceivedData> data6 = factory_->Create(5, 1, 1, 1); 164 std::unique_ptr<ReceivedData> data6 = factory_->Create(5, 1, 1);
166 165
167 EXPECT_TRUE(data1); 166 EXPECT_TRUE(data1);
168 EXPECT_TRUE(data2); 167 EXPECT_TRUE(data2);
169 EXPECT_TRUE(data3); 168 EXPECT_TRUE(data3);
170 EXPECT_TRUE(data4); 169 EXPECT_TRUE(data4);
171 EXPECT_TRUE(data5); 170 EXPECT_TRUE(data5);
172 EXPECT_TRUE(data6); 171 EXPECT_TRUE(data6);
173 172
174 checkpoint.Call(0); 173 checkpoint.Call(0);
175 data3.reset(); 174 data3.reset();
(...skipping 12 matching lines...) Expand all
188 Checkpoint checkpoint; 187 Checkpoint checkpoint;
189 InSequence s; 188 InSequence s;
190 EXPECT_CALL(checkpoint, Call(0)); 189 EXPECT_CALL(checkpoint, Call(0));
191 EXPECT_CALL(checkpoint, Call(1)); 190 EXPECT_CALL(checkpoint, Call(1));
192 EXPECT_CALL(*sender_, SendAck(request_id_)); 191 EXPECT_CALL(*sender_, SendAck(request_id_));
193 EXPECT_CALL(*sender_, SendAck(request_id_)); 192 EXPECT_CALL(*sender_, SendAck(request_id_));
194 EXPECT_CALL(*sender_, SendAck(request_id_)); 193 EXPECT_CALL(*sender_, SendAck(request_id_));
195 EXPECT_CALL(checkpoint, Call(2)); 194 EXPECT_CALL(checkpoint, Call(2));
196 EXPECT_CALL(checkpoint, Call(3)); 195 EXPECT_CALL(checkpoint, Call(3));
197 196
198 std::unique_ptr<ReceivedData> data1 = factory_->Create(0, 1, 1, 1); 197 std::unique_ptr<ReceivedData> data1 = factory_->Create(0, 1, 1);
199 std::unique_ptr<ReceivedData> data2 = factory_->Create(1, 1, 1, 1); 198 std::unique_ptr<ReceivedData> data2 = factory_->Create(1, 1, 1);
200 std::unique_ptr<ReceivedData> data3 = factory_->Create(2, 1, 1, 1); 199 std::unique_ptr<ReceivedData> data3 = factory_->Create(2, 1, 1);
201 std::unique_ptr<ReceivedData> data4 = factory_->Create(3, 1, 1, 1); 200 std::unique_ptr<ReceivedData> data4 = factory_->Create(3, 1, 1);
202 std::unique_ptr<ReceivedData> data5 = factory_->Create(4, 1, 1, 1); 201 std::unique_ptr<ReceivedData> data5 = factory_->Create(4, 1, 1);
203 std::unique_ptr<ReceivedData> data6 = factory_->Create(5, 1, 1, 1); 202 std::unique_ptr<ReceivedData> data6 = factory_->Create(5, 1, 1);
204 203
205 EXPECT_TRUE(data1); 204 EXPECT_TRUE(data1);
206 EXPECT_TRUE(data2); 205 EXPECT_TRUE(data2);
207 EXPECT_TRUE(data3); 206 EXPECT_TRUE(data3);
208 EXPECT_TRUE(data4); 207 EXPECT_TRUE(data4);
209 EXPECT_TRUE(data5); 208 EXPECT_TRUE(data5);
210 EXPECT_TRUE(data6); 209 EXPECT_TRUE(data6);
211 210
212 checkpoint.Call(0); 211 checkpoint.Call(0);
213 data3.reset(); 212 data3.reset();
214 data6.reset(); 213 data6.reset();
215 data2.reset(); 214 data2.reset();
216 checkpoint.Call(1); 215 checkpoint.Call(1);
217 data1.reset(); 216 data1.reset();
218 checkpoint.Call(2); 217 checkpoint.Call(2);
219 factory_->Stop(); 218 factory_->Stop();
220 data5.reset(); 219 data5.reset();
221 data4.reset(); 220 data4.reset();
222 checkpoint.Call(3); 221 checkpoint.Call(3);
223 } 222 }
224 223
225 } // namespace 224 } // namespace
226 225
227 } // namespace content 226 } // namespace content
OLDNEW
« no previous file with comments | « content/child/shared_memory_received_data_factory.cc ('k') | content/child/url_response_body_consumer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698