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

Side by Side Diff: webkit/glue/resource_request_body_unittest.cc

Issue 11275223: net: Change type of UploadData::elements from std::vector to ScopedVector (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: _ Created 8 years, 1 month 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "webkit/glue/resource_request_body.h" 5 #include "webkit/glue/resource_request_body.h"
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/time.h" 9 #include "base/time.h"
10 #include "googleurl/src/gurl.h" 10 #include "googleurl/src/gurl.h"
(...skipping 18 matching lines...) Expand all
29 29
30 request_body->AppendBytes(kData, arraysize(kData) - 1); 30 request_body->AppendBytes(kData, arraysize(kData) - 1);
31 request_body->AppendFileRange(FilePath(kFilePath), 31 request_body->AppendFileRange(FilePath(kFilePath),
32 kFileOffset, kFileLength, kFileTime); 32 kFileOffset, kFileLength, kFileTime);
33 request_body->set_identifier(kIdentifier); 33 request_body->set_identifier(kIdentifier);
34 34
35 scoped_refptr<net::UploadData> upload = 35 scoped_refptr<net::UploadData> upload =
36 request_body->ResolveElementsAndCreateUploadData(NULL); 36 request_body->ResolveElementsAndCreateUploadData(NULL);
37 37
38 EXPECT_EQ(kIdentifier, upload->identifier()); 38 EXPECT_EQ(kIdentifier, upload->identifier());
39 ASSERT_EQ(request_body->elements()->size(), upload->elements()->size()); 39 ASSERT_EQ(request_body->elements()->size(), upload->elements().size());
40 40
41 const net::UploadElement& e1 = upload->elements()->at(0); 41 const net::UploadElement& e1 = *upload->elements()[0];
42 EXPECT_EQ(net::UploadElement::TYPE_BYTES, e1.type()); 42 EXPECT_EQ(net::UploadElement::TYPE_BYTES, e1.type());
43 EXPECT_EQ(kData, std::string(e1.bytes(), e1.bytes_length())); 43 EXPECT_EQ(kData, std::string(e1.bytes(), e1.bytes_length()));
44 44
45 const net::UploadElement& e2 = upload->elements()->at(1); 45 const net::UploadElement& e2 = *upload->elements()[1];
46 EXPECT_EQ(net::UploadElement::TYPE_FILE, e2.type()); 46 EXPECT_EQ(net::UploadElement::TYPE_FILE, e2.type());
47 EXPECT_EQ(kFilePath, e2.file_path().value()); 47 EXPECT_EQ(kFilePath, e2.file_path().value());
48 EXPECT_EQ(kFileOffset, e2.file_range_offset()); 48 EXPECT_EQ(kFileOffset, e2.file_range_offset());
49 EXPECT_EQ(kFileLength, e2.file_range_length()); 49 EXPECT_EQ(kFileLength, e2.file_range_length());
50 EXPECT_EQ(kFileTime, e2.expected_file_modification_time()); 50 EXPECT_EQ(kFileTime, e2.expected_file_modification_time());
51 } 51 }
52 52
53 TEST(ResourceRequestBodyTest, ResolveBlobAndCreateUploadData) { 53 TEST(ResourceRequestBodyTest, ResolveBlobAndCreateUploadData) {
54 // Setup blob data for testing. 54 // Setup blob data for testing.
55 base::Time time1, time2; 55 base::Time time1, time2;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 request_body->AppendFileRange( 100 request_body->AppendFileRange(
101 upload_element2.file_path(), 101 upload_element2.file_path(),
102 upload_element2.file_range_offset(), 102 upload_element2.file_range_offset(),
103 upload_element2.file_range_length(), 103 upload_element2.file_range_length(),
104 upload_element2.expected_file_modification_time()); 104 upload_element2.expected_file_modification_time());
105 105
106 scoped_refptr<net::UploadData> upload = 106 scoped_refptr<net::UploadData> upload =
107 request_body->ResolveElementsAndCreateUploadData( 107 request_body->ResolveElementsAndCreateUploadData(
108 &blob_storage_controller); 108 &blob_storage_controller);
109 109
110 ASSERT_EQ(upload->elements()->size(), 2U); 110 ASSERT_EQ(upload->elements().size(), 2U);
111 EXPECT_TRUE(upload->elements()->at(0) == upload_element1); 111 EXPECT_TRUE(*upload->elements()[0] == upload_element1);
112 EXPECT_TRUE(upload->elements()->at(1) == upload_element2); 112 EXPECT_TRUE(*upload->elements()[1] == upload_element2);
113 113
114 // Test having only one blob reference that refers to empty blob data. 114 // Test having only one blob reference that refers to empty blob data.
115 request_body = new ResourceRequestBody(); 115 request_body = new ResourceRequestBody();
116 request_body->AppendBlob(blob_url0); 116 request_body->AppendBlob(blob_url0);
117 117
118 upload = request_body->ResolveElementsAndCreateUploadData( 118 upload = request_body->ResolveElementsAndCreateUploadData(
119 &blob_storage_controller); 119 &blob_storage_controller);
120 ASSERT_EQ(upload->elements()->size(), 0U); 120 ASSERT_EQ(upload->elements().size(), 0U);
121 121
122 // Test having only one blob reference. 122 // Test having only one blob reference.
123 request_body = new ResourceRequestBody(); 123 request_body = new ResourceRequestBody();
124 request_body->AppendBlob(blob_url1); 124 request_body->AppendBlob(blob_url1);
125 125
126 upload = request_body->ResolveElementsAndCreateUploadData( 126 upload = request_body->ResolveElementsAndCreateUploadData(
127 &blob_storage_controller); 127 &blob_storage_controller);
128 ASSERT_EQ(upload->elements()->size(), 2U); 128 ASSERT_EQ(upload->elements().size(), 2U);
129 EXPECT_TRUE(upload->elements()->at(0) == blob_element1); 129 EXPECT_TRUE(*upload->elements()[0] == blob_element1);
130 EXPECT_TRUE(upload->elements()->at(1) == blob_element2); 130 EXPECT_TRUE(*upload->elements()[1] == blob_element2);
131 131
132 // Test having one blob reference at the beginning. 132 // Test having one blob reference at the beginning.
133 request_body = new ResourceRequestBody(); 133 request_body = new ResourceRequestBody();
134 request_body->AppendBlob(blob_url1); 134 request_body->AppendBlob(blob_url1);
135 request_body->AppendBytes( 135 request_body->AppendBytes(
136 upload_element1.bytes(), 136 upload_element1.bytes(),
137 upload_element1.bytes_length()); 137 upload_element1.bytes_length());
138 request_body->AppendFileRange( 138 request_body->AppendFileRange(
139 upload_element2.file_path(), 139 upload_element2.file_path(),
140 upload_element2.file_range_offset(), 140 upload_element2.file_range_offset(),
141 upload_element2.file_range_length(), 141 upload_element2.file_range_length(),
142 upload_element2.expected_file_modification_time()); 142 upload_element2.expected_file_modification_time());
143 143
144 upload = request_body->ResolveElementsAndCreateUploadData( 144 upload = request_body->ResolveElementsAndCreateUploadData(
145 &blob_storage_controller); 145 &blob_storage_controller);
146 ASSERT_EQ(upload->elements()->size(), 4U); 146 ASSERT_EQ(upload->elements().size(), 4U);
147 EXPECT_TRUE(upload->elements()->at(0) == blob_element1); 147 EXPECT_TRUE(*upload->elements()[0] == blob_element1);
148 EXPECT_TRUE(upload->elements()->at(1) == blob_element2); 148 EXPECT_TRUE(*upload->elements()[1] == blob_element2);
149 EXPECT_TRUE(upload->elements()->at(2) == upload_element1); 149 EXPECT_TRUE(*upload->elements()[2] == upload_element1);
150 EXPECT_TRUE(upload->elements()->at(3) == upload_element2); 150 EXPECT_TRUE(*upload->elements()[3] == upload_element2);
151 151
152 // Test having one blob reference at the end. 152 // Test having one blob reference at the end.
153 request_body = new ResourceRequestBody(); 153 request_body = new ResourceRequestBody();
154 request_body->AppendBytes( 154 request_body->AppendBytes(
155 upload_element1.bytes(), 155 upload_element1.bytes(),
156 upload_element1.bytes_length()); 156 upload_element1.bytes_length());
157 request_body->AppendFileRange( 157 request_body->AppendFileRange(
158 upload_element2.file_path(), 158 upload_element2.file_path(),
159 upload_element2.file_range_offset(), 159 upload_element2.file_range_offset(),
160 upload_element2.file_range_length(), 160 upload_element2.file_range_length(),
161 upload_element2.expected_file_modification_time()); 161 upload_element2.expected_file_modification_time());
162 request_body->AppendBlob(blob_url1); 162 request_body->AppendBlob(blob_url1);
163 163
164 upload = request_body->ResolveElementsAndCreateUploadData( 164 upload = request_body->ResolveElementsAndCreateUploadData(
165 &blob_storage_controller); 165 &blob_storage_controller);
166 ASSERT_EQ(upload->elements()->size(), 4U); 166 ASSERT_EQ(upload->elements().size(), 4U);
167 EXPECT_TRUE(upload->elements()->at(0) == upload_element1); 167 EXPECT_TRUE(*upload->elements()[0] == upload_element1);
168 EXPECT_TRUE(upload->elements()->at(1) == upload_element2); 168 EXPECT_TRUE(*upload->elements()[1] == upload_element2);
169 EXPECT_TRUE(upload->elements()->at(2) == blob_element1); 169 EXPECT_TRUE(*upload->elements()[2] == blob_element1);
170 EXPECT_TRUE(upload->elements()->at(3) == blob_element2); 170 EXPECT_TRUE(*upload->elements()[3] == blob_element2);
171 171
172 // Test having one blob reference in the middle. 172 // Test having one blob reference in the middle.
173 request_body = new ResourceRequestBody(); 173 request_body = new ResourceRequestBody();
174 request_body->AppendBytes( 174 request_body->AppendBytes(
175 upload_element1.bytes(), 175 upload_element1.bytes(),
176 upload_element1.bytes_length()); 176 upload_element1.bytes_length());
177 request_body->AppendBlob(blob_url1); 177 request_body->AppendBlob(blob_url1);
178 request_body->AppendFileRange( 178 request_body->AppendFileRange(
179 upload_element2.file_path(), 179 upload_element2.file_path(),
180 upload_element2.file_range_offset(), 180 upload_element2.file_range_offset(),
181 upload_element2.file_range_length(), 181 upload_element2.file_range_length(),
182 upload_element2.expected_file_modification_time()); 182 upload_element2.expected_file_modification_time());
183 183
184 upload = request_body->ResolveElementsAndCreateUploadData( 184 upload = request_body->ResolveElementsAndCreateUploadData(
185 &blob_storage_controller); 185 &blob_storage_controller);
186 ASSERT_EQ(upload->elements()->size(), 4U); 186 ASSERT_EQ(upload->elements().size(), 4U);
187 EXPECT_TRUE(upload->elements()->at(0) == upload_element1); 187 EXPECT_TRUE(*upload->elements()[0] == upload_element1);
188 EXPECT_TRUE(upload->elements()->at(1) == blob_element1); 188 EXPECT_TRUE(*upload->elements()[1] == blob_element1);
189 EXPECT_TRUE(upload->elements()->at(2) == blob_element2); 189 EXPECT_TRUE(*upload->elements()[2] == blob_element2);
190 EXPECT_TRUE(upload->elements()->at(3) == upload_element2); 190 EXPECT_TRUE(*upload->elements()[3] == upload_element2);
191 191
192 // Test having multiple blob references. 192 // Test having multiple blob references.
193 request_body = new ResourceRequestBody(); 193 request_body = new ResourceRequestBody();
194 request_body->AppendBlob(blob_url1); 194 request_body->AppendBlob(blob_url1);
195 request_body->AppendBytes( 195 request_body->AppendBytes(
196 upload_element1.bytes(), 196 upload_element1.bytes(),
197 upload_element1.bytes_length()); 197 upload_element1.bytes_length());
198 request_body->AppendBlob(blob_url2); 198 request_body->AppendBlob(blob_url2);
199 request_body->AppendBlob(blob_url3); 199 request_body->AppendBlob(blob_url3);
200 request_body->AppendFileRange( 200 request_body->AppendFileRange(
201 upload_element2.file_path(), 201 upload_element2.file_path(),
202 upload_element2.file_range_offset(), 202 upload_element2.file_range_offset(),
203 upload_element2.file_range_length(), 203 upload_element2.file_range_length(),
204 upload_element2.expected_file_modification_time()); 204 upload_element2.expected_file_modification_time());
205 205
206 upload = request_body->ResolveElementsAndCreateUploadData( 206 upload = request_body->ResolveElementsAndCreateUploadData(
207 &blob_storage_controller); 207 &blob_storage_controller);
208 ASSERT_EQ(upload->elements()->size(), 8U); 208 ASSERT_EQ(upload->elements().size(), 8U);
mmenke 2012/11/09 15:50:19 While you're here, mind flipping the order of the
hashimoto 2012/11/10 09:34:52 Done.
209 EXPECT_TRUE(upload->elements()->at(0) == blob_element1); 209 EXPECT_TRUE(*upload->elements()[0] == blob_element1);
210 EXPECT_TRUE(upload->elements()->at(1) == blob_element2); 210 EXPECT_TRUE(*upload->elements()[1] == blob_element2);
211 EXPECT_TRUE(upload->elements()->at(2) == upload_element1); 211 EXPECT_TRUE(*upload->elements()[2] == upload_element1);
212 EXPECT_TRUE(upload->elements()->at(3) == blob_element1); 212 EXPECT_TRUE(*upload->elements()[3] == blob_element1);
213 EXPECT_TRUE(upload->elements()->at(4) == blob_element2); 213 EXPECT_TRUE(*upload->elements()[4] == blob_element2);
214 EXPECT_TRUE(upload->elements()->at(5) == blob_element1); 214 EXPECT_TRUE(*upload->elements()[5] == blob_element1);
215 EXPECT_TRUE(upload->elements()->at(6) == blob_element2); 215 EXPECT_TRUE(*upload->elements()[6] == blob_element2);
216 EXPECT_TRUE(upload->elements()->at(7) == upload_element2); 216 EXPECT_TRUE(*upload->elements()[7] == upload_element2);
217 } 217 }
218 218
219 } // namespace webkit_glue 219 } // namespace webkit_glue
OLDNEW
« chrome/common/automation_messages.cc ('K') | « webkit/glue/resource_request_body.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698