summaryrefslogtreecommitdiffstats
path: root/gfx/angle/src/libANGLE/ResourceManager_unittest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/angle/src/libANGLE/ResourceManager_unittest.cpp')
-rwxr-xr-xgfx/angle/src/libANGLE/ResourceManager_unittest.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/gfx/angle/src/libANGLE/ResourceManager_unittest.cpp b/gfx/angle/src/libANGLE/ResourceManager_unittest.cpp
new file mode 100755
index 000000000..a9dff145b
--- /dev/null
+++ b/gfx/angle/src/libANGLE/ResourceManager_unittest.cpp
@@ -0,0 +1,67 @@
+//
+// Copyright 2015 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// Unit tests for ResourceManager.
+//
+
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+
+#include "libANGLE/ResourceManager.h"
+#include "tests/angle_unittests_utils.h"
+
+using namespace rx;
+using namespace gl;
+
+using ::testing::_;
+
+namespace
+{
+
+class ResourceManagerTest : public testing::Test
+{
+ protected:
+ void SetUp() override
+ {
+ mResourceManager = new ResourceManager();
+ }
+
+ void TearDown() override
+ {
+ SafeDelete(mResourceManager);
+ }
+
+ MockGLFactory mMockFactory;
+ ResourceManager *mResourceManager;
+};
+
+TEST_F(ResourceManagerTest, ReallocateBoundTexture)
+{
+ EXPECT_CALL(mMockFactory, createTexture(_)).Times(1).RetiresOnSaturation();
+
+ mResourceManager->checkTextureAllocation(&mMockFactory, 1, GL_TEXTURE_2D);
+ GLuint newTexture = mResourceManager->createTexture();
+ EXPECT_NE(1u, newTexture);
+}
+
+TEST_F(ResourceManagerTest, ReallocateBoundBuffer)
+{
+ EXPECT_CALL(mMockFactory, createBuffer(_)).Times(1).RetiresOnSaturation();
+
+ mResourceManager->checkBufferAllocation(&mMockFactory, 1);
+ GLuint newBuffer = mResourceManager->createBuffer();
+ EXPECT_NE(1u, newBuffer);
+}
+
+TEST_F(ResourceManagerTest, ReallocateBoundRenderbuffer)
+{
+ EXPECT_CALL(mMockFactory, createRenderbuffer()).Times(1).RetiresOnSaturation();
+
+ mResourceManager->checkRenderbufferAllocation(&mMockFactory, 1);
+ GLuint newRenderbuffer = mResourceManager->createRenderbuffer();
+ EXPECT_NE(1u, newRenderbuffer);
+}
+
+} // anonymous namespace