summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
Diffstat (limited to 'webkit')
-rw-r--r--webkit/browser/fileapi/async_file_test_helper.cc21
-rw-r--r--webkit/browser/fileapi/async_file_test_helper.h7
-rw-r--r--webkit/browser/fileapi/upload_file_system_file_element_reader_unittest.cc29
3 files changed, 34 insertions, 23 deletions
diff --git a/webkit/browser/fileapi/async_file_test_helper.cc b/webkit/browser/fileapi/async_file_test_helper.cc
index 8a01fd2..ff38d1f8 100644
--- a/webkit/browser/fileapi/async_file_test_helper.cc
+++ b/webkit/browser/fileapi/async_file_test_helper.cc
@@ -3,6 +3,8 @@
// found in the LICENSE file.
#include "base/bind.h"
+#include "base/file_util.h"
+#include "base/files/scoped_temp_dir.h"
#include "base/run_loop.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "webkit/browser/fileapi/async_file_test_helper.h"
@@ -164,6 +166,25 @@ base::PlatformFileError AsyncFileTestHelper::CreateFile(
return result;
}
+base::PlatformFileError AsyncFileTestHelper::CreateFileWithData(
+ FileSystemContext* context,
+ const FileSystemURL& url,
+ const char* buf,
+ int buf_size) {
+ base::ScopedTempDir dir;
+ if (!dir.CreateUniqueTempDir())
+ return base::PLATFORM_FILE_ERROR_FAILED;
+ base::FilePath local_path = dir.path().AppendASCII("tmp");
+ if (buf_size != file_util::WriteFile(local_path, buf, buf_size))
+ return base::PLATFORM_FILE_ERROR_FAILED;
+ base::PlatformFileError result = base::PLATFORM_FILE_ERROR_FAILED;
+ base::RunLoop run_loop;
+ context->operation_runner()->CopyInForeignFile(
+ local_path, url, AssignAndQuitCallback(&run_loop, &result));
+ run_loop.Run();
+ return result;
+}
+
base::PlatformFileError AsyncFileTestHelper::TruncateFile(
FileSystemContext* context,
const FileSystemURL& url,
diff --git a/webkit/browser/fileapi/async_file_test_helper.h b/webkit/browser/fileapi/async_file_test_helper.h
index cfa7981..da27bf2 100644
--- a/webkit/browser/fileapi/async_file_test_helper.h
+++ b/webkit/browser/fileapi/async_file_test_helper.h
@@ -54,6 +54,13 @@ class AsyncFileTestHelper {
static base::PlatformFileError CreateFile(FileSystemContext* context,
const FileSystemURL& url);
+ // Creates a file at |url| and fills with |buf|.
+ static base::PlatformFileError CreateFileWithData(
+ FileSystemContext* context,
+ const FileSystemURL& url,
+ const char* buf,
+ int buf_size);
+
// Truncates the file |url| to |size|.
static base::PlatformFileError TruncateFile(FileSystemContext* context,
const FileSystemURL& url,
diff --git a/webkit/browser/fileapi/upload_file_system_file_element_reader_unittest.cc b/webkit/browser/fileapi/upload_file_system_file_element_reader_unittest.cc
index e6e0d4c..f79fd735 100644
--- a/webkit/browser/fileapi/upload_file_system_file_element_reader_unittest.cc
+++ b/webkit/browser/fileapi/upload_file_system_file_element_reader_unittest.cc
@@ -9,9 +9,9 @@
#include "net/base/io_buffer.h"
#include "net/base/test_completion_callback.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "webkit/browser/fileapi/async_file_test_helper.h"
#include "webkit/browser/fileapi/file_system_backend.h"
#include "webkit/browser/fileapi/file_system_context.h"
-#include "webkit/browser/fileapi/file_system_file_util.h"
#include "webkit/browser/fileapi/file_system_operation_context.h"
#include "webkit/browser/fileapi/file_system_url.h"
#include "webkit/browser/fileapi/mock_file_system_context.h"
@@ -89,31 +89,14 @@ class UploadFileSystemFileElementReaderTest : public testing::Test {
kFileSystemType,
base::FilePath().AppendASCII(filename));
- fileapi::FileSystemFileUtil* file_util =
- file_system_context_->GetFileUtil(kFileSystemType);
-
- fileapi::FileSystemOperationContext context(file_system_context_.get());
- context.set_allowed_bytes_growth(1024);
-
- base::PlatformFile handle = base::kInvalidPlatformFileValue;
- bool created = false;
- ASSERT_EQ(base::PLATFORM_FILE_OK, file_util->CreateOrOpen(
- &context,
- url,
- base::PLATFORM_FILE_CREATE | base::PLATFORM_FILE_WRITE,
- &handle,
- &created));
- EXPECT_TRUE(created);
- ASSERT_NE(base::kInvalidPlatformFileValue, handle);
- ASSERT_EQ(buf_size,
- base::WritePlatformFile(handle, 0 /* offset */, buf, buf_size));
- base::ClosePlatformFile(handle);
+ ASSERT_EQ(base::PLATFORM_FILE_OK,
+ AsyncFileTestHelper::CreateFileWithData(
+ file_system_context_, url, buf, buf_size));
base::PlatformFileInfo file_info;
- base::FilePath platform_path;
ASSERT_EQ(base::PLATFORM_FILE_OK,
- file_util->GetFileInfo(&context, url, &file_info,
- &platform_path));
+ AsyncFileTestHelper::GetMetadata(
+ file_system_context_, url, &file_info));
*modification_time = file_info.last_modified;
}