Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Unified Diff: ash/common/shelf/shelf_background_animator_unittest.cc

Issue 2736573002: chromeos: Move files in //ash/common to //ash, part 2 (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/common/shelf/shelf_background_animator_observer.h ('k') | ash/common/shelf/shelf_button.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/common/shelf/shelf_background_animator_unittest.cc
diff --git a/ash/common/shelf/shelf_background_animator_unittest.cc b/ash/common/shelf/shelf_background_animator_unittest.cc
deleted file mode 100644
index 9a3784cbd4234143f9a2bcb34cf440c1c648e2f3..0000000000000000000000000000000000000000
--- a/ash/common/shelf/shelf_background_animator_unittest.cc
+++ /dev/null
@@ -1,305 +0,0 @@
-// Copyright 2016 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 "ash/common/shelf/shelf_background_animator.h"
-
-#include <memory>
-
-#include "ash/animation/animation_change_type.h"
-#include "ash/common/shelf/shelf_background_animator_observer.h"
-#include "ash/common/shelf/shelf_constants.h"
-#include "ash/common/wallpaper/wallpaper_controller.h"
-#include "ash/common/wm_shell.h"
-#include "base/bind.h"
-#include "base/macros.h"
-#include "base/test/test_mock_time_task_runner.h"
-#include "base/threading/thread_task_runner_handle.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "ui/gfx/animation/slide_animation.h"
-
-namespace ash {
-namespace {
-
-static auto kMaxAlpha = ShelfBackgroundAnimator::kMaxAlpha;
-
-// A valid color value that is distinct from any final animation state values.
-// Used to check if color values are changed during animations.
-const SkColor kDummyColor = SK_ColorBLUE;
-
-// Observer that caches color values for the last observation.
-class TestShelfBackgroundObserver : public ShelfBackgroundAnimatorObserver {
- public:
- TestShelfBackgroundObserver() {}
- ~TestShelfBackgroundObserver() override {}
-
- SkColor background_color() const { return background_color_; }
-
- // Convenience function to get the alpha value from |background_color_|.
- int GetBackgroundAlpha() const;
-
- SkColor item_background_color() const { return item_background_color_; }
-
- // Convenience function to get the alpha value from |item_background_color_|.
- int GetItemBackgroundAlpha() const;
-
- // ShelfBackgroundObserver:
- void UpdateShelfBackground(SkColor color) override;
- void UpdateShelfItemBackground(SkColor color) override;
-
- private:
- int background_color_ = SK_ColorTRANSPARENT;
- int item_background_color_ = SK_ColorTRANSPARENT;
-
- DISALLOW_COPY_AND_ASSIGN(TestShelfBackgroundObserver);
-};
-
-int TestShelfBackgroundObserver::GetBackgroundAlpha() const {
- return SkColorGetA(background_color_);
-}
-
-int TestShelfBackgroundObserver::GetItemBackgroundAlpha() const {
- return SkColorGetA(item_background_color_);
-}
-
-void TestShelfBackgroundObserver::UpdateShelfBackground(SkColor color) {
- background_color_ = color;
-}
-
-void TestShelfBackgroundObserver::UpdateShelfItemBackground(SkColor color) {
- item_background_color_ = color;
-}
-
-} // namespace
-
-// Provides internal access to a ShelfBackgroundAnimator instance.
-class ShelfBackgroundAnimatorTestApi {
- public:
- explicit ShelfBackgroundAnimatorTestApi(ShelfBackgroundAnimator* animator)
- : animator_(animator) {}
-
- ~ShelfBackgroundAnimatorTestApi() {}
-
- ShelfBackgroundType previous_background_type() const {
- return animator_->previous_background_type_;
- }
-
- gfx::SlideAnimation* animator() const { return animator_->animator_.get(); }
-
- private:
- // The instance to provide internal access to.
- ShelfBackgroundAnimator* animator_;
-
- DISALLOW_COPY_AND_ASSIGN(ShelfBackgroundAnimatorTestApi);
-};
-
-class ShelfBackgroundAnimatorTest : public testing::Test {
- public:
- ShelfBackgroundAnimatorTest() {}
- ~ShelfBackgroundAnimatorTest() override {}
-
- // testing::Test:
- void SetUp() override;
-
- protected:
- // Convenience wrapper for |animator_|'s PaintBackground().
- void PaintBackground(
- ShelfBackgroundType background_type,
- AnimationChangeType change_type = AnimationChangeType::IMMEDIATE);
-
- // Set all of the color values for the |observer_|.
- void SetColorValuesOnObserver(SkColor color);
-
- // Completes all the animations.
- void CompleteAnimations();
-
- TestShelfBackgroundObserver observer_;
-
- // Test target.
- std::unique_ptr<ShelfBackgroundAnimator> animator_;
-
- // Provides internal access to |animator_|.
- std::unique_ptr<ShelfBackgroundAnimatorTestApi> test_api_;
-
- // Used to control the animations.
- scoped_refptr<base::TestMockTimeTaskRunner> task_runner_;
-
- private:
- std::unique_ptr<base::ThreadTaskRunnerHandle> task_runner_handle_;
-
- DISALLOW_COPY_AND_ASSIGN(ShelfBackgroundAnimatorTest);
-};
-
-void ShelfBackgroundAnimatorTest::SetUp() {
- task_runner_ = new base::TestMockTimeTaskRunner();
- task_runner_handle_.reset(new base::ThreadTaskRunnerHandle(task_runner_));
-
- animator_.reset(
- new ShelfBackgroundAnimator(SHELF_BACKGROUND_DEFAULT, nullptr, nullptr));
- animator_->AddObserver(&observer_);
-
- test_api_.reset(new ShelfBackgroundAnimatorTestApi(animator_.get()));
-}
-
-void ShelfBackgroundAnimatorTest::PaintBackground(
- ShelfBackgroundType background_type,
- AnimationChangeType change_type) {
- animator_->PaintBackground(background_type, change_type);
-}
-
-void ShelfBackgroundAnimatorTest::SetColorValuesOnObserver(SkColor color) {
- observer_.UpdateShelfBackground(color);
- observer_.UpdateShelfItemBackground(color);
-}
-
-void ShelfBackgroundAnimatorTest::CompleteAnimations() {
- task_runner_->FastForwardUntilNoTasksRemain();
-}
-
-// Verify the |previous_background_type_| and |target_background_type_| values
-// when animating to the same target type multiple times.
-TEST_F(ShelfBackgroundAnimatorTest, BackgroundTypesWhenAnimatingToSameTarget) {
- PaintBackground(SHELF_BACKGROUND_MAXIMIZED);
- EXPECT_EQ(SHELF_BACKGROUND_MAXIMIZED, animator_->target_background_type());
-
- PaintBackground(SHELF_BACKGROUND_DEFAULT);
- EXPECT_EQ(SHELF_BACKGROUND_DEFAULT, animator_->target_background_type());
- EXPECT_EQ(SHELF_BACKGROUND_MAXIMIZED, test_api_->previous_background_type());
-
- PaintBackground(SHELF_BACKGROUND_DEFAULT);
- EXPECT_EQ(SHELF_BACKGROUND_DEFAULT, animator_->target_background_type());
- EXPECT_EQ(SHELF_BACKGROUND_MAXIMIZED, test_api_->previous_background_type());
-}
-
-// Verify subsequent calls to PaintBackground() using the
-// AnimationChangeType::ANIMATE change type are ignored.
-TEST_F(ShelfBackgroundAnimatorTest,
- MultipleAnimateCallsToSameTargetAreIgnored) {
- PaintBackground(SHELF_BACKGROUND_MAXIMIZED);
- SetColorValuesOnObserver(kDummyColor);
- animator_->PaintBackground(SHELF_BACKGROUND_DEFAULT,
- AnimationChangeType::ANIMATE);
- CompleteAnimations();
-
- EXPECT_NE(observer_.background_color(), kDummyColor);
- EXPECT_NE(observer_.item_background_color(), kDummyColor);
-
- SetColorValuesOnObserver(kDummyColor);
- animator_->PaintBackground(SHELF_BACKGROUND_DEFAULT,
- AnimationChangeType::ANIMATE);
- CompleteAnimations();
-
- EXPECT_EQ(observer_.background_color(), kDummyColor);
- EXPECT_EQ(observer_.item_background_color(), kDummyColor);
-}
-
-// Verify observers are updated with the current values when they are added.
-TEST_F(ShelfBackgroundAnimatorTest, ObserversUpdatedWhenAdded) {
- animator_->RemoveObserver(&observer_);
- SetColorValuesOnObserver(kDummyColor);
-
- animator_->AddObserver(&observer_);
-
- EXPECT_NE(observer_.background_color(), kDummyColor);
- EXPECT_NE(observer_.item_background_color(), kDummyColor);
-}
-
-// Verify the alpha values for the SHELF_BACKGROUND_DEFAULT state.
-TEST_F(ShelfBackgroundAnimatorTest, DefaultBackground) {
- PaintBackground(SHELF_BACKGROUND_DEFAULT);
-
- EXPECT_EQ(SHELF_BACKGROUND_DEFAULT, animator_->target_background_type());
- EXPECT_EQ(0, observer_.GetBackgroundAlpha());
- EXPECT_EQ(kShelfTranslucentAlpha, observer_.GetItemBackgroundAlpha());
-}
-
-// Verify the alpha values for the SHELF_BACKGROUND_OVERLAP state.
-TEST_F(ShelfBackgroundAnimatorTest, OverlapBackground) {
- PaintBackground(SHELF_BACKGROUND_OVERLAP);
-
- EXPECT_EQ(SHELF_BACKGROUND_OVERLAP, animator_->target_background_type());
- EXPECT_EQ(kShelfTranslucentAlpha, observer_.GetBackgroundAlpha());
- EXPECT_EQ(0, observer_.GetItemBackgroundAlpha());
-}
-
-// Verify the alpha values for the SHELF_BACKGROUND_MAXIMIZED state.
-TEST_F(ShelfBackgroundAnimatorTest, MaximizedBackground) {
- PaintBackground(SHELF_BACKGROUND_MAXIMIZED);
-
- EXPECT_EQ(SHELF_BACKGROUND_MAXIMIZED, animator_->target_background_type());
- EXPECT_EQ(kMaxAlpha, observer_.GetBackgroundAlpha());
- EXPECT_EQ(0, observer_.GetItemBackgroundAlpha());
-}
-
-TEST_F(ShelfBackgroundAnimatorTest,
- AnimatorIsDetroyedWhenCompletingSuccessfully) {
- PaintBackground(SHELF_BACKGROUND_OVERLAP, AnimationChangeType::ANIMATE);
- EXPECT_TRUE(test_api_->animator());
- CompleteAnimations();
- EXPECT_FALSE(test_api_->animator());
-}
-
-TEST_F(ShelfBackgroundAnimatorTest,
- AnimatorDestroyedWhenChangingBackgroundImmediately) {
- PaintBackground(SHELF_BACKGROUND_OVERLAP, AnimationChangeType::ANIMATE);
- EXPECT_TRUE(test_api_->animator());
-
- PaintBackground(SHELF_BACKGROUND_OVERLAP, AnimationChangeType::IMMEDIATE);
- EXPECT_FALSE(test_api_->animator());
-}
-
-// Verify that existing animator is used when animating to the previous state.
-TEST_F(ShelfBackgroundAnimatorTest,
- ExistingAnimatorIsReusedWhenAnimatingToPreviousState) {
- PaintBackground(SHELF_BACKGROUND_DEFAULT, AnimationChangeType::ANIMATE);
- PaintBackground(SHELF_BACKGROUND_MAXIMIZED, AnimationChangeType::ANIMATE);
-
- const gfx::SlideAnimation* animator = test_api_->animator();
- EXPECT_TRUE(animator);
-
- PaintBackground(SHELF_BACKGROUND_DEFAULT, AnimationChangeType::ANIMATE);
-
- EXPECT_EQ(animator, test_api_->animator());
-}
-
-// Verify that existing animator is not re-used when the target background isn't
-// the same as the previous background.
-TEST_F(ShelfBackgroundAnimatorTest,
- ExistingAnimatorNotReusedWhenTargetBackgroundNotPreviousBackground) {
- PaintBackground(SHELF_BACKGROUND_DEFAULT, AnimationChangeType::ANIMATE);
- PaintBackground(SHELF_BACKGROUND_MAXIMIZED, AnimationChangeType::ANIMATE);
-
- const gfx::SlideAnimation* animator = test_api_->animator();
- EXPECT_TRUE(animator);
-
- EXPECT_NE(SHELF_BACKGROUND_OVERLAP, test_api_->previous_background_type());
- PaintBackground(SHELF_BACKGROUND_OVERLAP, AnimationChangeType::ANIMATE);
-
- EXPECT_NE(animator, test_api_->animator());
-}
-
-TEST_F(ShelfBackgroundAnimatorTest,
- AnimationProgressesToTargetWhenStoppingUnfinishedAnimator) {
- PaintBackground(SHELF_BACKGROUND_OVERLAP, AnimationChangeType::ANIMATE);
-
- EXPECT_NE(kShelfTranslucentAlpha, observer_.GetBackgroundAlpha());
- EXPECT_NE(0, observer_.GetItemBackgroundAlpha());
-
- test_api_->animator()->Stop();
-
- EXPECT_EQ(kShelfTranslucentAlpha, observer_.GetBackgroundAlpha());
- EXPECT_EQ(0, observer_.GetItemBackgroundAlpha());
-}
-
-// Verify observers are always notified, even when alpha values don't change.
-TEST_F(ShelfBackgroundAnimatorTest,
- ObserversAreNotifiedWhenSnappingToSameTargetBackground) {
- PaintBackground(SHELF_BACKGROUND_DEFAULT);
- SetColorValuesOnObserver(kDummyColor);
- PaintBackground(SHELF_BACKGROUND_DEFAULT);
-
- EXPECT_NE(observer_.background_color(), kDummyColor);
- EXPECT_NE(observer_.item_background_color(), kDummyColor);
-}
-
-} // namespace ash
« no previous file with comments | « ash/common/shelf/shelf_background_animator_observer.h ('k') | ash/common/shelf/shelf_button.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698