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

Side by Side Diff: chrome/browser/chromeos/drive/fake_file_system_unittest.cc

Issue 214363002: drive: Return cancel closure from FileSystem::GetFileContent (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
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 "chrome/browser/chromeos/drive/fake_file_system.h" 5 #include "chrome/browser/chromeos/drive/fake_file_system.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "chrome/browser/chromeos/drive/file_system_util.h" 9 #include "chrome/browser/chromeos/drive/file_system_util.h"
10 #include "chrome/browser/drive/fake_drive_service.h" 10 #include "chrome/browser/drive/fake_drive_service.h"
(...skipping 20 matching lines...) Expand all
31 31
32 content::TestBrowserThreadBundle thread_bundle_; 32 content::TestBrowserThreadBundle thread_bundle_;
33 scoped_ptr<FakeDriveService> fake_drive_service_; 33 scoped_ptr<FakeDriveService> fake_drive_service_;
34 scoped_ptr<FakeFileSystem> fake_file_system_; 34 scoped_ptr<FakeFileSystem> fake_file_system_;
35 }; 35 };
36 36
37 TEST_F(FakeFileSystemTest, GetFileContent) { 37 TEST_F(FakeFileSystemTest, GetFileContent) {
38 FileError initialize_error = FILE_ERROR_FAILED; 38 FileError initialize_error = FILE_ERROR_FAILED;
39 scoped_ptr<ResourceEntry> entry; 39 scoped_ptr<ResourceEntry> entry;
40 base::FilePath cache_file_path; 40 base::FilePath cache_file_path;
41 base::Closure cancel_download;
42 google_apis::test_util::TestGetContentCallback get_content_callback; 41 google_apis::test_util::TestGetContentCallback get_content_callback;
43 FileError completion_error = FILE_ERROR_FAILED; 42 FileError completion_error = FILE_ERROR_FAILED;
44 43
45 const base::FilePath kDriveFile = 44 const base::FilePath kDriveFile =
46 util::GetDriveMyDriveRootPath().AppendASCII("File 1.txt"); 45 util::GetDriveMyDriveRootPath().AppendASCII("File 1.txt");
47 46
48 // For the first time, the file should be downloaded from the service. 47 // For the first time, the file should be downloaded from the service.
49 fake_file_system_->GetFileContent( 48 base::Closure cancel_download = fake_file_system_->GetFileContent(
50 kDriveFile, 49 kDriveFile,
51 google_apis::test_util::CreateCopyResultCallback( 50 google_apis::test_util::CreateCopyResultCallback(
52 &initialize_error, &entry, &cache_file_path, &cancel_download), 51 &initialize_error, &cache_file_path, &entry),
53 get_content_callback.callback(), 52 get_content_callback.callback(),
54 google_apis::test_util::CreateCopyResultCallback(&completion_error)); 53 google_apis::test_util::CreateCopyResultCallback(&completion_error));
55 base::RunLoop().RunUntilIdle(); 54 base::RunLoop().RunUntilIdle();
56 55
57 EXPECT_EQ(FILE_ERROR_OK, initialize_error); 56 EXPECT_EQ(FILE_ERROR_OK, initialize_error);
58 EXPECT_TRUE(entry); 57 EXPECT_TRUE(entry);
59 58
60 // No cache file is available yet. 59 // No cache file is available yet.
61 EXPECT_TRUE(cache_file_path.empty()); 60 EXPECT_TRUE(cache_file_path.empty());
62 61
63 // The download should be happened so the |get_content_callback| 62 // The download should be happened so the |get_content_callback|
64 // should have the actual data. 63 // should have the actual data.
65 std::string content = get_content_callback.GetConcatenatedData(); 64 std::string content = get_content_callback.GetConcatenatedData();
66 EXPECT_EQ(26U, content.size()); 65 EXPECT_EQ(26U, content.size());
67 EXPECT_EQ(FILE_ERROR_OK, completion_error); 66 EXPECT_EQ(FILE_ERROR_OK, completion_error);
68 67
69 initialize_error = FILE_ERROR_FAILED; 68 initialize_error = FILE_ERROR_FAILED;
70 entry.reset(); 69 entry.reset();
71 get_content_callback.mutable_data()->clear(); 70 get_content_callback.mutable_data()->clear();
72 completion_error = FILE_ERROR_FAILED; 71 completion_error = FILE_ERROR_FAILED;
73 72
74 // For the second time, the cache file should be found. 73 // For the second time, the cache file should be found.
75 fake_file_system_->GetFileContent( 74 cancel_download = fake_file_system_->GetFileContent(
76 kDriveFile, 75 kDriveFile,
77 google_apis::test_util::CreateCopyResultCallback( 76 google_apis::test_util::CreateCopyResultCallback(
78 &initialize_error, &entry, &cache_file_path, &cancel_download), 77 &initialize_error, &cache_file_path, &entry),
79 get_content_callback.callback(), 78 get_content_callback.callback(),
80 google_apis::test_util::CreateCopyResultCallback(&completion_error)); 79 google_apis::test_util::CreateCopyResultCallback(&completion_error));
81 base::RunLoop().RunUntilIdle(); 80 base::RunLoop().RunUntilIdle();
82 81
83 EXPECT_EQ(FILE_ERROR_OK, initialize_error); 82 EXPECT_EQ(FILE_ERROR_OK, initialize_error);
84 EXPECT_TRUE(entry); 83 EXPECT_TRUE(entry);
85 84
86 // Cache file should be available. 85 // Cache file should be available.
87 ASSERT_FALSE(cache_file_path.empty()); 86 ASSERT_FALSE(cache_file_path.empty());
88 87
89 // There should be a cache file so no data should be downloaded. 88 // There should be a cache file so no data should be downloaded.
90 EXPECT_TRUE(get_content_callback.data().empty()); 89 EXPECT_TRUE(get_content_callback.data().empty());
91 EXPECT_EQ(FILE_ERROR_OK, completion_error); 90 EXPECT_EQ(FILE_ERROR_OK, completion_error);
92 91
93 // Make sure the cached file's content. 92 // Make sure the cached file's content.
94 std::string cache_file_content; 93 std::string cache_file_content;
95 ASSERT_TRUE( 94 ASSERT_TRUE(
96 base::ReadFileToString(cache_file_path, &cache_file_content)); 95 base::ReadFileToString(cache_file_path, &cache_file_content));
97 EXPECT_EQ(content, cache_file_content); 96 EXPECT_EQ(content, cache_file_content);
98 } 97 }
99 98
100 TEST_F(FakeFileSystemTest, GetFileContent_Directory) { 99 TEST_F(FakeFileSystemTest, GetFileContent_Directory) {
101 FileError initialize_error = FILE_ERROR_FAILED; 100 FileError initialize_error = FILE_ERROR_FAILED;
102 scoped_ptr<ResourceEntry> entry; 101 scoped_ptr<ResourceEntry> entry;
103 base::FilePath cache_file_path; 102 base::FilePath cache_file_path;
104 google_apis::test_util::TestGetContentCallback get_content_callback; 103 google_apis::test_util::TestGetContentCallback get_content_callback;
105 FileError completion_error = FILE_ERROR_FAILED; 104 FileError completion_error = FILE_ERROR_FAILED;
106 base::Closure cancel_download; 105 base::Closure cancel_download = fake_file_system_->GetFileContent(
107
108 fake_file_system_->GetFileContent(
109 util::GetDriveMyDriveRootPath(), 106 util::GetDriveMyDriveRootPath(),
110 google_apis::test_util::CreateCopyResultCallback( 107 google_apis::test_util::CreateCopyResultCallback(
111 &initialize_error, &entry, &cache_file_path, &cancel_download), 108 &initialize_error, &cache_file_path, &entry),
112 get_content_callback.callback(), 109 get_content_callback.callback(),
113 google_apis::test_util::CreateCopyResultCallback(&completion_error)); 110 google_apis::test_util::CreateCopyResultCallback(&completion_error));
114 base::RunLoop().RunUntilIdle(); 111 base::RunLoop().RunUntilIdle();
115 112
116 EXPECT_EQ(FILE_ERROR_NOT_A_FILE, completion_error); 113 EXPECT_EQ(FILE_ERROR_NOT_A_FILE, completion_error);
117 } 114 }
118 115
119 TEST_F(FakeFileSystemTest, GetResourceEntry) { 116 TEST_F(FakeFileSystemTest, GetResourceEntry) {
120 FileError error = FILE_ERROR_FAILED; 117 FileError error = FILE_ERROR_FAILED;
121 scoped_ptr<ResourceEntry> entry; 118 scoped_ptr<ResourceEntry> entry;
(...skipping 30 matching lines...) Expand all
152 util::GetDriveMyDriveRootPath().AppendASCII("Invalid File Name"), 149 util::GetDriveMyDriveRootPath().AppendASCII("Invalid File Name"),
153 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); 150 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
154 base::RunLoop().RunUntilIdle(); 151 base::RunLoop().RunUntilIdle();
155 152
156 ASSERT_EQ(FILE_ERROR_NOT_FOUND, error); 153 ASSERT_EQ(FILE_ERROR_NOT_FOUND, error);
157 ASSERT_FALSE(entry); 154 ASSERT_FALSE(entry);
158 } 155 }
159 156
160 } // namespace test_util 157 } // namespace test_util
161 } // namespace drive 158 } // namespace drive
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698