OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 TEST_F(DirectoryImplTest, CantOpenDirectoriesAsFiles) { | 128 TEST_F(DirectoryImplTest, CantOpenDirectoriesAsFiles) { |
129 mojom::DirectoryPtr directory; | 129 mojom::DirectoryPtr directory; |
130 GetTemporaryRoot(&directory); | 130 GetTemporaryRoot(&directory); |
131 mojom::FileError error; | 131 mojom::FileError error; |
132 | 132 |
133 { | 133 { |
134 // Create a directory called 'my_file' | 134 // Create a directory called 'my_file' |
135 mojom::DirectoryPtr my_file_directory; | 135 mojom::DirectoryPtr my_file_directory; |
136 error = mojom::FileError::FAILED; | 136 error = mojom::FileError::FAILED; |
137 bool handled = directory->OpenDirectory( | 137 bool handled = directory->OpenDirectory( |
138 "my_file", GetProxy(&my_file_directory), | 138 "my_file", MakeRequest(&my_file_directory), |
139 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error); | 139 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error); |
140 ASSERT_TRUE(handled); | 140 ASSERT_TRUE(handled); |
141 EXPECT_EQ(mojom::FileError::OK, error); | 141 EXPECT_EQ(mojom::FileError::OK, error); |
142 } | 142 } |
143 | 143 |
144 { | 144 { |
145 // Attempt to open that directory as a file. This must fail! | 145 // Attempt to open that directory as a file. This must fail! |
146 mojom::FilePtr file; | 146 mojom::FilePtr file; |
147 error = mojom::FileError::FAILED; | 147 error = mojom::FileError::FAILED; |
148 bool handled = | 148 bool handled = |
149 directory->OpenFile("my_file", GetProxy(&file), | 149 directory->OpenFile("my_file", MakeRequest(&file), |
150 mojom::kFlagRead | mojom::kFlagOpen, &error); | 150 mojom::kFlagRead | mojom::kFlagOpen, &error); |
151 ASSERT_TRUE(handled); | 151 ASSERT_TRUE(handled); |
152 EXPECT_EQ(mojom::FileError::NOT_A_FILE, error); | 152 EXPECT_EQ(mojom::FileError::NOT_A_FILE, error); |
153 } | 153 } |
154 } | 154 } |
155 | 155 |
156 TEST_F(DirectoryImplTest, Clone) { | 156 TEST_F(DirectoryImplTest, Clone) { |
157 mojom::DirectoryPtr clone_one; | 157 mojom::DirectoryPtr clone_one; |
158 mojom::DirectoryPtr clone_two; | 158 mojom::DirectoryPtr clone_two; |
159 mojom::FileError error; | 159 mojom::FileError error; |
160 | 160 |
161 { | 161 { |
162 mojom::DirectoryPtr directory; | 162 mojom::DirectoryPtr directory; |
163 GetTemporaryRoot(&directory); | 163 GetTemporaryRoot(&directory); |
164 | 164 |
165 directory->Clone(GetProxy(&clone_one)); | 165 directory->Clone(MakeRequest(&clone_one)); |
166 directory->Clone(GetProxy(&clone_two)); | 166 directory->Clone(MakeRequest(&clone_two)); |
167 | 167 |
168 // Original temporary directory goes out of scope here; shouldn't be | 168 // Original temporary directory goes out of scope here; shouldn't be |
169 // deleted since it has clones. | 169 // deleted since it has clones. |
170 } | 170 } |
171 | 171 |
172 std::string data("one two three"); | 172 std::string data("one two three"); |
173 { | 173 { |
174 bool handled = | 174 bool handled = |
175 clone_one->WriteFile("data", mojo::Array<uint8_t>::From(data), &error); | 175 clone_one->WriteFile("data", mojo::Array<uint8_t>::From(data), &error); |
176 ASSERT_TRUE(handled); | 176 ASSERT_TRUE(handled); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 TEST_F(DirectoryImplTest, CantReadEntireFileOnADirectory) { | 229 TEST_F(DirectoryImplTest, CantReadEntireFileOnADirectory) { |
230 mojom::DirectoryPtr directory; | 230 mojom::DirectoryPtr directory; |
231 GetTemporaryRoot(&directory); | 231 GetTemporaryRoot(&directory); |
232 mojom::FileError error; | 232 mojom::FileError error; |
233 | 233 |
234 // Create a directory | 234 // Create a directory |
235 { | 235 { |
236 mojom::DirectoryPtr my_file_directory; | 236 mojom::DirectoryPtr my_file_directory; |
237 error = mojom::FileError::FAILED; | 237 error = mojom::FileError::FAILED; |
238 bool handled = directory->OpenDirectory( | 238 bool handled = directory->OpenDirectory( |
239 "my_dir", GetProxy(&my_file_directory), | 239 "my_dir", MakeRequest(&my_file_directory), |
240 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error); | 240 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error); |
241 ASSERT_TRUE(handled); | 241 ASSERT_TRUE(handled); |
242 EXPECT_EQ(mojom::FileError::OK, error); | 242 EXPECT_EQ(mojom::FileError::OK, error); |
243 } | 243 } |
244 | 244 |
245 // Try to read it as a file | 245 // Try to read it as a file |
246 { | 246 { |
247 std::vector<uint8_t> file_contents; | 247 std::vector<uint8_t> file_contents; |
248 bool handled = directory->ReadEntireFile("my_dir", &error, &file_contents); | 248 bool handled = directory->ReadEntireFile("my_dir", &error, &file_contents); |
249 ASSERT_TRUE(handled); | 249 ASSERT_TRUE(handled); |
250 EXPECT_EQ(mojom::FileError::NOT_A_FILE, error); | 250 EXPECT_EQ(mojom::FileError::NOT_A_FILE, error); |
251 } | 251 } |
252 } | 252 } |
253 | 253 |
254 TEST_F(DirectoryImplTest, CantWriteFileOnADirectory) { | 254 TEST_F(DirectoryImplTest, CantWriteFileOnADirectory) { |
255 mojom::DirectoryPtr directory; | 255 mojom::DirectoryPtr directory; |
256 GetTemporaryRoot(&directory); | 256 GetTemporaryRoot(&directory); |
257 mojom::FileError error; | 257 mojom::FileError error; |
258 | 258 |
259 // Create a directory | 259 // Create a directory |
260 { | 260 { |
261 mojom::DirectoryPtr my_file_directory; | 261 mojom::DirectoryPtr my_file_directory; |
262 error = mojom::FileError::FAILED; | 262 error = mojom::FileError::FAILED; |
263 bool handled = directory->OpenDirectory( | 263 bool handled = directory->OpenDirectory( |
264 "my_dir", GetProxy(&my_file_directory), | 264 "my_dir", MakeRequest(&my_file_directory), |
265 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error); | 265 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error); |
266 ASSERT_TRUE(handled); | 266 ASSERT_TRUE(handled); |
267 EXPECT_EQ(mojom::FileError::OK, error); | 267 EXPECT_EQ(mojom::FileError::OK, error); |
268 } | 268 } |
269 | 269 |
270 { | 270 { |
271 std::string data("one two three"); | 271 std::string data("one two three"); |
272 bool handled = directory->WriteFile( | 272 bool handled = directory->WriteFile( |
273 "my_dir", mojo::Array<uint8_t>::From(data), &error); | 273 "my_dir", mojo::Array<uint8_t>::From(data), &error); |
274 ASSERT_TRUE(handled); | 274 ASSERT_TRUE(handled); |
275 EXPECT_EQ(mojom::FileError::NOT_A_FILE, error); | 275 EXPECT_EQ(mojom::FileError::NOT_A_FILE, error); |
276 } | 276 } |
277 } | 277 } |
278 | 278 |
279 // TODO(vtl): Test delete flags. | 279 // TODO(vtl): Test delete flags. |
280 | 280 |
281 } // namespace | 281 } // namespace |
282 } // namespace filesystem | 282 } // namespace filesystem |
OLD | NEW |