Index: chrome/browser/chromeos/file_system_provider/operations/read_directory_unittest.cc |
diff --git a/chrome/browser/chromeos/file_system_provider/operations/get_metadata_unittest.cc b/chrome/browser/chromeos/file_system_provider/operations/read_directory_unittest.cc |
similarity index 60% |
copy from chrome/browser/chromeos/file_system_provider/operations/get_metadata_unittest.cc |
copy to chrome/browser/chromeos/file_system_provider/operations/read_directory_unittest.cc |
index 4b091ac3a0d97f680cc2b6bbd57eac8eeecc6cdb..1158ddf129118bba5ac6513a2352bf52579676f9 100644 |
--- a/chrome/browser/chromeos/file_system_provider/operations/get_metadata_unittest.cc |
+++ b/chrome/browser/chromeos/file_system_provider/operations/read_directory_unittest.cc |
@@ -9,7 +9,7 @@ |
#include "base/json/json_reader.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/memory/scoped_vector.h" |
-#include "chrome/browser/chromeos/file_system_provider/operations/get_metadata.h" |
+#include "chrome/browser/chromeos/file_system_provider/operations/read_directory.h" |
#include "chrome/common/extensions/api/file_system_provider.h" |
#include "chrome/common/extensions/api/file_system_provider_internal.h" |
#include "extensions/browser/event_router.h" |
@@ -53,16 +53,22 @@ class CallbackLogger { |
public: |
class Event { |
public: |
- Event(base::File::Error result, const base::File::Info& file_info) |
- : result_(result), file_info_(file_info) {} |
+ Event(base::File::Error result, |
+ const fileapi::AsyncFileUtil::EntryList& entry_list, |
+ bool has_more) |
+ : result_(result), entry_list_(entry_list), has_more_(has_more) {} |
virtual ~Event() {} |
base::File::Error result() { return result_; } |
- const base::File::Info& file_info() { return file_info_; } |
+ const fileapi::AsyncFileUtil::EntryList& entry_list() { |
+ return entry_list_; |
+ } |
+ bool has_more() { return has_more_; } |
private: |
base::File::Error result_; |
- base::File::Info file_info_; |
+ fileapi::AsyncFileUtil::EntryList entry_list_; |
+ bool has_more_; |
DISALLOW_COPY_AND_ASSIGN(Event); |
}; |
@@ -70,9 +76,10 @@ class CallbackLogger { |
CallbackLogger() : weak_ptr_factory_(this) {} |
virtual ~CallbackLogger() {} |
- void OnGetMetadata(base::File::Error result, |
- const base::File::Info& file_info) { |
- events_.push_back(new Event(result, file_info)); |
+ void OnReadDirectory(base::File::Error result, |
+ const fileapi::AsyncFileUtil::EntryList& entry_list, |
+ bool has_more) { |
+ events_.push_back(new Event(result, entry_list, has_more)); |
} |
ScopedVector<Event>& events() { return events_; } |
@@ -91,10 +98,10 @@ class CallbackLogger { |
} // namespace |
-class FileSystemProviderOperationsGetMetadataTest : public testing::Test { |
+class FileSystemProviderOperationsReadDirectoryTest : public testing::Test { |
protected: |
- FileSystemProviderOperationsGetMetadataTest() {} |
- virtual ~FileSystemProviderOperationsGetMetadataTest() {} |
+ FileSystemProviderOperationsReadDirectoryTest() {} |
+ virtual ~FileSystemProviderOperationsReadDirectoryTest() {} |
virtual void SetUp() OVERRIDE { |
file_system_info_ = |
@@ -107,26 +114,26 @@ class FileSystemProviderOperationsGetMetadataTest : public testing::Test { |
ProvidedFileSystemInfo file_system_info_; |
}; |
-TEST_F(FileSystemProviderOperationsGetMetadataTest, Execute) { |
+TEST_F(FileSystemProviderOperationsReadDirectoryTest, Execute) { |
LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */); |
CallbackLogger callback_logger; |
- GetMetadata get_metadata( |
- NULL, |
- file_system_info_, |
- base::FilePath::FromUTF8Unsafe(kDirectoryPath), |
- base::Bind(&CallbackLogger::OnGetMetadata, callback_logger.GetWeakPtr())); |
- get_metadata.SetDispatchEventImplForTesting( |
+ ReadDirectory read_directory(NULL, |
+ file_system_info_, |
+ base::FilePath::FromUTF8Unsafe(kDirectoryPath), |
+ base::Bind(&CallbackLogger::OnReadDirectory, |
+ callback_logger.GetWeakPtr())); |
+ read_directory.SetDispatchEventImplForTesting( |
base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, |
base::Unretained(&dispatcher))); |
- EXPECT_TRUE(get_metadata.Execute(kRequestId)); |
+ EXPECT_TRUE(read_directory.Execute(kRequestId)); |
ASSERT_EQ(1u, dispatcher.events().size()); |
extensions::Event* event = dispatcher.events()[0]; |
- EXPECT_EQ( |
- extensions::api::file_system_provider::OnGetMetadataRequested::kEventName, |
- event->event_name); |
+ EXPECT_EQ(extensions::api::file_system_provider::OnReadDirectoryRequested:: |
+ kEventName, |
+ event->event_name); |
base::ListValue* event_args = event->event_args.get(); |
ASSERT_EQ(3u, event_args->GetSize()); |
@@ -143,40 +150,40 @@ TEST_F(FileSystemProviderOperationsGetMetadataTest, Execute) { |
EXPECT_EQ(kDirectoryPath, event_directory_path); |
} |
-TEST_F(FileSystemProviderOperationsGetMetadataTest, Execute_NoListener) { |
+TEST_F(FileSystemProviderOperationsReadDirectoryTest, Execute_NoListener) { |
LoggingDispatchEventImpl dispatcher(false /* dispatch_reply */); |
CallbackLogger callback_logger; |
- GetMetadata get_metadata( |
- NULL, |
- file_system_info_, |
- base::FilePath::FromUTF8Unsafe(kDirectoryPath), |
- base::Bind(&CallbackLogger::OnGetMetadata, callback_logger.GetWeakPtr())); |
- get_metadata.SetDispatchEventImplForTesting( |
+ ReadDirectory read_directory(NULL, |
+ file_system_info_, |
+ base::FilePath::FromUTF8Unsafe(kDirectoryPath), |
+ base::Bind(&CallbackLogger::OnReadDirectory, |
+ callback_logger.GetWeakPtr())); |
+ read_directory.SetDispatchEventImplForTesting( |
base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, |
base::Unretained(&dispatcher))); |
- EXPECT_FALSE(get_metadata.Execute(kRequestId)); |
+ EXPECT_FALSE(read_directory.Execute(kRequestId)); |
} |
-TEST_F(FileSystemProviderOperationsGetMetadataTest, OnSuccess) { |
+TEST_F(FileSystemProviderOperationsReadDirectoryTest, OnSuccess) { |
using extensions::api::file_system_provider::EntryMetadata; |
using extensions::api::file_system_provider_internal:: |
- GetMetadataRequestedSuccess::Params; |
+ ReadDirectoryRequestedSuccess::Params; |
LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */); |
CallbackLogger callback_logger; |
- GetMetadata get_metadata( |
- NULL, |
- file_system_info_, |
- base::FilePath::FromUTF8Unsafe(kDirectoryPath), |
- base::Bind(&CallbackLogger::OnGetMetadata, callback_logger.GetWeakPtr())); |
- get_metadata.SetDispatchEventImplForTesting( |
+ ReadDirectory read_directory(NULL, |
+ file_system_info_, |
+ base::FilePath::FromUTF8Unsafe(kDirectoryPath), |
+ base::Bind(&CallbackLogger::OnReadDirectory, |
+ callback_logger.GetWeakPtr())); |
+ read_directory.SetDispatchEventImplForTesting( |
base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, |
base::Unretained(&dispatcher))); |
- EXPECT_TRUE(get_metadata.Execute(kRequestId)); |
+ EXPECT_TRUE(read_directory.Execute(kRequestId)); |
// Sample input as JSON. Keep in sync with file_system_provider_api.idl. |
// As for now, it is impossible to create *::Params class directly, not from |
@@ -185,14 +192,17 @@ TEST_F(FileSystemProviderOperationsGetMetadataTest, OnSuccess) { |
"[\n" |
" 1,\n" // kFileSystemId |
" 2,\n" // kRequestId |
- " {\n" |
- " \"isDirectory\": false,\n" |
- " \"name\": \"blueberries.txt\",\n" |
- " \"size\": 4096,\n" |
- " \"modificationTime\": {\n" |
- " \"value\": \"Thu Apr 24 00:46:52 UTC 2014\"\n" |
+ " [\n" |
+ " {\n" |
+ " \"isDirectory\": false,\n" |
+ " \"name\": \"blueberries.txt\",\n" |
+ " \"size\": 4096,\n" |
+ " \"modificationTime\": {\n" |
+ " \"value\": \"Thu Apr 24 00:46:52 UTC 2014\"\n" |
+ " }\n" |
" }\n" |
- " }\n" |
+ " ],\n" |
+ " false\n" // has_next |
"]\n"; |
int json_error_code; |
@@ -206,49 +216,52 @@ TEST_F(FileSystemProviderOperationsGetMetadataTest, OnSuccess) { |
scoped_ptr<Params> params(Params::Create(*value_as_list)); |
ASSERT_TRUE(params.get()); |
scoped_ptr<RequestValue> request_value( |
- RequestValue::CreateForGetMetadataSuccess(params.Pass())); |
+ RequestValue::CreateForReadDirectorySuccess(params.Pass())); |
ASSERT_TRUE(request_value.get()); |
const bool has_next = false; |
- get_metadata.OnSuccess(kRequestId, request_value.Pass(), has_next); |
+ read_directory.OnSuccess(kRequestId, request_value.Pass(), has_next); |
ASSERT_EQ(1u, callback_logger.events().size()); |
CallbackLogger::Event* event = callback_logger.events()[0]; |
EXPECT_EQ(base::File::FILE_OK, event->result()); |
- const base::File::Info& file_info = event->file_info(); |
- EXPECT_FALSE(file_info.is_directory); |
- EXPECT_EQ(4096, file_info.size); |
+ ASSERT_EQ(1u, event->entry_list().size()); |
+ const fileapi::DirectoryEntry entry = event->entry_list()[0]; |
+ EXPECT_FALSE(entry.is_directory); |
+ EXPECT_EQ("blueberries.txt", entry.name); |
+ EXPECT_EQ(4096, entry.size); |
base::Time expected_time; |
EXPECT_TRUE( |
base::Time::FromString("Thu Apr 24 00:46:52 UTC 2014", &expected_time)); |
- EXPECT_EQ(expected_time, file_info.last_modified); |
+ EXPECT_EQ(expected_time, entry.last_modified_time); |
} |
-TEST_F(FileSystemProviderOperationsGetMetadataTest, OnError) { |
+TEST_F(FileSystemProviderOperationsReadDirectoryTest, OnError) { |
using extensions::api::file_system_provider::EntryMetadata; |
using extensions::api::file_system_provider_internal:: |
- GetMetadataRequestedError::Params; |
+ ReadDirectoryRequestedSuccess::Params; |
LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */); |
CallbackLogger callback_logger; |
- GetMetadata get_metadata( |
- NULL, |
- file_system_info_, |
- base::FilePath::FromUTF8Unsafe(kDirectoryPath), |
- base::Bind(&CallbackLogger::OnGetMetadata, callback_logger.GetWeakPtr())); |
- get_metadata.SetDispatchEventImplForTesting( |
+ ReadDirectory read_directory(NULL, |
+ file_system_info_, |
+ base::FilePath::FromUTF8Unsafe(kDirectoryPath), |
+ base::Bind(&CallbackLogger::OnReadDirectory, |
+ callback_logger.GetWeakPtr())); |
+ read_directory.SetDispatchEventImplForTesting( |
base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, |
base::Unretained(&dispatcher))); |
- EXPECT_TRUE(get_metadata.Execute(kRequestId)); |
+ EXPECT_TRUE(read_directory.Execute(kRequestId)); |
- get_metadata.OnError(kRequestId, base::File::FILE_ERROR_TOO_MANY_OPENED); |
+ read_directory.OnError(kRequestId, base::File::FILE_ERROR_TOO_MANY_OPENED); |
ASSERT_EQ(1u, callback_logger.events().size()); |
CallbackLogger::Event* event = callback_logger.events()[0]; |
EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, event->result()); |
+ ASSERT_EQ(0u, event->entry_list().size()); |
} |
} // namespace operations |