Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Unified Diff: base/files/memory_mapped_file_unittest.cc

Issue 430583005: Make VEA test support videos with different coded size and visible size (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address review comments of patch set 11 Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/files/memory_mapped_file_unittest.cc
diff --git a/base/files/memory_mapped_file_unittest.cc b/base/files/memory_mapped_file_unittest.cc
index 6627d4044287d0f81ddab3cb9b0389399e43da74..ab9fc4ad91d65b13a830e25cef87fecba78fff14 100644
--- a/base/files/memory_mapped_file_unittest.cc
+++ b/base/files/memory_mapped_file_unittest.cc
@@ -161,6 +161,63 @@ TEST_F(MemoryMappedFileTest, MapLargePartialRegionInTheMiddle) {
ASSERT_TRUE(CheckBufferContents(map.data(), kPartialSize, kOffset));
}
+TEST_F(MemoryMappedFileTest, MapWholeFileWithWrite) {
+ const size_t kFileSize = 68 * 1024;
+ CreateTemporaryTestFile(kFileSize);
+ MemoryMappedFile map;
+ map.Initialize(File(temp_file_path(), File::FLAG_OPEN |
+ File::FLAG_READ |
+ File::FLAG_WRITE), true);
+ ASSERT_EQ(kFileSize, map.length());
+ ASSERT_TRUE(map.data() != NULL);
+ EXPECT_TRUE(map.IsValid());
+ ASSERT_TRUE(CheckBufferContents(map.data(), kFileSize, 0));
+
+ const char* test_string = "TEST_STRING";
wuchengli 2014/09/01 06:57:15 Can we use CreateTestBuffer with a non-0 offset?
henryhsu 2014/09/01 07:49:49 Done.
+ memcpy(map.data(), test_string, strlen(test_string));
+ map.CloseHandles();
+
+ MemoryMappedFile read_map;
+ read_map.Initialize(File(temp_file_path(), File::FLAG_OPEN |
+ File::FLAG_READ));
+ ASSERT_EQ(kFileSize, read_map.length());
+ ASSERT_TRUE(read_map.data() != NULL);
+ EXPECT_TRUE(read_map.IsValid());
+ ASSERT_TRUE(memcmp(read_map.data(), test_string, strlen(test_string)) == 0);
wuchengli 2014/09/01 06:57:15 Use CheckBufferContents with a non-0 offset?
henryhsu 2014/09/01 07:49:49 Done.
+}
+
+TEST_F(MemoryMappedFileTest, MapLargePartialRegionInTheMiddleWithWrite) {
+ const size_t kFileSize = 157 * 1024;
+ const size_t kOffset = 1024 * 5 + 32;
+ const size_t kPartialSize = 16 * 1024 - 32;
+
+ CreateTemporaryTestFile(kFileSize);
+ MemoryMappedFile map;
+
+ File file(temp_file_path(), File::FLAG_OPEN |
+ File::FLAG_READ |
+ File::FLAG_WRITE);
+ map.Initialize(
+ file.Pass(), MemoryMappedFile::Region(kOffset, kPartialSize), true);
+ ASSERT_EQ(kPartialSize, map.length());
+ ASSERT_TRUE(map.data() != NULL);
+ EXPECT_TRUE(map.IsValid());
+ ASSERT_TRUE(CheckBufferContents(map.data(), kPartialSize, kOffset));
+
+ const char* test_string = "TEST_STRING";
+ memcpy(map.data(), test_string, strlen(test_string));
+ map.CloseHandles();
+
+ MemoryMappedFile read_map;
+ read_map.Initialize(File(temp_file_path(), File::FLAG_OPEN |
+ File::FLAG_READ));
+ ASSERT_EQ(kFileSize, read_map.length());
+ ASSERT_TRUE(read_map.data() != NULL);
+ EXPECT_TRUE(read_map.IsValid());
+ ASSERT_TRUE(
+ memcmp(read_map.data() + kOffset, test_string, strlen(test_string)) == 0);
wuchengli 2014/09/01 06:57:15 Use CheckBufferContents with a non-0 offset?
henryhsu 2014/09/01 07:49:49 Done.
+}
+
} // namespace
} // namespace base

Powered by Google App Engine
This is Rietveld 408576698