#include <memory>
#include "base/containers/contains.h"
#include "base/memory/raw_ptr.h"
#include "base/test/task_environment.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/gfx/animation/animation_container.h"
#include "ui/gfx/animation/animation_test_api.h"
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/size.h"
#include "ui/views/layout/animating_layout_manager.h"
#include "ui/views/layout/flex_layout.h"
#include "ui/views/test/test_views.h"
#include "ui/views/test/views_test_utils.h"
#include "ui/views/view.h"
#include "ui/views/view_class_properties.h"
#include "ui/views/widget/widget.h"
namespace views {
namespace {
constexpr base::TimeDelta kDefaultAnimationDuration = …;
constexpr int kIconDimension = …;
constexpr gfx::Size kIconSize(kIconDimension, kIconDimension);
constexpr int kLabelWidth = …;
constexpr gfx::Size kLabelSize(kLabelWidth, kIconDimension);
constexpr int kBarMinimumWidth = …;
constexpr int kBarPreferredWidth = …;
constexpr gfx::Size kBarMinimumSize(kBarMinimumWidth, kIconDimension);
constexpr gfx::Size kBarPreferredSize(kBarPreferredWidth, kIconDimension);
constexpr gfx::Size kDefaultToolbarSize(400, kIconDimension);
class SimulatedToolbarElement : public View { … };
BEGIN_METADATA(…)
class SimulatedAvatarButton : public SimulatedToolbarElement { … };
BEGIN_METADATA(…)
class SimulatedExtensionsContainer : public SimulatedToolbarElement { … };
BEGIN_METADATA(…)
class SimulatedToolbar : public View { … };
BEGIN_METADATA(…)
}
class CompositeLayoutTest : public testing::Test { … };
TEST_F(CompositeLayoutTest, InitialLayout) { … }
TEST_F(CompositeLayoutTest, SmallResize) { … }
TEST_F(CompositeLayoutTest, ShrinkLocationBar) { … }
TEST_F(CompositeLayoutTest, ShrinkLocationBarTooSmall) { … }
TEST_F(CompositeLayoutTest, ProfileAnimates) { … }
TEST_F(CompositeLayoutTest, ProfileAnimationInterrupted) { … }
TEST_F(CompositeLayoutTest, ProfileAnimationInterruptedImmediately) { … }
TEST_F(CompositeLayoutTest, ExtensionsAnimateOnAdd) { … }
TEST_F(CompositeLayoutTest, ExtensionsAnimateOnAddMultiple) { … }
TEST_F(CompositeLayoutTest, ExtensionsAnimateOnAddMultipleStaggered) { … }
TEST_F(CompositeLayoutTest, ExtensionRemovedDuringAnimation) { … }
TEST_F(CompositeLayoutTest, ExtensionRemovedImmediately) { … }
TEST_F(CompositeLayoutTest, ExtensionRemovedImmediatelyDuringAnimation) { … }
TEST_F(CompositeLayoutTest, ExtensionsAnimateOnShow) { … }
TEST_F(CompositeLayoutTest, ExtensionsAnimateOnShowMultiple) { … }
TEST_F(CompositeLayoutTest, ExtensionsAnimateOnShowMultipleStaggered) { … }
TEST_F(CompositeLayoutTest, ExtensionHiddenDuringAnimation) { … }
TEST_F(CompositeLayoutTest, ExtensionHiddenImmediately) { … }
TEST_F(CompositeLayoutTest, ExtensionHiddenImmediatelyDuringAnimation) { … }
TEST_F(CompositeLayoutTest, ExtensionOrderChanged) { … }
TEST_F(CompositeLayoutTest, ExtensionHiddenAndPoppedOutImmediate) { … }
TEST_F(CompositeLayoutTest, ExtensionHiddenAndPoppedOutDelayed) { … }
TEST_F(CompositeLayoutTest, ExtensionPinned) { … }
TEST_F(CompositeLayoutTest, VisibleExtensionMoved) { … }
TEST_F(CompositeLayoutTest, InvisibleExtensionMoved) { … }
TEST_F(CompositeLayoutTest, ExtensionsAndAvatarAnimateSimultaneously) { … }
TEST_F(CompositeLayoutTest, ExtensionsAndAvatarAnimateStaggered) { … }
TEST_F(CompositeLayoutTest, ExtensionsNotShownWhenSpaceConstrained) { … }
TEST_F(CompositeLayoutTest, SomeExtensionsNotShownWhenSpaceConstrained) { … }
TEST_F(CompositeLayoutTest, ExtensionsShownSnapsWhenSpaceShrinks) { … }
TEST_F(CompositeLayoutTest,
ExtensionsShowingAnimationRedirectsDueToSmallerAvailableSpace) { … }
TEST_F(CompositeLayoutTest,
ExtensionsShowingAnimationCancelsDueToSmallerAvailableSpace) { … }
TEST_F(CompositeLayoutTest,
ExtensionsShowingAnimationRedirectsDueToLargerAvailableSpace) { … }
TEST_F(CompositeLayoutTest, ExtensionsHiddenWhenAvatarExpands) { … }
TEST_F(CompositeLayoutTest, ExtensionsShownWhenAvatarCollapses) { … }
TEST_F(CompositeLayoutTest, ExtensionsHideAndShowWhenAvatarAnimates) { … }
TEST_F(CompositeLayoutTest, ExtensionsShowAndHideWhenAvatarAnimates) { … }
TEST_F(CompositeLayoutTest, MultipleAnimationAndLayoutChanges) { … }
}