Index: gpu/command_buffer/service/valuebuffer_manager_unittest.cc |
diff --git a/gpu/command_buffer/service/valuebuffer_manager_unittest.cc b/gpu/command_buffer/service/valuebuffer_manager_unittest.cc |
index ead5df5d1663b7b9a09e3be256376d943818ae6f..44cc2f76caa8e56f47f002facd1d608e52eb86d3 100644 |
--- a/gpu/command_buffer/service/valuebuffer_manager_unittest.cc |
+++ b/gpu/command_buffer/service/valuebuffer_manager_unittest.cc |
@@ -9,6 +9,7 @@ |
#include "base/strings/string_util.h" |
#include "gpu/command_buffer/common/gles2_cmd_format.h" |
#include "gpu/command_buffer/common/gles2_cmd_utils.h" |
+#include "gpu/command_buffer/common/value_state.h" |
#include "gpu/command_buffer/service/common_decoder.h" |
#include "gpu/command_buffer/service/feature_info.h" |
#include "gpu/command_buffer/service/gpu_service_test.h" |
@@ -23,47 +24,59 @@ namespace gles2 { |
class ValuebufferManagerTest : public GpuServiceTest { |
public: |
- ValuebufferManagerTest() : manager_() {} |
- ~ValuebufferManagerTest() override { manager_.Destroy(); } |
+ ValuebufferManagerTest() {} |
+ ~ValuebufferManagerTest() {} |
+ |
+ void SetUp() override { |
+ GpuServiceTest::SetUp(); |
+ pending_state_map_ = new ValueStateMap(); |
+ manager_.reset(new ValuebufferManager(pending_state_map_.get())); |
+ } |
+ |
+ void TearDown() override { |
+ manager_->Destroy(); |
+ GpuServiceTest::TearDown(); |
+ } |
protected: |
- ValuebufferManager manager_; |
+ scoped_refptr<ValueStateMap> pending_state_map_; |
+ scoped_ptr<ValuebufferManager> manager_; |
}; |
TEST_F(ValuebufferManagerTest, Basic) { |
const GLuint kClient1Id = 1; |
const GLuint kClient2Id = 2; |
// Check we can create a Valuebuffer |
- manager_.CreateValuebuffer(kClient1Id); |
- Valuebuffer* valuebuffer0 = manager_.GetValuebuffer(kClient1Id); |
+ manager_->CreateValuebuffer(kClient1Id); |
+ Valuebuffer* valuebuffer0 = manager_->GetValuebuffer(kClient1Id); |
ASSERT_TRUE(valuebuffer0 != NULL); |
EXPECT_EQ(kClient1Id, valuebuffer0->client_id()); |
// Check we get nothing for a non-existent Valuebuffer. |
// Check trying to a remove non-existent Valuebuffer does not crash |
- manager_.RemoveValuebuffer(kClient2Id); |
+ manager_->RemoveValuebuffer(kClient2Id); |
// Check we can't get the renderbuffer after we remove it. |
- manager_.RemoveValuebuffer(kClient1Id); |
- EXPECT_TRUE(manager_.GetValuebuffer(kClient1Id) == NULL); |
+ manager_->RemoveValuebuffer(kClient1Id); |
+ EXPECT_TRUE(manager_->GetValuebuffer(kClient1Id) == NULL); |
} |
TEST_F(ValuebufferManagerTest, Destroy) { |
const GLuint kClient1Id = 1; |
// Check we can create Valuebuffer. |
- manager_.CreateValuebuffer(kClient1Id); |
- Valuebuffer* valuebuffer0 = manager_.GetValuebuffer(kClient1Id); |
+ manager_->CreateValuebuffer(kClient1Id); |
+ Valuebuffer* valuebuffer0 = manager_->GetValuebuffer(kClient1Id); |
ASSERT_TRUE(valuebuffer0 != NULL); |
EXPECT_EQ(kClient1Id, valuebuffer0->client_id()); |
- manager_.Destroy(); |
+ manager_->Destroy(); |
// Check the resources were released. |
- Valuebuffer* valuebuffer1 = manager_.GetValuebuffer(kClient1Id); |
+ Valuebuffer* valuebuffer1 = manager_->GetValuebuffer(kClient1Id); |
ASSERT_TRUE(valuebuffer1 == NULL); |
} |
TEST_F(ValuebufferManagerTest, ValueBuffer) { |
const GLuint kClient1Id = 1; |
// Check we can create a Valuebuffer |
- manager_.CreateValuebuffer(kClient1Id); |
- Valuebuffer* valuebuffer0 = manager_.GetValuebuffer(kClient1Id); |
+ manager_->CreateValuebuffer(kClient1Id); |
+ Valuebuffer* valuebuffer0 = manager_->GetValuebuffer(kClient1Id); |
ASSERT_TRUE(valuebuffer0 != NULL); |
EXPECT_EQ(kClient1Id, valuebuffer0->client_id()); |
EXPECT_FALSE(valuebuffer0->IsValid()); |
@@ -75,21 +88,21 @@ TEST_F(ValuebufferManagerTest, UpdateState) { |
valuestate1.int_value[0] = 111; |
ValueState valuestate2; |
valuestate2.int_value[0] = 222; |
- manager_.CreateValuebuffer(kClient1Id); |
- Valuebuffer* valuebuffer0 = manager_.GetValuebuffer(kClient1Id); |
+ manager_->CreateValuebuffer(kClient1Id); |
+ Valuebuffer* valuebuffer0 = manager_->GetValuebuffer(kClient1Id); |
ASSERT_TRUE(valuebuffer0 != NULL); |
EXPECT_EQ(kClient1Id, valuebuffer0->client_id()); |
valuebuffer0->AddSubscription(GL_MOUSE_POSITION_CHROMIUM); |
ASSERT_TRUE(valuebuffer0->GetState(GL_MOUSE_POSITION_CHROMIUM) == NULL); |
- manager_.UpdateValueState(GL_MOUSE_POSITION_CHROMIUM, valuestate1); |
- manager_.UpdateValuebufferState(valuebuffer0); |
+ pending_state_map_->UpdateState(GL_MOUSE_POSITION_CHROMIUM, valuestate1); |
+ manager_->UpdateValuebufferState(valuebuffer0); |
const ValueState* new_state1 = |
valuebuffer0->GetState(GL_MOUSE_POSITION_CHROMIUM); |
ASSERT_TRUE(new_state1 != NULL); |
ASSERT_TRUE(new_state1->int_value[0] == 111); |
// Ensure state changes |
- manager_.UpdateValueState(GL_MOUSE_POSITION_CHROMIUM, valuestate2); |
- manager_.UpdateValuebufferState(valuebuffer0); |
+ pending_state_map_->UpdateState(GL_MOUSE_POSITION_CHROMIUM, valuestate2); |
+ manager_->UpdateValuebufferState(valuebuffer0); |
const ValueState* new_state2 = |
valuebuffer0->GetState(GL_MOUSE_POSITION_CHROMIUM); |
ASSERT_TRUE(new_state2 != NULL); |