| OLD | NEW |
| 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 <string> | 5 #include <string> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/files/file.h" | 8 #include "base/files/file.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 content::TestBrowserThreadBundle thread_bundle_; | 95 content::TestBrowserThreadBundle thread_bundle_; |
| 96 scoped_ptr<TestingProfile> profile_; | 96 scoped_ptr<TestingProfile> profile_; |
| 97 scoped_ptr<FakeEventRouter> event_router_; | 97 scoped_ptr<FakeEventRouter> event_router_; |
| 98 scoped_ptr<ProvidedFileSystemInfo> file_system_info_; | 98 scoped_ptr<ProvidedFileSystemInfo> file_system_info_; |
| 99 scoped_ptr<ProvidedFileSystemInterface> provided_file_system_; | 99 scoped_ptr<ProvidedFileSystemInterface> provided_file_system_; |
| 100 }; | 100 }; |
| 101 | 101 |
| 102 TEST_F(FileSystemProviderProvidedFileSystemTest, RequestUnmount_Success) { | 102 TEST_F(FileSystemProviderProvidedFileSystemTest, RequestUnmount_Success) { |
| 103 EventLogger logger; | 103 EventLogger logger; |
| 104 | 104 |
| 105 bool result = provided_file_system_->RequestUnmount( | 105 provided_file_system_->RequestUnmount( |
| 106 base::Bind(&EventLogger::OnStatusCallback, logger.GetWeakPtr())); | 106 base::Bind(&EventLogger::OnStatusCallback, logger.GetWeakPtr())); |
| 107 ASSERT_TRUE(result); | |
| 108 base::RunLoop().RunUntilIdle(); | 107 base::RunLoop().RunUntilIdle(); |
| 109 | 108 |
| 110 // Verify that the event has been sent to the providing extension. | 109 // Verify that the event has been sent to the providing extension. |
| 111 EXPECT_EQ(kExtensionId, event_router_->extension_id()); | 110 EXPECT_EQ(kExtensionId, event_router_->extension_id()); |
| 112 const extensions::Event* event = event_router_->event(); | 111 const extensions::Event* event = event_router_->event(); |
| 113 ASSERT_TRUE(event); | 112 ASSERT_TRUE(event); |
| 114 ASSERT_TRUE(event->event_args); | 113 ASSERT_TRUE(event->event_args); |
| 115 base::ListValue* event_args = event->event_args.get(); | 114 base::ListValue* event_args = event->event_args.get(); |
| 116 EXPECT_EQ(2u, event_args->GetSize()); | 115 EXPECT_EQ(2u, event_args->GetSize()); |
| 117 int file_system_id = 0; | 116 int file_system_id = 0; |
| 118 EXPECT_TRUE(event_args->GetInteger(0, &file_system_id)); | 117 EXPECT_TRUE(event_args->GetInteger(0, &file_system_id)); |
| 119 EXPECT_EQ(kFileSystemId, file_system_id); | 118 EXPECT_EQ(kFileSystemId, file_system_id); |
| 120 | 119 |
| 121 // Remember the request id, and verify it is valid. | 120 // Remember the request id, and verify it is valid. |
| 122 int request_id = 0; | 121 int request_id = 0; |
| 123 EXPECT_TRUE(event_args->GetInteger(1, &request_id)); | 122 EXPECT_TRUE(event_args->GetInteger(1, &request_id)); |
| 124 EXPECT_EQ(kExpectedRequestId, request_id); | 123 EXPECT_EQ(kExpectedRequestId, request_id); |
| 125 | 124 |
| 126 // Callback should not be called, yet. | 125 // Callback should not be called, yet. |
| 127 EXPECT_FALSE(logger.error()); | 126 EXPECT_FALSE(logger.error()); |
| 128 | 127 |
| 129 // Simulate sending a success response from the providing extension. | 128 // Simulate sending a success response from the providing extension. |
| 130 RequestManager* request_manager = provided_file_system_->GetRequestManager(); | 129 RequestManager* request_manager = provided_file_system_->GetRequestManager(); |
| 131 ASSERT_TRUE(request_manager); | 130 ASSERT_TRUE(request_manager); |
| 132 scoped_ptr<base::DictionaryValue> response(new base::DictionaryValue()); | 131 scoped_ptr<RequestValue> response; |
| 133 bool reply_result = request_manager->FulfillRequest( | 132 bool reply_result = request_manager->FulfillRequest( |
| 134 request_id, response.Pass(), false /* has_next */); | 133 request_id, response.Pass(), false /* has_next */); |
| 135 EXPECT_TRUE(reply_result); | 134 EXPECT_TRUE(reply_result); |
| 136 | 135 |
| 137 // Callback should be called. Verify the error code. | 136 // Callback should be called. Verify the error code. |
| 138 ASSERT_TRUE(logger.error()); | 137 ASSERT_TRUE(logger.error()); |
| 139 EXPECT_EQ(base::File::FILE_OK, *logger.error()); | 138 EXPECT_EQ(base::File::FILE_OK, *logger.error()); |
| 140 } | 139 } |
| 141 | 140 |
| 142 TEST_F(FileSystemProviderProvidedFileSystemTest, RequestUnmount_Error) { | 141 TEST_F(FileSystemProviderProvidedFileSystemTest, RequestUnmount_Error) { |
| 143 EventLogger logger; | 142 EventLogger logger; |
| 144 | 143 |
| 145 bool result = provided_file_system_->RequestUnmount( | 144 provided_file_system_->RequestUnmount( |
| 146 base::Bind(&EventLogger::OnStatusCallback, logger.GetWeakPtr())); | 145 base::Bind(&EventLogger::OnStatusCallback, logger.GetWeakPtr())); |
| 147 ASSERT_TRUE(result); | |
| 148 base::RunLoop().RunUntilIdle(); | 146 base::RunLoop().RunUntilIdle(); |
| 149 | 147 |
| 150 // Verify that the event has been sent to the providing extension. | 148 // Verify that the event has been sent to the providing extension. |
| 151 EXPECT_EQ(kExtensionId, event_router_->extension_id()); | 149 EXPECT_EQ(kExtensionId, event_router_->extension_id()); |
| 152 const extensions::Event* event = event_router_->event(); | 150 const extensions::Event* event = event_router_->event(); |
| 153 ASSERT_TRUE(event); | 151 ASSERT_TRUE(event); |
| 154 ASSERT_TRUE(event->event_args); | 152 ASSERT_TRUE(event->event_args); |
| 155 base::ListValue* event_args = event->event_args.get(); | 153 base::ListValue* event_args = event->event_args.get(); |
| 156 EXPECT_EQ(2u, event_args->GetSize()); | 154 EXPECT_EQ(2u, event_args->GetSize()); |
| 157 int file_system_id = 0; | 155 int file_system_id = 0; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 170 request_id, base::File::FILE_ERROR_NOT_FOUND); | 168 request_id, base::File::FILE_ERROR_NOT_FOUND); |
| 171 EXPECT_TRUE(reply_result); | 169 EXPECT_TRUE(reply_result); |
| 172 | 170 |
| 173 // Callback should be called. Verify the error code. | 171 // Callback should be called. Verify the error code. |
| 174 ASSERT_TRUE(logger.error()); | 172 ASSERT_TRUE(logger.error()); |
| 175 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, *logger.error()); | 173 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, *logger.error()); |
| 176 } | 174 } |
| 177 | 175 |
| 178 } // namespace file_system_provider | 176 } // namespace file_system_provider |
| 179 } // namespace chromeos | 177 } // namespace chromeos |
| OLD | NEW |