Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Side by Side Diff: components/filesystem/directory_impl_unittest.cc

Issue 2607063002: Remove mojo::Array. (Closed)
Patch Set: rebase Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "components/filesystem/files_test_base.h" 12 #include "components/filesystem/files_test_base.h"
13 #include "mojo/common/common_type_converters.h"
14 13
15 namespace filesystem { 14 namespace filesystem {
16 namespace { 15 namespace {
17 16
18 using DirectoryImplTest = FilesTestBase; 17 using DirectoryImplTest = FilesTestBase;
19 18
19 constexpr char kData[] = "one two three";
20
20 TEST_F(DirectoryImplTest, Read) { 21 TEST_F(DirectoryImplTest, Read) {
21 mojom::DirectoryPtr directory; 22 mojom::DirectoryPtr directory;
22 GetTemporaryRoot(&directory); 23 GetTemporaryRoot(&directory);
23 mojom::FileError error; 24 mojom::FileError error;
24 25
25 // Make some files. 26 // Make some files.
26 const struct { 27 const struct {
27 const char* name; 28 const char* name;
28 uint32_t open_flags; 29 uint32_t open_flags;
29 } files_to_create[] = { 30 } files_to_create[] = {
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 mojom::DirectoryPtr directory; 163 mojom::DirectoryPtr directory;
163 GetTemporaryRoot(&directory); 164 GetTemporaryRoot(&directory);
164 165
165 directory->Clone(MakeRequest(&clone_one)); 166 directory->Clone(MakeRequest(&clone_one));
166 directory->Clone(MakeRequest(&clone_two)); 167 directory->Clone(MakeRequest(&clone_two));
167 168
168 // Original temporary directory goes out of scope here; shouldn't be 169 // Original temporary directory goes out of scope here; shouldn't be
169 // deleted since it has clones. 170 // deleted since it has clones.
170 } 171 }
171 172
172 std::string data("one two three"); 173 std::vector<uint8_t> data(kData, kData + strlen(kData));
173 { 174 {
174 bool handled = 175 bool handled = clone_one->WriteFile("data", data, &error);
175 clone_one->WriteFile("data", mojo::Array<uint8_t>::From(data), &error);
176 ASSERT_TRUE(handled); 176 ASSERT_TRUE(handled);
177 EXPECT_EQ(mojom::FileError::OK, error); 177 EXPECT_EQ(mojom::FileError::OK, error);
178 } 178 }
179 179
180 { 180 {
181 std::vector<uint8_t> file_contents; 181 std::vector<uint8_t> file_contents;
182 bool handled = clone_two->ReadEntireFile("data", &error, &file_contents); 182 bool handled = clone_two->ReadEntireFile("data", &error, &file_contents);
183 ASSERT_TRUE(handled); 183 ASSERT_TRUE(handled);
184 EXPECT_EQ(mojom::FileError::OK, error); 184 EXPECT_EQ(mojom::FileError::OK, error);
185 185
186 EXPECT_EQ(data, 186 EXPECT_EQ(data, file_contents);
187 mojo::Array<uint8_t>(std::move(file_contents)).To<std::string>());
188 } 187 }
189 } 188 }
190 189
191 TEST_F(DirectoryImplTest, WriteFileReadFile) { 190 TEST_F(DirectoryImplTest, WriteFileReadFile) {
192 mojom::DirectoryPtr directory; 191 mojom::DirectoryPtr directory;
193 GetTemporaryRoot(&directory); 192 GetTemporaryRoot(&directory);
194 mojom::FileError error; 193 mojom::FileError error;
195 194
196 std::string data("one two three"); 195 std::vector<uint8_t> data(kData, kData + strlen(kData));
197 { 196 {
198 bool handled = 197 bool handled = directory->WriteFile("data", data, &error);
199 directory->WriteFile("data", mojo::Array<uint8_t>::From(data), &error);
200 ASSERT_TRUE(handled); 198 ASSERT_TRUE(handled);
201 EXPECT_EQ(mojom::FileError::OK, error); 199 EXPECT_EQ(mojom::FileError::OK, error);
202 } 200 }
203 201
204 { 202 {
205 std::vector<uint8_t> file_contents; 203 std::vector<uint8_t> file_contents;
206 bool handled = directory->ReadEntireFile("data", &error, &file_contents); 204 bool handled = directory->ReadEntireFile("data", &error, &file_contents);
207 ASSERT_TRUE(handled); 205 ASSERT_TRUE(handled);
208 EXPECT_EQ(mojom::FileError::OK, error); 206 EXPECT_EQ(mojom::FileError::OK, error);
209 207
210 EXPECT_EQ(data, 208 EXPECT_EQ(data, file_contents);
211 mojo::Array<uint8_t>(std::move(file_contents)).To<std::string>());
212 } 209 }
213 } 210 }
214 211
215 TEST_F(DirectoryImplTest, ReadEmptyFileIsNotFoundError) { 212 TEST_F(DirectoryImplTest, ReadEmptyFileIsNotFoundError) {
216 mojom::DirectoryPtr directory; 213 mojom::DirectoryPtr directory;
217 GetTemporaryRoot(&directory); 214 GetTemporaryRoot(&directory);
218 mojom::FileError error; 215 mojom::FileError error;
219 216
220 { 217 {
221 std::vector<uint8_t> file_contents; 218 std::vector<uint8_t> file_contents;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 mojom::DirectoryPtr my_file_directory; 258 mojom::DirectoryPtr my_file_directory;
262 error = mojom::FileError::FAILED; 259 error = mojom::FileError::FAILED;
263 bool handled = directory->OpenDirectory( 260 bool handled = directory->OpenDirectory(
264 "my_dir", MakeRequest(&my_file_directory), 261 "my_dir", MakeRequest(&my_file_directory),
265 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error); 262 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error);
266 ASSERT_TRUE(handled); 263 ASSERT_TRUE(handled);
267 EXPECT_EQ(mojom::FileError::OK, error); 264 EXPECT_EQ(mojom::FileError::OK, error);
268 } 265 }
269 266
270 { 267 {
271 std::string data("one two three"); 268 std::vector<uint8_t> data(kData, kData + strlen(kData));
272 bool handled = directory->WriteFile( 269 bool handled = directory->WriteFile("my_dir", data, &error);
273 "my_dir", mojo::Array<uint8_t>::From(data), &error);
274 ASSERT_TRUE(handled); 270 ASSERT_TRUE(handled);
275 EXPECT_EQ(mojom::FileError::NOT_A_FILE, error); 271 EXPECT_EQ(mojom::FileError::NOT_A_FILE, error);
276 } 272 }
277 } 273 }
278 274
279 TEST_F(DirectoryImplTest, Flush) { 275 TEST_F(DirectoryImplTest, Flush) {
280 mojom::DirectoryPtr directory; 276 mojom::DirectoryPtr directory;
281 GetTemporaryRoot(&directory); 277 GetTemporaryRoot(&directory);
282 mojom::FileError error; 278 mojom::FileError error;
283 279
284 { 280 {
285 bool handled = directory->Flush(&error); 281 bool handled = directory->Flush(&error);
286 ASSERT_TRUE(handled); 282 ASSERT_TRUE(handled);
287 EXPECT_EQ(mojom::FileError::OK, error); 283 EXPECT_EQ(mojom::FileError::OK, error);
288 } 284 }
289 } 285 }
290 286
291 // TODO(vtl): Test delete flags. 287 // TODO(vtl): Test delete flags.
292 288
293 } // namespace 289 } // namespace
294 } // namespace filesystem 290 } // namespace filesystem
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698