+ metadata());
+
+ const base::FilePath kFilePath(FILE_PATH_LITERAL("drive/root/New File.txt"));
+ FileError error = FILE_ERROR_FAILED;
+ operation.CreateFile(
+ kFilePath,
+ true, // is_exclusive
+ std::string(), // no predetermined mime type
+ google_apis::test_util::CreateCopyResultCallback(&error));
+ test_util::RunBlockingPoolTask();
+ EXPECT_EQ(FILE_ERROR_OK, error);
+
+ ResourceEntry entry;
+ EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(kFilePath, &entry));
+ EXPECT_EQ(ResourceEntry::DIRTY, entry.metadata_edit_state());
+ EXPECT_FALSE(base::Time::FromInternalValue(
+ entry.file_info().last_modified()).is_null());
+ EXPECT_FALSE(base::Time::FromInternalValue(
+ entry.file_info().last_accessed()).is_null());
+
+ EXPECT_EQ(1u, observer()->get_changed_paths().size());
+ EXPECT_EQ(1u, observer()->get_changed_paths().count(kFilePath.DirName()));
+ EXPECT_EQ(1u, observer()->updated_local_ids().size());
+ EXPECT_EQ(1u, observer()->updated_local_ids().count(entry.local_id()));
+}
+
+TEST_F(CreateFileOperationTest, CreateFileIsExclusive) {
+ CreateFileOperation operation(blocking_task_runner(),
+ observer(),
+ metadata());