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 |