普通文本  |  34行  |  955 B

// 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