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

Side by Side Diff: native_client_sdk/src/tests/nacl_io_test/html5_fs_test.cc

Issue 320983002: [NaCl SDK] nacl_io: Allows subtree of html5fs to be mounted. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « native_client_sdk/src/libraries/nacl_io/node.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <errno.h> 5 #include <errno.h>
6 #include <fcntl.h> 6 #include <fcntl.h>
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 map["filesystem_resource"] = buffer; 142 map["filesystem_resource"] = buffer;
143 ScopedRef<Html5FsForTesting> fs( 143 ScopedRef<Html5FsForTesting> fs(
144 new Html5FsForTesting(map, &ppapi_)); 144 new Html5FsForTesting(map, &ppapi_));
145 145
146 ASSERT_EQ(0, fs->Access(Path("/foo"), R_OK | W_OK | X_OK)); 146 ASSERT_EQ(0, fs->Access(Path("/foo"), R_OK | W_OK | X_OK));
147 147
148 ppapi_html5_.GetCoreInterface()->ReleaseResource(filesystem); 148 ppapi_html5_.GetCoreInterface()->ReleaseResource(filesystem);
149 } 149 }
150 } 150 }
151 151
152 TEST_F(Html5FsTest, MountSubtree) {
153 EXPECT_TRUE(ppapi_html5_.filesystem_template()->AddEmptyFile("/foo/bar",
154 NULL));
155 StringMap_t map;
156 map["SOURCE"] = "/foo";
157 ScopedRef<Html5FsForTesting> fs(new Html5FsForTesting(map, &ppapi_));
158
159 ASSERT_EQ(0, fs->Access(Path("/bar"), R_OK | W_OK | X_OK));
160 ASSERT_EQ(ENOENT, fs->Access(Path("/foo/bar"), F_OK));
161 }
162
152 TEST_F(Html5FsTest, Access) { 163 TEST_F(Html5FsTest, Access) {
153 EXPECT_TRUE(ppapi_html5_.filesystem_template()->AddEmptyFile("/foo", NULL)); 164 EXPECT_TRUE(ppapi_html5_.filesystem_template()->AddEmptyFile("/foo", NULL));
154 165
155 StringMap_t map; 166 StringMap_t map;
156 ScopedRef<Html5FsForTesting> fs(new Html5FsForTesting(map, &ppapi_)); 167 ScopedRef<Html5FsForTesting> fs(new Html5FsForTesting(map, &ppapi_));
157 168
158 ASSERT_EQ(0, fs->Access(Path("/foo"), R_OK | W_OK | X_OK)); 169 ASSERT_EQ(0, fs->Access(Path("/foo"), R_OK | W_OK | X_OK));
159 ASSERT_EQ(ENOENT, fs->Access(Path("/bar"), F_OK)); 170 ASSERT_EQ(ENOENT, fs->Access(Path("/bar"), F_OK));
160 } 171 }
161 172
(...skipping 20 matching lines...) Expand all
182 193
183 StringMap_t map; 194 StringMap_t map;
184 ScopedRef<Html5FsForTesting> fs(new Html5FsForTesting(map, &ppapi_)); 195 ScopedRef<Html5FsForTesting> fs(new Html5FsForTesting(map, &ppapi_));
185 196
186 Path path("/foo"); 197 Path path("/foo");
187 ASSERT_EQ(0, fs->Access(path, F_OK)); 198 ASSERT_EQ(0, fs->Access(path, F_OK));
188 ASSERT_EQ(0, fs->Remove(path)); 199 ASSERT_EQ(0, fs->Remove(path));
189 EXPECT_EQ(ENOENT, fs->Access(path, F_OK)); 200 EXPECT_EQ(ENOENT, fs->Access(path, F_OK));
190 } 201 }
191 202
192 // Unlink + Rmdir forward to Remove unconditionally, which will not fail if the 203 TEST_F(Html5FsTest, Unlink) {
193 // file type is wrong.
194 TEST_F(Html5FsTest, DISABLED_Unlink) {
195 EXPECT_TRUE(ppapi_html5_.filesystem_template()->AddEmptyFile("/file", NULL)); 204 EXPECT_TRUE(ppapi_html5_.filesystem_template()->AddEmptyFile("/file", NULL));
196 EXPECT_TRUE(ppapi_html5_.filesystem_template()->AddDirectory("/dir", NULL)); 205 EXPECT_TRUE(ppapi_html5_.filesystem_template()->AddDirectory("/dir", NULL));
197 206
198 StringMap_t map; 207 StringMap_t map;
199 ScopedRef<Html5FsForTesting> fs(new Html5FsForTesting(map, &ppapi_)); 208 ScopedRef<Html5FsForTesting> fs(new Html5FsForTesting(map, &ppapi_));
200 209
201 ASSERT_EQ(EISDIR, fs->Unlink(Path("/dir"))); 210 ASSERT_EQ(EISDIR, fs->Unlink(Path("/dir")));
202 EXPECT_EQ(0, fs->Unlink(Path("/file"))); 211 EXPECT_EQ(0, fs->Unlink(Path("/file")));
203 EXPECT_EQ(ENOENT, fs->Access(Path("/file"), F_OK)); 212 EXPECT_EQ(ENOENT, fs->Access(Path("/file"), F_OK));
204 EXPECT_EQ(0, fs->Access(Path("/dir"), F_OK)); 213 EXPECT_EQ(0, fs->Access(Path("/dir"), F_OK));
205 } 214 }
206 215
207 // Unlink + Rmdir forward to Remove unconditionally, which will not fail if the 216 TEST_F(Html5FsTest, Rmdir) {
208 // file type is wrong.
209 TEST_F(Html5FsTest, DISABLED_Rmdir) {
210 EXPECT_TRUE(ppapi_html5_.filesystem_template()->AddEmptyFile("/file", NULL)); 217 EXPECT_TRUE(ppapi_html5_.filesystem_template()->AddEmptyFile("/file", NULL));
211 EXPECT_TRUE(ppapi_html5_.filesystem_template()->AddDirectory("/dir", NULL)); 218 EXPECT_TRUE(ppapi_html5_.filesystem_template()->AddDirectory("/dir", NULL));
212 219
213 StringMap_t map; 220 StringMap_t map;
214 ScopedRef<Html5FsForTesting> fs(new Html5FsForTesting(map, &ppapi_)); 221 ScopedRef<Html5FsForTesting> fs(new Html5FsForTesting(map, &ppapi_));
215 222
216 ASSERT_EQ(ENOTDIR, fs->Rmdir(Path("/file"))); 223 ASSERT_EQ(ENOTDIR, fs->Rmdir(Path("/file")));
217 EXPECT_EQ(0, fs->Rmdir(Path("/dir"))); 224 EXPECT_EQ(0, fs->Rmdir(Path("/dir")));
218 EXPECT_EQ(ENOENT, fs->Access(Path("/dir"), F_OK)); 225 EXPECT_EQ(ENOENT, fs->Access(Path("/dir"), F_OK));
219 EXPECT_EQ(0, fs->Access(Path("/file"), F_OK)); 226 EXPECT_EQ(0, fs->Access(Path("/file"), F_OK));
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 EXPECT_EQ(sizeof(dirent), dirents[i].d_reclen); 524 EXPECT_EQ(sizeof(dirent), dirents[i].d_reclen);
518 dirnames.insert(dirents[i].d_name); 525 dirnames.insert(dirents[i].d_name);
519 } 526 }
520 527
521 EXPECT_EQ(1, dirnames.count("file")); 528 EXPECT_EQ(1, dirnames.count("file"));
522 EXPECT_EQ(1, dirnames.count("file2")); 529 EXPECT_EQ(1, dirnames.count("file2"));
523 EXPECT_EQ(1, dirnames.count(".")); 530 EXPECT_EQ(1, dirnames.count("."));
524 EXPECT_EQ(1, dirnames.count("..")); 531 EXPECT_EQ(1, dirnames.count(".."));
525 } 532 }
526 } 533 }
OLDNEW
« no previous file with comments | « native_client_sdk/src/libraries/nacl_io/node.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698