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

Side by Side Diff: chrome/browser/chromeos/file_system_provider/operations/read_directory_unittest.cc

Issue 1432403003: Do not call stat() when reading directories via File API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Whitespace cleanup. Created 5 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/file_system_provider/operations/read_directory .h" 5 #include "chrome/browser/chromeos/file_system_provider/operations/read_directory .h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/files/file.h" 9 #include "base/files/file.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 // As for now, it is impossible to create *::Params class directly, not from 179 // As for now, it is impossible to create *::Params class directly, not from
180 // base::Value. 180 // base::Value.
181 const std::string input = 181 const std::string input =
182 "[\n" 182 "[\n"
183 " \"testing-file-system\",\n" // kFileSystemId 183 " \"testing-file-system\",\n" // kFileSystemId
184 " 2,\n" // kRequestId 184 " 2,\n" // kRequestId
185 " [\n" 185 " [\n"
186 " {\n" 186 " {\n"
187 " \"isDirectory\": false,\n" 187 " \"isDirectory\": false,\n"
188 " \"name\": \"blueberries.txt\",\n" 188 " \"name\": \"blueberries.txt\",\n"
189 " \"size\": 4096,\n"
190 " \"modificationTime\": {\n"
191 " \"value\": \"Thu Apr 24 00:46:52 UTC 2014\"\n"
192 " }\n" 189 " }\n"
193 " }\n" 190 " }\n"
194 " ],\n" 191 " ],\n"
195 " false,\n" // has_more 192 " false,\n" // has_more
196 " 0\n" // execution_time 193 " 0\n" // execution_time
197 "]\n"; 194 "]\n";
198 scoped_ptr<RequestValue> request_value; 195 scoped_ptr<RequestValue> request_value;
199 ASSERT_NO_FATAL_FAILURE(CreateRequestValueFromJSON(input, &request_value)); 196 ASSERT_NO_FATAL_FAILURE(CreateRequestValueFromJSON(input, &request_value));
200 197
201 const bool has_more = false; 198 const bool has_more = false;
202 read_directory.OnSuccess(kRequestId, request_value.Pass(), has_more); 199 read_directory.OnSuccess(kRequestId, request_value.Pass(), has_more);
203 200
204 ASSERT_EQ(1u, callback_logger.events().size()); 201 ASSERT_EQ(1u, callback_logger.events().size());
205 CallbackLogger::Event* event = callback_logger.events()[0]; 202 CallbackLogger::Event* event = callback_logger.events()[0];
206 EXPECT_EQ(base::File::FILE_OK, event->result()); 203 EXPECT_EQ(base::File::FILE_OK, event->result());
207 204
208 ASSERT_EQ(1u, event->entry_list().size()); 205 ASSERT_EQ(1u, event->entry_list().size());
209 const storage::DirectoryEntry entry = event->entry_list()[0]; 206 const storage::DirectoryEntry entry = event->entry_list()[0];
210 EXPECT_FALSE(entry.is_directory); 207 EXPECT_FALSE(entry.is_directory);
211 EXPECT_EQ("blueberries.txt", entry.name); 208 EXPECT_EQ("blueberries.txt", entry.name);
212 EXPECT_EQ(4096, entry.size);
213 base::Time expected_time;
214 EXPECT_TRUE(
215 base::Time::FromString("Thu Apr 24 00:46:52 UTC 2014", &expected_time));
216 EXPECT_EQ(expected_time, entry.last_modified_time);
217 } 209 }
218 210
219 TEST_F(FileSystemProviderOperationsReadDirectoryTest, 211 TEST_F(FileSystemProviderOperationsReadDirectoryTest,
220 OnSuccess_InvalidMetadata) { 212 OnSuccess_InvalidMetadata) {
221 util::LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */); 213 util::LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
222 CallbackLogger callback_logger; 214 CallbackLogger callback_logger;
223 215
224 ReadDirectory read_directory(NULL, file_system_info_, 216 ReadDirectory read_directory(NULL, file_system_info_,
225 base::FilePath(kDirectoryPath), 217 base::FilePath(kDirectoryPath),
226 base::Bind(&CallbackLogger::OnReadDirectory, 218 base::Bind(&CallbackLogger::OnReadDirectory,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 276
285 ASSERT_EQ(1u, callback_logger.events().size()); 277 ASSERT_EQ(1u, callback_logger.events().size());
286 CallbackLogger::Event* event = callback_logger.events()[0]; 278 CallbackLogger::Event* event = callback_logger.events()[0];
287 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, event->result()); 279 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, event->result());
288 ASSERT_EQ(0u, event->entry_list().size()); 280 ASSERT_EQ(0u, event->entry_list().size());
289 } 281 }
290 282
291 } // namespace operations 283 } // namespace operations
292 } // namespace file_system_provider 284 } // namespace file_system_provider
293 } // namespace chromeos 285 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698