| Index: ppapi/tests/test_file_ref.cc
|
| diff --git a/ppapi/tests/test_file_ref.cc b/ppapi/tests/test_file_ref.cc
|
| index 092601209b204068573bd10ed826cf05fa22fbd8..aff80e228f242925ee6b68c95800485f9fcdc21e 100644
|
| --- a/ppapi/tests/test_file_ref.cc
|
| +++ b/ppapi/tests/test_file_ref.cc
|
| @@ -59,6 +59,7 @@ void TestFileRef::RunTests(const std::string& filter) {
|
| RUN_TEST_FORCEASYNC_AND_NOT(QueryAndTouchFile, filter);
|
| RUN_TEST_FORCEASYNC_AND_NOT(DeleteFileAndDirectory, filter);
|
| RUN_TEST_FORCEASYNC_AND_NOT(RenameFileAndDirectory, filter);
|
| + RUN_TEST_FORCEASYNC_AND_NOT(Query, filter);
|
| #ifndef PPAPI_OS_NACL // NaCl can't run this test yet.
|
| RUN_TEST_FORCEASYNC_AND_NOT(FileNameEscaping, filter);
|
| #endif
|
| @@ -679,6 +680,45 @@ std::string TestFileRef::TestRenameFileAndDirectory() {
|
| PASS();
|
| }
|
|
|
| +std::string TestFileRef::TestQuery() {
|
| + TestCompletionCallback callback(instance_->pp_instance());
|
| +
|
| + pp::FileSystem file_system(instance_, PP_FILESYSTEMTYPE_LOCALTEMPORARY);
|
| + callback.WaitForResult(file_system.Open(1024, callback));
|
| + CHECK_CALLBACK_BEHAVIOR(callback);
|
| + ASSERT_EQ(PP_OK, callback.result());
|
| +
|
| + pp::FileRef file_ref(file_system, "/file");
|
| + pp::FileIO file_io(instance_);
|
| + callback.WaitForResult(file_io.Open(file_ref, PP_FILEOPENFLAG_CREATE,
|
| + callback));
|
| + CHECK_CALLBACK_BEHAVIOR(callback);
|
| + ASSERT_EQ(PP_OK, callback.result());
|
| +
|
| + // We touch the file so we can easily check access and modified time.
|
| + callback.WaitForResult(file_io.Touch(0, 0, callback));
|
| + CHECK_CALLBACK_BEHAVIOR(callback);
|
| + ASSERT_EQ(PP_OK, callback.result());
|
| +
|
| + PP_FileInfo info;
|
| + callback.WaitForResult(file_ref.Query(&info, callback));
|
| + CHECK_CALLBACK_BEHAVIOR(callback);
|
| + ASSERT_EQ(PP_OK, callback.result());
|
| +
|
| + ASSERT_EQ(0, info.size);
|
| + ASSERT_EQ(PP_FILETYPE_REGULAR, info.type);
|
| + ASSERT_EQ(PP_FILESYSTEMTYPE_LOCALTEMPORARY, info.system_type);
|
| + ASSERT_DOUBLE_EQ(0.0, info.last_access_time);
|
| + ASSERT_DOUBLE_EQ(0.0, info.last_modified_time);
|
| +
|
| + pp::FileRef missing_file_ref(file_system, "/missing_file");
|
| + callback.WaitForResult(missing_file_ref.Query(&info, callback));
|
| + CHECK_CALLBACK_BEHAVIOR(callback);
|
| + ASSERT_EQ(PP_ERROR_FILENOTFOUND, callback.result());
|
| +
|
| + PASS();
|
| +}
|
| +
|
| #ifndef PPAPI_OS_NACL
|
| std::string TestFileRef::TestFileNameEscaping() {
|
| TestCompletionCallback callback(instance_->pp_instance(), force_async_);
|
|
|