| 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 |