Index: chrome/browser/extensions/api/image_writer_private/test_utils.cc |
diff --git a/chrome/browser/extensions/api/image_writer_private/test_utils.cc b/chrome/browser/extensions/api/image_writer_private/test_utils.cc |
index 651ce0a2d1af7022d64c1412e476c464651f695c..0aa184a0eef182243b40663f70cd86240ef4f279 100644 |
--- a/chrome/browser/extensions/api/image_writer_private/test_utils.cc |
+++ b/chrome/browser/extensions/api/image_writer_private/test_utils.cc |
@@ -15,15 +15,53 @@ MockOperationManager::~MockOperationManager() { |
} |
void ImageWriterUnitTestBase::SetUp() { |
- ASSERT_TRUE(base::CreateTemporaryFile(&test_image_)); |
- ASSERT_TRUE(base::CreateTemporaryFile(&test_device_)); |
+ testing::Test::SetUp(); |
+ ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
- ASSERT_EQ(32, file_util::WriteFile(test_image_, kTestData, 32)); |
+ ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), |
+ &test_image_path_)); |
+ ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), |
+ &test_device_path_)); |
+ |
+ ASSERT_TRUE(FillFile(test_image_path_, kImagePattern, kTestFileSize)); |
+ ASSERT_TRUE(FillFile(test_device_path_, kDevicePattern, kTestFileSize)); |
} |
void ImageWriterUnitTestBase::TearDown() { |
- base::DeleteFile(test_image_, false); |
- base::DeleteFile(test_device_, false); |
+} |
+ |
+bool ImageWriterUnitTestBase::CompareImageAndDevice() { |
+ char image_buffer[kTestFileSize]; |
+ char device_buffer[kTestFileSize]; |
+ |
+ while (true) { |
+ int image_bytes_read = ReadFile(test_image_path_, |
+ image_buffer, |
+ kTestFileSize); |
+ int device_bytes_read = ReadFile(test_device_path_, |
+ device_buffer, |
+ kTestFileSize); |
+ |
+ if (image_bytes_read != device_bytes_read) |
+ return false; |
+ |
+ if (image_bytes_read == 0) |
+ return true; |
+ |
+ if (memcmp(image_buffer, device_buffer, image_bytes_read) != 0) |
+ return false; |
+ } |
+ |
+ NOTREACHED(); |
+} |
+ |
+bool ImageWriterUnitTestBase::FillFile(const base::FilePath& file, |
+ const char pattern, |
+ const int length) { |
+ char buffer[length]; |
+ memset(buffer, pattern, length); |
+ |
+ return file_util::WriteFile(file, buffer, length) == length; |
} |
} // namespace image_writer |