Index: gpu/command_buffer/client/mapped_memory_unittest.cc |
diff --git a/gpu/command_buffer/client/mapped_memory_unittest.cc b/gpu/command_buffer/client/mapped_memory_unittest.cc |
index ee9b025696c90c545da997ea5f1d40b0d16bb383..0b6089705ade8e154cab61ef4458f9b446a45b76 100644 |
--- a/gpu/command_buffer/client/mapped_memory_unittest.cc |
+++ b/gpu/command_buffer/client/mapped_memory_unittest.cc |
@@ -253,6 +253,26 @@ TEST_F(MappedMemoryManagerTest, DontFree) { |
ASSERT_TRUE(mem1); |
} |
+TEST_F(MappedMemoryManagerTest, FreeUnused) { |
+ int32 id = -1; |
+ unsigned int offset = 0xFFFFFFFFU; |
+ void* m1 = manager_->Alloc(kBufferSize, &id, &offset); |
+ void* m2 = manager_->Alloc(kBufferSize, &id, &offset); |
+ ASSERT_TRUE(m1 != NULL); |
+ ASSERT_TRUE(m2 != NULL); |
+ EXPECT_EQ(2u, manager_->num_chunks()); |
+ manager_->FreeUnused(); |
+ EXPECT_EQ(2u, manager_->num_chunks()); |
+ manager_->Free(m2); |
+ EXPECT_EQ(2u, manager_->num_chunks()); |
+ manager_->FreeUnused(); |
+ EXPECT_EQ(1u, manager_->num_chunks()); |
+ manager_->Free(m1); |
+ EXPECT_EQ(1u, manager_->num_chunks()); |
+ manager_->FreeUnused(); |
+ EXPECT_EQ(0u, manager_->num_chunks()); |
+} |
+ |
} // namespace gpu |