| Index: ppapi/tests/test_file_ref.cc
|
| diff --git a/ppapi/tests/test_file_ref.cc b/ppapi/tests/test_file_ref.cc
|
| index 0a10a32192819ce8118b42855ad1234795b0c720..015f54cc6486e6c084fc57feb37a661412a5221c 100644
|
| --- a/ppapi/tests/test_file_ref.cc
|
| +++ b/ppapi/tests/test_file_ref.cc
|
| @@ -298,41 +298,59 @@ std::string TestFileRef::TestMakeDirectory() {
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
| - // MakeDirectory.
|
| - pp::FileRef dir_ref(file_system, "/test_dir_make_directory");
|
| - callback.WaitForResult(dir_ref.MakeDirectory(callback.GetCallback()));
|
| + // Make a directory.
|
| + pp::FileRef dir_ref(file_system, "/dir_make_dir");
|
| + callback.WaitForResult(
|
| + dir_ref.MakeDirectory(PP_MAKEDIRECTORYFLAG_NONE, callback.GetCallback()));
|
| + CHECK_CALLBACK_BEHAVIOR(callback);
|
| + ASSERT_EQ(PP_OK, callback.result());
|
| +
|
| + // Make a directory on the existing path without exclusive flag.
|
| + callback.WaitForResult(
|
| + dir_ref.MakeDirectory(PP_MAKEDIRECTORYFLAG_NONE, callback.GetCallback()));
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
| - // MakeDirectory aborted.
|
| + // Making a directory should be aborted.
|
| int32_t rv = PP_ERROR_FAILED;
|
| {
|
| - rv = pp::FileRef(file_system, "/test_dir_make_abort")
|
| - .MakeDirectory(callback.GetCallback());
|
| + rv = pp::FileRef(file_system, "/dir_make_dir_abort")
|
| + .MakeDirectory(PP_MAKEDIRECTORYFLAG_NONE, callback.GetCallback());
|
| }
|
| callback.WaitForAbortResult(rv);
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
|
|
| - // MakeDirectoryIncludingAncestors.
|
| - dir_ref = pp::FileRef(file_system, "/dir_make_dir_1/dir_make_dir_2");
|
| + // Make nested directories.
|
| + dir_ref = pp::FileRef(file_system, "/dir_make_nested_dir_1/dir");
|
| callback.WaitForResult(
|
| - dir_ref.MakeDirectoryIncludingAncestors(callback.GetCallback()));
|
| + dir_ref.MakeDirectory(PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS,
|
| + callback.GetCallback()));
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
| - // MakeDirectoryIncludingAncestors aborted.
|
| - {
|
| - rv = pp::FileRef(file_system, "/dir_make_abort_1/dir_make_abort_2")
|
| - .MakeDirectoryIncludingAncestors(callback.GetCallback());
|
| - }
|
| - callback.WaitForAbortResult(rv);
|
| + dir_ref = pp::FileRef(file_system, "/dir_make_nested_dir_2/dir");
|
| + callback.WaitForResult(
|
| + dir_ref.MakeDirectory(PP_MAKEDIRECTORYFLAG_NONE, callback.GetCallback()));
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| + ASSERT_EQ(PP_ERROR_FILENOTFOUND, callback.result());
|
| +
|
| + // Ensure there is no directory on the path to test exclusive cases.
|
| + dir_ref = pp::FileRef(file_system, "/dir_make_dir_exclusive");
|
| + rv = DeleteDirectoryRecursively(&dir_ref);
|
| + ASSERT_TRUE(rv == PP_OK || rv == PP_ERROR_FILENOTFOUND);
|
| +
|
| + // Make a directory exclusively.
|
| + callback.WaitForResult(
|
| + dir_ref.MakeDirectory(PP_MAKEDIRECTORYFLAG_EXCLUSIVE,
|
| + callback.GetCallback()));
|
| + CHECK_CALLBACK_BEHAVIOR(callback);
|
| + ASSERT_EQ(PP_OK, callback.result());
|
|
|
| - // MakeDirectory with nested path should fail.
|
| - dir_ref = pp::FileRef(file_system, "/dir_make_dir_3/dir_make_dir_4");
|
| - callback.WaitForResult(dir_ref.MakeDirectory(callback.GetCallback()));
|
| + callback.WaitForResult(
|
| + dir_ref.MakeDirectory(PP_MAKEDIRECTORYFLAG_EXCLUSIVE,
|
| + callback.GetCallback()));
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| - ASSERT_NE(PP_OK, callback.result());
|
| + ASSERT_EQ(PP_ERROR_FILEEXISTS, callback.result());
|
|
|
| PASS();
|
| }
|
| @@ -432,7 +450,8 @@ std::string TestFileRef::TestDeleteFileAndDirectory() {
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
| pp::FileRef dir_ref(file_system, "/dir_delete");
|
| - callback.WaitForResult(dir_ref.MakeDirectory(callback.GetCallback()));
|
| + callback.WaitForResult(dir_ref.MakeDirectory(
|
| + PP_MAKEDIRECTORYFLAG_NONE, callback.GetCallback()));
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
| @@ -442,7 +461,8 @@ std::string TestFileRef::TestDeleteFileAndDirectory() {
|
|
|
| pp::FileRef nested_dir_ref(file_system, "/dir_delete_1/dir_delete_2");
|
| callback.WaitForResult(
|
| - nested_dir_ref.MakeDirectoryIncludingAncestors(callback.GetCallback()));
|
| + nested_dir_ref.MakeDirectory(PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS,
|
| + callback.GetCallback()));
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
| @@ -496,7 +516,8 @@ std::string TestFileRef::TestRenameFileAndDirectory() {
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
| pp::FileRef dir_ref(file_system, "/dir_rename");
|
| - callback.WaitForResult(dir_ref.MakeDirectory(callback.GetCallback()));
|
| + callback.WaitForResult(dir_ref.MakeDirectory(
|
| + PP_MAKEDIRECTORYFLAG_NONE, callback.GetCallback()));
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
| @@ -508,7 +529,8 @@ std::string TestFileRef::TestRenameFileAndDirectory() {
|
|
|
| pp::FileRef nested_dir_ref(file_system, "/dir_rename_1/dir_rename_2");
|
| callback.WaitForResult(
|
| - nested_dir_ref.MakeDirectoryIncludingAncestors(callback.GetCallback()));
|
| + nested_dir_ref.MakeDirectory(PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS,
|
| + callback.GetCallback()));
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
| @@ -615,7 +637,8 @@ std::string TestFileRef::TestFileNameEscaping() {
|
| std::string test_dir_path = "/dir_for_escaping_test";
|
| // Create a directory in which to test.
|
| pp::FileRef test_dir_ref(file_system, test_dir_path.c_str());
|
| - callback.WaitForResult(test_dir_ref.MakeDirectory(callback.GetCallback()));
|
| + callback.WaitForResult(test_dir_ref.MakeDirectory(
|
| + PP_MAKEDIRECTORYFLAG_NONE, callback.GetCallback()));
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
| @@ -663,7 +686,8 @@ std::string TestFileRef::TestReadDirectoryEntries() {
|
| int32_t rv = DeleteDirectoryRecursively(&test_dir);
|
| ASSERT_TRUE(rv == PP_OK || rv == PP_ERROR_FILENOTFOUND);
|
|
|
| - callback.WaitForResult(test_dir.MakeDirectory(callback.GetCallback()));
|
| + callback.WaitForResult(test_dir.MakeDirectory(
|
| + PP_MAKEDIRECTORYFLAG_NONE, callback.GetCallback()));
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
| @@ -690,7 +714,8 @@ std::string TestFileRef::TestReadDirectoryEntries() {
|
| buffer << test_dir_name << '/' << dir_prefix << i;
|
| pp::FileRef file_ref(file_system, buffer.str().c_str());
|
|
|
| - callback.WaitForResult(file_ref.MakeDirectory(callback.GetCallback()));
|
| + callback.WaitForResult(file_ref.MakeDirectory(
|
| + PP_MAKEDIRECTORYFLAG_NONE, callback.GetCallback()));
|
| CHECK_CALLBACK_BEHAVIOR(callback);
|
| ASSERT_EQ(PP_OK, callback.result());
|
|
|
|
|