diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 19:40:56 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 19:40:56 +0000 |
commit | c79f147c0474a311a83829a44b55aaffa42c6237 (patch) | |
tree | 8bb41fcb74068042828da31c279b0d53dd0844fa /cc/texture_layer_unittest.cc | |
parent | e62f2909e0aabf37131a65c7e50e85c1f07473f8 (diff) | |
download | chromium_src-c79f147c0474a311a83829a44b55aaffa42c6237.zip chromium_src-c79f147c0474a311a83829a44b55aaffa42c6237.tar.gz chromium_src-c79f147c0474a311a83829a44b55aaffa42c6237.tar.bz2 |
[cc] Change cc_tests.gyp filenames to Chromium style
BUG=155413
Review URL: https://codereview.chromium.org/11108020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161642 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/texture_layer_unittest.cc')
-rw-r--r-- | cc/texture_layer_unittest.cc | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/cc/texture_layer_unittest.cc b/cc/texture_layer_unittest.cc new file mode 100644 index 0000000..b9d7474 --- /dev/null +++ b/cc/texture_layer_unittest.cc @@ -0,0 +1,121 @@ +// Copyright 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "config.h" + +#include "TextureLayerChromium.h" + +#include "CCLayerTreeHost.h" +#include "FakeCCLayerTreeHostClient.h" +#include "WebCompositorInitializer.h" +#include "testing/gmock/include/gmock/gmock.h" +#include "testing/gtest/include/gtest/gtest.h" + +using namespace cc; +using ::testing::Mock; +using ::testing::_; +using ::testing::AtLeast; +using ::testing::AnyNumber; + +namespace { + +class MockCCLayerTreeHost : public CCLayerTreeHost { +public: + MockCCLayerTreeHost() + : CCLayerTreeHost(&m_fakeClient, CCLayerTreeSettings()) + { + initialize(); + } + + MOCK_METHOD0(acquireLayerTextures, void()); + +private: + FakeCCLayerTreeHostClient m_fakeClient; +}; + + +class TextureLayerChromiumTest : public testing::Test { +public: + TextureLayerChromiumTest() + : m_compositorInitializer(0) + { + } + +protected: + virtual void SetUp() + { + m_layerTreeHost = adoptPtr(new MockCCLayerTreeHost); + } + + virtual void TearDown() + { + Mock::VerifyAndClearExpectations(m_layerTreeHost.get()); + EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(AnyNumber()); + + m_layerTreeHost->setRootLayer(0); + m_layerTreeHost.clear(); + } + + OwnPtr<MockCCLayerTreeHost> m_layerTreeHost; +private: + WebKitTests::WebCompositorInitializer m_compositorInitializer; +}; + +TEST_F(TextureLayerChromiumTest, syncImplWhenChangingTextureId) +{ + scoped_refptr<TextureLayerChromium> testLayer = TextureLayerChromium::create(0); + ASSERT_TRUE(testLayer); + + EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(AnyNumber()); + m_layerTreeHost->setRootLayer(testLayer); + Mock::VerifyAndClearExpectations(m_layerTreeHost.get()); + EXPECT_EQ(testLayer->layerTreeHost(), m_layerTreeHost.get()); + + EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(0); + testLayer->setTextureId(1); + Mock::VerifyAndClearExpectations(m_layerTreeHost.get()); + + EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(AtLeast(1)); + testLayer->setTextureId(2); + Mock::VerifyAndClearExpectations(m_layerTreeHost.get()); + + EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(AtLeast(1)); + testLayer->setTextureId(0); + Mock::VerifyAndClearExpectations(m_layerTreeHost.get()); +} + +TEST_F(TextureLayerChromiumTest, syncImplWhenRemovingFromTree) +{ + scoped_refptr<LayerChromium> rootLayer = LayerChromium::create(); + ASSERT_TRUE(rootLayer); + scoped_refptr<LayerChromium> childLayer = LayerChromium::create(); + ASSERT_TRUE(childLayer); + rootLayer->addChild(childLayer); + scoped_refptr<TextureLayerChromium> testLayer = TextureLayerChromium::create(0); + ASSERT_TRUE(testLayer); + testLayer->setTextureId(0); + childLayer->addChild(testLayer); + + EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(AnyNumber()); + m_layerTreeHost->setRootLayer(rootLayer); + Mock::VerifyAndClearExpectations(m_layerTreeHost.get()); + + EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(0); + testLayer->removeFromParent(); + Mock::VerifyAndClearExpectations(m_layerTreeHost.get()); + + EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(0); + childLayer->addChild(testLayer); + Mock::VerifyAndClearExpectations(m_layerTreeHost.get()); + + EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(0); + testLayer->setTextureId(1); + Mock::VerifyAndClearExpectations(m_layerTreeHost.get()); + + EXPECT_CALL(*m_layerTreeHost, acquireLayerTextures()).Times(AtLeast(1)); + testLayer->removeFromParent(); + Mock::VerifyAndClearExpectations(m_layerTreeHost.get()); +} + +} // anonymous namespace |