OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/fileapi/webfilewriter_base.h" | 5 #include "webkit/fileapi/webfilewriter_base.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 const int kBasicFileTruncate_Offset = 1; | 24 const int kBasicFileTruncate_Offset = 1; |
25 const int kErrorFileTruncate_Offset = 2; | 25 const int kErrorFileTruncate_Offset = 2; |
26 const int kCancelFileTruncate_Offset = 3; | 26 const int kCancelFileTruncate_Offset = 3; |
27 const int kCancelFailedTruncate_Offset = 4; | 27 const int kCancelFailedTruncate_Offset = 4; |
28 const int kBasicFileWrite_Offset = 1; | 28 const int kBasicFileWrite_Offset = 1; |
29 const int kErrorFileWrite_Offset = 2; | 29 const int kErrorFileWrite_Offset = 2; |
30 const int kMultiFileWrite_Offset = 3; | 30 const int kMultiFileWrite_Offset = 3; |
31 const int kCancelFileWriteBeforeCompletion_Offset = 4; | 31 const int kCancelFileWriteBeforeCompletion_Offset = 4; |
32 const int kCancelFileWriteAfterCompletion_Offset = 5; | 32 const int kCancelFileWriteAfterCompletion_Offset = 5; |
33 | 33 |
34 std::string mock_path_as_ascii() { | 34 GURL mock_path_as_gurl() { |
35 return std::string("MockPath"); | 35 return GURL("MockPath"); |
36 } | |
37 | |
38 string16 mock_path_as_string16() { | |
39 return ASCIIToUTF16(mock_path_as_ascii()); | |
40 } | |
41 | |
42 FilePath mock_path_as_file_path() { | |
43 return FilePath().AppendASCII(mock_path_as_ascii()); | |
44 } | 36 } |
45 | 37 |
46 } // namespace | 38 } // namespace |
47 | 39 |
48 class TestableFileWriter : public WebFileWriterBase { | 40 class TestableFileWriter : public WebFileWriterBase { |
49 public: | 41 public: |
50 explicit TestableFileWriter(WebKit::WebFileWriterClient* client) | 42 explicit TestableFileWriter(WebKit::WebFileWriterClient* client) |
51 : WebFileWriterBase(mock_path_as_string16(), client) { | 43 : WebFileWriterBase(mock_path_as_gurl(), client) { |
52 reset(); | 44 reset(); |
53 } | 45 } |
54 | 46 |
55 void reset() { | 47 void reset() { |
56 received_truncate_ = false; | 48 received_truncate_ = false; |
57 received_truncate_path_ = FilePath(); | 49 received_truncate_path_ = GURL(); |
58 received_truncate_offset_ = kNoOffset; | 50 received_truncate_offset_ = kNoOffset; |
59 received_write_ = false; | 51 received_write_ = false; |
60 received_write_path_ = FilePath(); | 52 received_write_path_ = GURL(); |
61 received_write_offset_ = kNoOffset; | 53 received_write_offset_ = kNoOffset; |
62 received_write_blob_url_ = GURL(); | 54 received_write_blob_url_ = GURL(); |
63 received_cancel_ = false; | 55 received_cancel_ = false; |
64 } | 56 } |
65 | 57 |
66 bool received_truncate_; | 58 bool received_truncate_; |
67 FilePath received_truncate_path_; | 59 GURL received_truncate_path_; |
68 int64 received_truncate_offset_; | 60 int64 received_truncate_offset_; |
69 bool received_write_; | 61 bool received_write_; |
70 FilePath received_write_path_; | 62 GURL received_write_path_; |
71 GURL received_write_blob_url_; | 63 GURL received_write_blob_url_; |
72 int64 received_write_offset_; | 64 int64 received_write_offset_; |
73 bool received_cancel_; | 65 bool received_cancel_; |
74 | 66 |
75 protected: | 67 protected: |
76 virtual void DoTruncate(const FilePath& path, int64 offset) { | 68 virtual void DoTruncate(const GURL& path, int64 offset) { |
77 received_truncate_ = true; | 69 received_truncate_ = true; |
78 received_truncate_path_ = path; | 70 received_truncate_path_ = path; |
79 received_truncate_offset_ = offset; | 71 received_truncate_offset_ = offset; |
80 | 72 |
81 if (offset == kBasicFileTruncate_Offset) { | 73 if (offset == kBasicFileTruncate_Offset) { |
82 DidSucceed(); | 74 DidSucceed(); |
83 } else if (offset == kErrorFileTruncate_Offset) { | 75 } else if (offset == kErrorFileTruncate_Offset) { |
84 DidFail(base::PLATFORM_FILE_ERROR_NOT_FOUND); | 76 DidFail(base::PLATFORM_FILE_ERROR_NOT_FOUND); |
85 } else if (offset == kCancelFileTruncate_Offset) { | 77 } else if (offset == kCancelFileTruncate_Offset) { |
86 cancel(); | 78 cancel(); |
87 DidSucceed(); // truncate completion | 79 DidSucceed(); // truncate completion |
88 DidSucceed(); // cancel completion | 80 DidSucceed(); // cancel completion |
89 } else if (offset == kCancelFailedTruncate_Offset) { | 81 } else if (offset == kCancelFailedTruncate_Offset) { |
90 cancel(); | 82 cancel(); |
91 DidFail(base::PLATFORM_FILE_ERROR_NOT_FOUND); // truncate completion | 83 DidFail(base::PLATFORM_FILE_ERROR_NOT_FOUND); // truncate completion |
92 DidSucceed(); // cancel completion | 84 DidSucceed(); // cancel completion |
93 } else { | 85 } else { |
94 FAIL(); | 86 FAIL(); |
95 } | 87 } |
96 } | 88 } |
97 | 89 |
98 virtual void DoWrite(const FilePath& path, const GURL& blob_url, | 90 virtual void DoWrite(const GURL& path, const GURL& blob_url, |
99 int64 offset) { | 91 int64 offset) { |
100 received_write_ = true; | 92 received_write_ = true; |
101 received_write_path_ = path; | 93 received_write_path_ = path; |
102 received_write_offset_ = offset; | 94 received_write_offset_ = offset; |
103 received_write_blob_url_ = blob_url; | 95 received_write_blob_url_ = blob_url; |
104 | 96 |
105 if (offset == kBasicFileWrite_Offset) { | 97 if (offset == kBasicFileWrite_Offset) { |
106 DidWrite(1, true); | 98 DidWrite(1, true); |
107 } else if (offset == kErrorFileWrite_Offset) { | 99 } else if (offset == kErrorFileWrite_Offset) { |
108 DidFail(base::PLATFORM_FILE_ERROR_NOT_FOUND); | 100 DidFail(base::PLATFORM_FILE_ERROR_NOT_FOUND); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 DISALLOW_COPY_AND_ASSIGN(FileWriterTest); | 190 DISALLOW_COPY_AND_ASSIGN(FileWriterTest); |
199 }; | 191 }; |
200 | 192 |
201 TEST_F(FileWriterTest, BasicFileWrite) { | 193 TEST_F(FileWriterTest, BasicFileWrite) { |
202 // Call the webkit facing api. | 194 // Call the webkit facing api. |
203 const GURL kBlobUrl("blob://bloburl/"); | 195 const GURL kBlobUrl("blob://bloburl/"); |
204 writer()->write(kBasicFileWrite_Offset, kBlobUrl); | 196 writer()->write(kBasicFileWrite_Offset, kBlobUrl); |
205 | 197 |
206 // Check that the derived class gets called correctly. | 198 // Check that the derived class gets called correctly. |
207 EXPECT_TRUE(testable_writer_->received_write_); | 199 EXPECT_TRUE(testable_writer_->received_write_); |
208 EXPECT_EQ(testable_writer_->received_write_path_.value(), | 200 EXPECT_EQ(testable_writer_->received_write_path_, |
209 mock_path_as_file_path().value()); | 201 mock_path_as_gurl()); |
210 EXPECT_EQ(kBasicFileWrite_Offset, | 202 EXPECT_EQ(kBasicFileWrite_Offset, |
211 testable_writer_->received_write_offset_); | 203 testable_writer_->received_write_offset_); |
212 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); | 204 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); |
213 EXPECT_FALSE(testable_writer_->received_truncate_); | 205 EXPECT_FALSE(testable_writer_->received_truncate_); |
214 EXPECT_FALSE(testable_writer_->received_cancel_); | 206 EXPECT_FALSE(testable_writer_->received_cancel_); |
215 | 207 |
216 // Check that the client gets called correctly. | 208 // Check that the client gets called correctly. |
217 EXPECT_EQ(1, received_did_write_count_); | 209 EXPECT_EQ(1, received_did_write_count_); |
218 EXPECT_TRUE(received_did_write_complete_); | 210 EXPECT_TRUE(received_did_write_complete_); |
219 EXPECT_EQ(1, received_did_write_bytes_total_); | 211 EXPECT_EQ(1, received_did_write_bytes_total_); |
220 EXPECT_FALSE(received_did_truncate_); | 212 EXPECT_FALSE(received_did_truncate_); |
221 EXPECT_FALSE(received_did_fail_); | 213 EXPECT_FALSE(received_did_fail_); |
222 } | 214 } |
223 | 215 |
224 TEST_F(FileWriterTest, BasicFileTruncate) { | 216 TEST_F(FileWriterTest, BasicFileTruncate) { |
225 // Call the webkit facing api. | 217 // Call the webkit facing api. |
226 writer()->truncate(kBasicFileTruncate_Offset); | 218 writer()->truncate(kBasicFileTruncate_Offset); |
227 | 219 |
228 // Check that the derived class gets called correctly. | 220 // Check that the derived class gets called correctly. |
229 EXPECT_TRUE(testable_writer_->received_truncate_); | 221 EXPECT_TRUE(testable_writer_->received_truncate_); |
230 EXPECT_EQ(mock_path_as_file_path().value(), | 222 EXPECT_EQ(mock_path_as_gurl(), |
231 testable_writer_->received_truncate_path_.value()); | 223 testable_writer_->received_truncate_path_); |
232 EXPECT_EQ(kBasicFileTruncate_Offset, | 224 EXPECT_EQ(kBasicFileTruncate_Offset, |
233 testable_writer_->received_truncate_offset_); | 225 testable_writer_->received_truncate_offset_); |
234 EXPECT_FALSE(testable_writer_->received_write_); | 226 EXPECT_FALSE(testable_writer_->received_write_); |
235 EXPECT_FALSE(testable_writer_->received_cancel_); | 227 EXPECT_FALSE(testable_writer_->received_cancel_); |
236 | 228 |
237 // Check that the client gets called correctly. | 229 // Check that the client gets called correctly. |
238 EXPECT_TRUE(received_did_truncate_); | 230 EXPECT_TRUE(received_did_truncate_); |
239 EXPECT_EQ(0, received_did_write_count_); | 231 EXPECT_EQ(0, received_did_write_count_); |
240 EXPECT_FALSE(received_did_fail_); | 232 EXPECT_FALSE(received_did_fail_); |
241 } | 233 } |
242 | 234 |
243 TEST_F(FileWriterTest, ErrorFileWrite) { | 235 TEST_F(FileWriterTest, ErrorFileWrite) { |
244 // Call the webkit facing api. | 236 // Call the webkit facing api. |
245 const GURL kBlobUrl("blob://bloburl/"); | 237 const GURL kBlobUrl("blob://bloburl/"); |
246 writer()->write(kErrorFileWrite_Offset, kBlobUrl); | 238 writer()->write(kErrorFileWrite_Offset, kBlobUrl); |
247 | 239 |
248 // Check that the derived class gets called correctly. | 240 // Check that the derived class gets called correctly. |
249 EXPECT_TRUE(testable_writer_->received_write_); | 241 EXPECT_TRUE(testable_writer_->received_write_); |
250 EXPECT_EQ(testable_writer_->received_write_path_.value(), | 242 EXPECT_EQ(testable_writer_->received_write_path_, |
251 mock_path_as_file_path().value()); | 243 mock_path_as_gurl()); |
252 EXPECT_EQ(kErrorFileWrite_Offset, | 244 EXPECT_EQ(kErrorFileWrite_Offset, |
253 testable_writer_->received_write_offset_); | 245 testable_writer_->received_write_offset_); |
254 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); | 246 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); |
255 EXPECT_FALSE(testable_writer_->received_truncate_); | 247 EXPECT_FALSE(testable_writer_->received_truncate_); |
256 EXPECT_FALSE(testable_writer_->received_cancel_); | 248 EXPECT_FALSE(testable_writer_->received_cancel_); |
257 | 249 |
258 // Check that the client gets called correctly. | 250 // Check that the client gets called correctly. |
259 EXPECT_TRUE(received_did_fail_); | 251 EXPECT_TRUE(received_did_fail_); |
260 EXPECT_EQ(WebKit::WebFileErrorNotFound, fail_error_received_); | 252 EXPECT_EQ(WebKit::WebFileErrorNotFound, fail_error_received_); |
261 EXPECT_EQ(0, received_did_write_count_); | 253 EXPECT_EQ(0, received_did_write_count_); |
262 EXPECT_FALSE(received_did_truncate_); | 254 EXPECT_FALSE(received_did_truncate_); |
263 } | 255 } |
264 | 256 |
265 TEST_F(FileWriterTest, ErrorFileTruncate) { | 257 TEST_F(FileWriterTest, ErrorFileTruncate) { |
266 // Call the webkit facing api. | 258 // Call the webkit facing api. |
267 writer()->truncate(kErrorFileTruncate_Offset); | 259 writer()->truncate(kErrorFileTruncate_Offset); |
268 | 260 |
269 // Check that the derived class gets called correctly. | 261 // Check that the derived class gets called correctly. |
270 EXPECT_TRUE(testable_writer_->received_truncate_); | 262 EXPECT_TRUE(testable_writer_->received_truncate_); |
271 EXPECT_EQ(mock_path_as_file_path().value(), | 263 EXPECT_EQ(mock_path_as_gurl(), |
272 testable_writer_->received_truncate_path_.value()); | 264 testable_writer_->received_truncate_path_); |
273 EXPECT_EQ(kErrorFileTruncate_Offset, | 265 EXPECT_EQ(kErrorFileTruncate_Offset, |
274 testable_writer_->received_truncate_offset_); | 266 testable_writer_->received_truncate_offset_); |
275 EXPECT_FALSE(testable_writer_->received_write_); | 267 EXPECT_FALSE(testable_writer_->received_write_); |
276 EXPECT_FALSE(testable_writer_->received_cancel_); | 268 EXPECT_FALSE(testable_writer_->received_cancel_); |
277 | 269 |
278 // Check that the client gets called correctly. | 270 // Check that the client gets called correctly. |
279 EXPECT_TRUE(received_did_fail_); | 271 EXPECT_TRUE(received_did_fail_); |
280 EXPECT_EQ(WebKit::WebFileErrorNotFound, fail_error_received_); | 272 EXPECT_EQ(WebKit::WebFileErrorNotFound, fail_error_received_); |
281 EXPECT_FALSE(received_did_truncate_); | 273 EXPECT_FALSE(received_did_truncate_); |
282 EXPECT_EQ(0, received_did_write_count_); | 274 EXPECT_EQ(0, received_did_write_count_); |
283 } | 275 } |
284 | 276 |
285 TEST_F(FileWriterTest, MultiFileWrite) { | 277 TEST_F(FileWriterTest, MultiFileWrite) { |
286 // Call the webkit facing api. | 278 // Call the webkit facing api. |
287 const GURL kBlobUrl("blob://bloburl/"); | 279 const GURL kBlobUrl("blob://bloburl/"); |
288 writer()->write(kMultiFileWrite_Offset, kBlobUrl); | 280 writer()->write(kMultiFileWrite_Offset, kBlobUrl); |
289 | 281 |
290 // Check that the derived class gets called correctly. | 282 // Check that the derived class gets called correctly. |
291 EXPECT_TRUE(testable_writer_->received_write_); | 283 EXPECT_TRUE(testable_writer_->received_write_); |
292 EXPECT_EQ(testable_writer_->received_write_path_.value(), | 284 EXPECT_EQ(testable_writer_->received_write_path_, |
293 mock_path_as_file_path().value()); | 285 mock_path_as_gurl()); |
294 EXPECT_EQ(kMultiFileWrite_Offset, | 286 EXPECT_EQ(kMultiFileWrite_Offset, |
295 testable_writer_->received_write_offset_); | 287 testable_writer_->received_write_offset_); |
296 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); | 288 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); |
297 EXPECT_FALSE(testable_writer_->received_truncate_); | 289 EXPECT_FALSE(testable_writer_->received_truncate_); |
298 EXPECT_FALSE(testable_writer_->received_cancel_); | 290 EXPECT_FALSE(testable_writer_->received_cancel_); |
299 | 291 |
300 // Check that the client gets called correctly. | 292 // Check that the client gets called correctly. |
301 EXPECT_EQ(3, received_did_write_count_); | 293 EXPECT_EQ(3, received_did_write_count_); |
302 EXPECT_TRUE(received_did_write_complete_); | 294 EXPECT_TRUE(received_did_write_complete_); |
303 EXPECT_EQ(3, received_did_write_bytes_total_); | 295 EXPECT_EQ(3, received_did_write_bytes_total_); |
304 EXPECT_FALSE(received_did_truncate_); | 296 EXPECT_FALSE(received_did_truncate_); |
305 EXPECT_FALSE(received_did_fail_); | 297 EXPECT_FALSE(received_did_fail_); |
306 } | 298 } |
307 | 299 |
308 TEST_F(FileWriterTest, CancelFileWriteBeforeCompletion) { | 300 TEST_F(FileWriterTest, CancelFileWriteBeforeCompletion) { |
309 // Call the webkit facing api. | 301 // Call the webkit facing api. |
310 const GURL kBlobUrl("blob://bloburl/"); | 302 const GURL kBlobUrl("blob://bloburl/"); |
311 writer()->write(kCancelFileWriteBeforeCompletion_Offset, kBlobUrl); | 303 writer()->write(kCancelFileWriteBeforeCompletion_Offset, kBlobUrl); |
312 | 304 |
313 // Check that the derived class gets called correctly. | 305 // Check that the derived class gets called correctly. |
314 EXPECT_TRUE(testable_writer_->received_write_); | 306 EXPECT_TRUE(testable_writer_->received_write_); |
315 EXPECT_EQ(testable_writer_->received_write_path_.value(), | 307 EXPECT_EQ(testable_writer_->received_write_path_, |
316 mock_path_as_file_path().value()); | 308 mock_path_as_gurl()); |
317 EXPECT_EQ(kCancelFileWriteBeforeCompletion_Offset, | 309 EXPECT_EQ(kCancelFileWriteBeforeCompletion_Offset, |
318 testable_writer_->received_write_offset_); | 310 testable_writer_->received_write_offset_); |
319 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); | 311 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); |
320 EXPECT_TRUE(testable_writer_->received_cancel_); | 312 EXPECT_TRUE(testable_writer_->received_cancel_); |
321 EXPECT_FALSE(testable_writer_->received_truncate_); | 313 EXPECT_FALSE(testable_writer_->received_truncate_); |
322 | 314 |
323 // Check that the client gets called correctly. | 315 // Check that the client gets called correctly. |
324 EXPECT_TRUE(received_did_fail_); | 316 EXPECT_TRUE(received_did_fail_); |
325 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_); | 317 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_); |
326 EXPECT_EQ(1, received_did_write_count_); | 318 EXPECT_EQ(1, received_did_write_count_); |
327 EXPECT_FALSE(received_did_write_complete_); | 319 EXPECT_FALSE(received_did_write_complete_); |
328 EXPECT_EQ(1, received_did_write_bytes_total_); | 320 EXPECT_EQ(1, received_did_write_bytes_total_); |
329 EXPECT_FALSE(received_did_truncate_); | 321 EXPECT_FALSE(received_did_truncate_); |
330 } | 322 } |
331 | 323 |
332 TEST_F(FileWriterTest, CancelFileWriteAfterCompletion) { | 324 TEST_F(FileWriterTest, CancelFileWriteAfterCompletion) { |
333 // Call the webkit facing api. | 325 // Call the webkit facing api. |
334 const GURL kBlobUrl("blob://bloburl/"); | 326 const GURL kBlobUrl("blob://bloburl/"); |
335 writer()->write(kCancelFileWriteAfterCompletion_Offset, kBlobUrl); | 327 writer()->write(kCancelFileWriteAfterCompletion_Offset, kBlobUrl); |
336 | 328 |
337 // Check that the derived class gets called correctly. | 329 // Check that the derived class gets called correctly. |
338 EXPECT_TRUE(testable_writer_->received_write_); | 330 EXPECT_TRUE(testable_writer_->received_write_); |
339 EXPECT_EQ(testable_writer_->received_write_path_.value(), | 331 EXPECT_EQ(testable_writer_->received_write_path_, |
340 mock_path_as_file_path().value()); | 332 mock_path_as_gurl()); |
341 EXPECT_EQ(kCancelFileWriteAfterCompletion_Offset, | 333 EXPECT_EQ(kCancelFileWriteAfterCompletion_Offset, |
342 testable_writer_->received_write_offset_); | 334 testable_writer_->received_write_offset_); |
343 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); | 335 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); |
344 EXPECT_TRUE(testable_writer_->received_cancel_); | 336 EXPECT_TRUE(testable_writer_->received_cancel_); |
345 EXPECT_FALSE(testable_writer_->received_truncate_); | 337 EXPECT_FALSE(testable_writer_->received_truncate_); |
346 | 338 |
347 // Check that the client gets called correctly. | 339 // Check that the client gets called correctly. |
348 EXPECT_TRUE(received_did_fail_); | 340 EXPECT_TRUE(received_did_fail_); |
349 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_); | 341 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_); |
350 EXPECT_EQ(1, received_did_write_count_); | 342 EXPECT_EQ(1, received_did_write_count_); |
351 EXPECT_FALSE(received_did_write_complete_); | 343 EXPECT_FALSE(received_did_write_complete_); |
352 EXPECT_EQ(1, received_did_write_bytes_total_); | 344 EXPECT_EQ(1, received_did_write_bytes_total_); |
353 EXPECT_FALSE(received_did_truncate_); | 345 EXPECT_FALSE(received_did_truncate_); |
354 } | 346 } |
355 | 347 |
356 TEST_F(FileWriterTest, CancelFileTruncate) { | 348 TEST_F(FileWriterTest, CancelFileTruncate) { |
357 // Call the webkit facing api. | 349 // Call the webkit facing api. |
358 writer()->truncate(kCancelFileTruncate_Offset); | 350 writer()->truncate(kCancelFileTruncate_Offset); |
359 | 351 |
360 // Check that the derived class gets called correctly. | 352 // Check that the derived class gets called correctly. |
361 EXPECT_TRUE(testable_writer_->received_truncate_); | 353 EXPECT_TRUE(testable_writer_->received_truncate_); |
362 EXPECT_EQ(mock_path_as_file_path().value(), | 354 EXPECT_EQ(mock_path_as_gurl(), |
363 testable_writer_->received_truncate_path_.value()); | 355 testable_writer_->received_truncate_path_); |
364 EXPECT_EQ(kCancelFileTruncate_Offset, | 356 EXPECT_EQ(kCancelFileTruncate_Offset, |
365 testable_writer_->received_truncate_offset_); | 357 testable_writer_->received_truncate_offset_); |
366 EXPECT_TRUE(testable_writer_->received_cancel_); | 358 EXPECT_TRUE(testable_writer_->received_cancel_); |
367 EXPECT_FALSE(testable_writer_->received_write_); | 359 EXPECT_FALSE(testable_writer_->received_write_); |
368 | 360 |
369 // Check that the client gets called correctly. | 361 // Check that the client gets called correctly. |
370 EXPECT_TRUE(received_did_fail_); | 362 EXPECT_TRUE(received_did_fail_); |
371 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_); | 363 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_); |
372 EXPECT_FALSE(received_did_truncate_); | 364 EXPECT_FALSE(received_did_truncate_); |
373 EXPECT_EQ(0, received_did_write_count_); | 365 EXPECT_EQ(0, received_did_write_count_); |
374 } | 366 } |
375 | 367 |
376 TEST_F(FileWriterTest, CancelFailedTruncate) { | 368 TEST_F(FileWriterTest, CancelFailedTruncate) { |
377 // Call the webkit facing api. | 369 // Call the webkit facing api. |
378 writer()->truncate(kCancelFailedTruncate_Offset); | 370 writer()->truncate(kCancelFailedTruncate_Offset); |
379 | 371 |
380 // Check that the derived class gets called correctly. | 372 // Check that the derived class gets called correctly. |
381 EXPECT_TRUE(testable_writer_->received_truncate_); | 373 EXPECT_TRUE(testable_writer_->received_truncate_); |
382 EXPECT_EQ(mock_path_as_file_path().value(), | 374 EXPECT_EQ(mock_path_as_gurl(), |
383 testable_writer_->received_truncate_path_.value()); | 375 testable_writer_->received_truncate_path_); |
384 EXPECT_EQ(kCancelFailedTruncate_Offset, | 376 EXPECT_EQ(kCancelFailedTruncate_Offset, |
385 testable_writer_->received_truncate_offset_); | 377 testable_writer_->received_truncate_offset_); |
386 EXPECT_TRUE(testable_writer_->received_cancel_); | 378 EXPECT_TRUE(testable_writer_->received_cancel_); |
387 EXPECT_FALSE(testable_writer_->received_write_); | 379 EXPECT_FALSE(testable_writer_->received_write_); |
388 | 380 |
389 // Check that the client gets called correctly. | 381 // Check that the client gets called correctly. |
390 EXPECT_TRUE(received_did_fail_); | 382 EXPECT_TRUE(received_did_fail_); |
391 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_); | 383 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_); |
392 EXPECT_FALSE(received_did_truncate_); | 384 EXPECT_FALSE(received_did_truncate_); |
393 EXPECT_EQ(0, received_did_write_count_); | 385 EXPECT_EQ(0, received_did_write_count_); |
(...skipping 16 matching lines...) Expand all Loading... |
410 | 402 |
411 reset(); | 403 reset(); |
412 delete_in_client_callback_ = true; | 404 delete_in_client_callback_ = true; |
413 writer()->truncate(kErrorFileTruncate_Offset); | 405 writer()->truncate(kErrorFileTruncate_Offset); |
414 EXPECT_FALSE(testable_writer_.get()); | 406 EXPECT_FALSE(testable_writer_.get()); |
415 | 407 |
416 // Not crashing counts as passing. | 408 // Not crashing counts as passing. |
417 } | 409 } |
418 | 410 |
419 } // namespace fileapi | 411 } // namespace fileapi |
OLD | NEW |