diff options
author | kloveless@chromium.org <kloveless@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-18 21:11:50 +0000 |
---|---|---|
committer | kloveless@chromium.org <kloveless@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-18 21:11:50 +0000 |
commit | d3eba3428254af18968db5dc81ec632b04b0c014 (patch) | |
tree | dd5c5dae04331d26709d3790bf3a9296047e812f /gpu/command_buffer/service/texture_manager_unittest.cc | |
parent | 58a0644d395cdc0c1f921a527f3b6d6ba69d1977 (diff) | |
download | chromium_src-d3eba3428254af18968db5dc81ec632b04b0c014.zip chromium_src-d3eba3428254af18968db5dc81ec632b04b0c014.tar.gz chromium_src-d3eba3428254af18968db5dc81ec632b04b0c014.tar.bz2 |
Clean up of GLES2 Command Decoder by moving some of the error state into a separate class.
Review URL: https://chromiumcodereview.appspot.com/14308014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195002 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/texture_manager_unittest.cc')
-rw-r--r-- | gpu/command_buffer/service/texture_manager_unittest.cc | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/gpu/command_buffer/service/texture_manager_unittest.cc b/gpu/command_buffer/service/texture_manager_unittest.cc index 2e062a4..bef870b 100644 --- a/gpu/command_buffer/service/texture_manager_unittest.cc +++ b/gpu/command_buffer/service/texture_manager_unittest.cc @@ -5,6 +5,7 @@ #include "gpu/command_buffer/service/texture_manager.h" #include "base/memory/scoped_ptr.h" +#include "gpu/command_buffer/service/error_state_mock.h" #include "gpu/command_buffer/service/feature_info.h" #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" #include "gpu/command_buffer/service/memory_tracking.h" @@ -63,7 +64,7 @@ class TextureManagerTest : public testing::Test { kMaxTextureSize, kMaxCubeMapTextureSize)); TestHelper::SetupTextureManagerInitExpectations(gl_.get(), ""); manager_->Initialize(); - decoder_.reset(new ::testing::StrictMock<gles2::MockGLES2Decoder>()); + error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); } virtual void TearDown() { @@ -76,7 +77,7 @@ class TextureManagerTest : public testing::Test { void SetParameter( Texture* texture, GLenum pname, GLint value, GLenum error) { TestHelper::SetTexParameterWithExpectations( - gl_.get(), decoder_.get(), manager_.get(), + gl_.get(), error_state_.get(), manager_.get(), texture, pname, value, error); } @@ -84,7 +85,7 @@ class TextureManagerTest : public testing::Test { scoped_ptr< ::testing::StrictMock< ::gfx::MockGLInterface> > gl_; scoped_refptr<FeatureInfo> feature_info_; scoped_ptr<TextureManager> manager_; - scoped_ptr<MockGLES2Decoder> decoder_; + scoped_ptr<MockErrorState> error_state_; }; // GCC requires these declarations, but MSVC requires they not be present @@ -172,7 +173,7 @@ TEST_F(TextureManagerTest, TextureUsageExt) { Texture* texture = manager.GetTexture(kClient1Id); ASSERT_TRUE(texture != NULL); TestHelper::SetTexParameterWithExpectations( - gl_.get(), decoder_.get(), &manager, texture, + gl_.get(), error_state_.get(), &manager, texture, GL_TEXTURE_USAGE_ANGLE, GL_FRAMEBUFFER_ATTACHMENT_ANGLE,GL_NO_ERROR); EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_ATTACHMENT_ANGLE), texture->usage()); @@ -382,6 +383,7 @@ class TextureTestBase : public testing::Test { memory_tracker, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize)); decoder_.reset(new ::testing::StrictMock<gles2::MockGLES2Decoder>()); + error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); manager_->CreateTexture(kClient1Id, kService1Id); texture_ = manager_->GetTexture(kClient1Id); ASSERT_TRUE(texture_.get() != NULL); @@ -410,15 +412,16 @@ class TextureTestBase : public testing::Test { void SetParameter( Texture* texture, GLenum pname, GLint value, GLenum error) { TestHelper::SetTexParameterWithExpectations( - gl_.get(), decoder_.get(), manager_.get(), + gl_.get(), error_state_.get(), manager_.get(), texture, pname, value, error); } + scoped_ptr<MockGLES2Decoder> decoder_; + scoped_ptr<MockErrorState> error_state_; // Use StrictMock to make 100% sure we know how GL will be called. scoped_ptr< ::testing::StrictMock< ::gfx::MockGLInterface> > gl_; scoped_refptr<FeatureInfo> feature_info_; scoped_ptr<TextureManager> manager_; - scoped_ptr<MockGLES2Decoder> decoder_; scoped_refptr<Texture> texture_; }; @@ -852,11 +855,11 @@ TEST_F(TextureTest, FloatNotLinear) { GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_FLOAT, true); EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); TestHelper::SetTexParameterWithExpectations( - gl_.get(), decoder_.get(), &manager, + gl_.get(), error_state_.get(), &manager, texture, GL_TEXTURE_MAG_FILTER, GL_NEAREST, GL_NO_ERROR); EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); TestHelper::SetTexParameterWithExpectations( - gl_.get(), decoder_.get(), &manager, + gl_.get(), error_state_.get(), &manager, texture, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST, GL_NO_ERROR); EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); manager.Destroy(false); @@ -896,11 +899,11 @@ TEST_F(TextureTest, HalfFloatNotLinear) { GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_HALF_FLOAT_OES, true); EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); TestHelper::SetTexParameterWithExpectations( - gl_.get(), decoder_.get(), &manager, + gl_.get(), error_state_.get(), &manager, texture, GL_TEXTURE_MAG_FILTER, GL_NEAREST, GL_NO_ERROR); EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); TestHelper::SetTexParameterWithExpectations( - gl_.get(), decoder_.get(), &manager, + gl_.get(), error_state_.get(), &manager, texture, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST, GL_NO_ERROR); EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); manager.Destroy(false); @@ -1293,6 +1296,9 @@ class SaveRestoreTextureTest : public TextureTest { TextureTest::SetUpBase(NULL, "GL_OES_EGL_image_external"); manager_->CreateTexture(kClient2Id, kService2Id); texture2_ = manager_->GetTexture(kClient2Id); + + EXPECT_CALL(*decoder_.get(), GetErrorState()) + .WillRepeatedly(Return(error_state_.get())); } virtual void TearDown() { |