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 "third_party/zlib/google/zip_reader.h" | 5 #include "third_party/zlib/google/zip_reader.h" |
6 | 6 |
| 7 #include <stddef.h> |
| 8 #include <stdint.h> |
| 9 #include <string.h> |
| 10 |
7 #include <set> | 11 #include <set> |
8 #include <string> | 12 #include <string> |
9 | 13 |
10 #include "base/bind.h" | 14 #include "base/bind.h" |
11 #include "base/files/file.h" | 15 #include "base/files/file.h" |
12 #include "base/files/file_util.h" | 16 #include "base/files/file_util.h" |
13 #include "base/files/scoped_temp_dir.h" | 17 #include "base/files/scoped_temp_dir.h" |
14 #include "base/logging.h" | 18 #include "base/logging.h" |
| 19 #include "base/macros.h" |
15 #include "base/md5.h" | 20 #include "base/md5.h" |
16 #include "base/path_service.h" | 21 #include "base/path_service.h" |
17 #include "base/run_loop.h" | 22 #include "base/run_loop.h" |
18 #include "base/strings/stringprintf.h" | 23 #include "base/strings/stringprintf.h" |
19 #include "base/strings/utf_string_conversions.h" | 24 #include "base/strings/utf_string_conversions.h" |
20 #include "base/time/time.h" | 25 #include "base/time/time.h" |
21 #include "testing/gmock/include/gmock/gmock.h" | 26 #include "testing/gmock/include/gmock/gmock.h" |
22 #include "testing/gtest/include/gtest/gtest.h" | 27 #include "testing/gtest/include/gtest/gtest.h" |
23 #include "testing/platform_test.h" | 28 #include "testing/platform_test.h" |
24 #include "third_party/zlib/google/zip_internal.h" | 29 #include "third_party/zlib/google/zip_internal.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 void OnUnzipSuccess() { | 78 void OnUnzipSuccess() { |
74 success_calls_++; | 79 success_calls_++; |
75 } | 80 } |
76 | 81 |
77 // Failure callback for async functions. | 82 // Failure callback for async functions. |
78 void OnUnzipFailure() { | 83 void OnUnzipFailure() { |
79 failure_calls_++; | 84 failure_calls_++; |
80 } | 85 } |
81 | 86 |
82 // Progress callback for async functions. | 87 // Progress callback for async functions. |
83 void OnUnzipProgress(int64 progress) { | 88 void OnUnzipProgress(int64_t progress) { |
84 DCHECK(progress > current_progress_); | 89 DCHECK(progress > current_progress_); |
85 progress_calls_++; | 90 progress_calls_++; |
86 current_progress_ = progress; | 91 current_progress_ = progress; |
87 } | 92 } |
88 | 93 |
89 int success_calls() { return success_calls_; } | 94 int success_calls() { return success_calls_; } |
90 int failure_calls() { return failure_calls_; } | 95 int failure_calls() { return failure_calls_; } |
91 int progress_calls() { return progress_calls_; } | 96 int progress_calls() { return progress_calls_; } |
92 int current_progress() { return current_progress_; } | 97 int current_progress() { return current_progress_; } |
93 | 98 |
94 private: | 99 private: |
95 int success_calls_; | 100 int success_calls_; |
96 int failure_calls_; | 101 int failure_calls_; |
97 int progress_calls_; | 102 int progress_calls_; |
98 | 103 |
99 int64 current_progress_; | 104 int64_t current_progress_; |
100 }; | 105 }; |
101 | 106 |
102 class MockWriterDelegate : public zip::WriterDelegate { | 107 class MockWriterDelegate : public zip::WriterDelegate { |
103 public: | 108 public: |
104 MOCK_METHOD0(PrepareOutput, bool()); | 109 MOCK_METHOD0(PrepareOutput, bool()); |
105 MOCK_METHOD2(WriteBytes, bool(const char*, int)); | 110 MOCK_METHOD2(WriteBytes, bool(const char*, int)); |
106 }; | 111 }; |
107 | 112 |
108 } // namespace | 113 } // namespace |
109 | 114 |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 EXPECT_EQ(1, listener.success_calls()); | 505 EXPECT_EQ(1, listener.success_calls()); |
501 EXPECT_EQ(0, listener.failure_calls()); | 506 EXPECT_EQ(0, listener.failure_calls()); |
502 EXPECT_LE(1, listener.progress_calls()); | 507 EXPECT_LE(1, listener.progress_calls()); |
503 | 508 |
504 std::string output; | 509 std::string output; |
505 ASSERT_TRUE(base::ReadFileToString(test_dir_.AppendASCII("quux.txt"), | 510 ASSERT_TRUE(base::ReadFileToString(test_dir_.AppendASCII("quux.txt"), |
506 &output)); | 511 &output)); |
507 const std::string md5 = base::MD5String(output); | 512 const std::string md5 = base::MD5String(output); |
508 EXPECT_EQ(kQuuxExpectedMD5, md5); | 513 EXPECT_EQ(kQuuxExpectedMD5, md5); |
509 | 514 |
510 int64 file_size = 0; | 515 int64_t file_size = 0; |
511 ASSERT_TRUE(base::GetFileSize(target_file, &file_size)); | 516 ASSERT_TRUE(base::GetFileSize(target_file, &file_size)); |
512 | 517 |
513 EXPECT_EQ(file_size, listener.current_progress()); | 518 EXPECT_EQ(file_size, listener.current_progress()); |
514 } | 519 } |
515 | 520 |
516 // Verifies that the asynchronous extraction to a file works. | 521 // Verifies that the asynchronous extraction to a file works. |
517 TEST_F(ZipReaderTest, ExtractToFileAsync_Directory) { | 522 TEST_F(ZipReaderTest, ExtractToFileAsync_Directory) { |
518 MockUnzipListener listener; | 523 MockUnzipListener listener; |
519 | 524 |
520 ZipReader reader; | 525 ZipReader reader; |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
678 ASSERT_TRUE(writer.PrepareOutput()); | 683 ASSERT_TRUE(writer.PrepareOutput()); |
679 ASSERT_TRUE(writer.WriteBytes(kSomeData, kSomeDataLen)); | 684 ASSERT_TRUE(writer.WriteBytes(kSomeData, kSomeDataLen)); |
680 } | 685 } |
681 ASSERT_EQ(kSomeDataLen, file_.GetLength()); | 686 ASSERT_EQ(kSomeDataLen, file_.GetLength()); |
682 char buf[kSomeDataLen] = {}; | 687 char buf[kSomeDataLen] = {}; |
683 ASSERT_EQ(kSomeDataLen, file_.Read(0LL, buf, kSomeDataLen)); | 688 ASSERT_EQ(kSomeDataLen, file_.Read(0LL, buf, kSomeDataLen)); |
684 ASSERT_EQ(std::string(kSomeData), std::string(buf, kSomeDataLen)); | 689 ASSERT_EQ(std::string(kSomeData), std::string(buf, kSomeDataLen)); |
685 } | 690 } |
686 | 691 |
687 } // namespace zip | 692 } // namespace zip |
OLD | NEW |