diff options
Diffstat (limited to 'chromium/ui/compositor/layer_owner_unittest.cc')
-rw-r--r-- | chromium/ui/compositor/layer_owner_unittest.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/chromium/ui/compositor/layer_owner_unittest.cc b/chromium/ui/compositor/layer_owner_unittest.cc new file mode 100644 index 00000000000..6390ecaf463 --- /dev/null +++ b/chromium/ui/compositor/layer_owner_unittest.cc @@ -0,0 +1,33 @@ +// Copyright 2014 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 "ui/compositor/layer_owner.h" + +#include "testing/gtest/include/gtest/gtest.h" +#include "ui/compositor/layer.h" +#include "ui/compositor/layer_animator.h" +#include "ui/compositor/scoped_layer_animation_settings.h" + +namespace ui { + +TEST(LayerOwnerTest, RecreateLayerHonorsTargetVisibilityAndOpacity) { + LayerOwner owner; + Layer* layer = new Layer; + layer->SetVisible(true); + layer->SetOpacity(1.0f); + + owner.SetLayer(layer); + + ScopedLayerAnimationSettings settings(layer->GetAnimator()); + layer->SetVisible(false); + layer->SetOpacity(0.0f); + EXPECT_TRUE(layer->visible()); + EXPECT_EQ(1.0f, layer->opacity()); + + scoped_ptr<Layer> old_layer(owner.RecreateLayer()); + EXPECT_FALSE(owner.layer()->visible()); + EXPECT_EQ(0.0f, owner.layer()->opacity()); +} + +} // namespace ui |