Chromium Code Reviews| Index: athena/home/home_card_unittest.cc |
| diff --git a/athena/home/home_card_unittest.cc b/athena/home/home_card_unittest.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a0950a9f26a58498c15b17018ed3e9fd0622fad4 |
| --- /dev/null |
| +++ b/athena/home/home_card_unittest.cc |
| @@ -0,0 +1,84 @@ |
| +// 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 "athena/home/public/home_card.h" |
| + |
| +#include "athena/activity/public/activity_factory.h" |
| +#include "athena/activity/public/activity_manager.h" |
| +#include "athena/test/athena_test_base.h" |
| +#include "athena/wm/public/window_manager.h" |
| +#include "base/command_line.h" |
| +#include "ui/app_list/app_list_switches.h" |
| + |
| +namespace athena { |
| +namespace { |
| + |
| +class HomeCardTest : public test::AthenaTestBase { |
| + public: |
| + HomeCardTest() {} |
| + virtual ~HomeCardTest() {} |
| + |
| + virtual void SetUp() OVERRIDE { |
| + // Force showing in the experimental app-list view. |
| + base::CommandLine::ForCurrentProcess()->AppendSwitch( |
| + app_list::switches::kEnableExperimentalAppList); |
|
oshima
2014/07/22 21:48:38
please move this to the helper as discussed offlin
Jun Mukai
2014/07/22 21:57:57
Done.
|
| + |
| + test::AthenaTestBase::SetUp(); |
| + } |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(HomeCardTest); |
| +}; |
| + |
| +TEST_F(HomeCardTest, BasicTransition) { |
| + EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
| + |
| + WindowManager::GetInstance()->ToggleOverview(); |
| + EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
| + |
| + WindowManager::GetInstance()->ToggleOverview(); |
| + EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
| +} |
| + |
| +TEST_F(HomeCardTest, VirtualKeyboardTransition) { |
| + // Minimized -> Hidden for virtual keyboard. |
| + EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
| + const gfx::Rect vk_bounds(0, 0, 100, 100); |
| + HomeCard::Get()->UpdateVirtualKeyboardBounds(vk_bounds); |
| + EXPECT_EQ(HomeCard::HIDDEN, HomeCard::Get()->GetState()); |
| + HomeCard::Get()->UpdateVirtualKeyboardBounds(gfx::Rect()); |
| + EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
| + |
| + // bottom -> centered for virtual keyboard. |
| + WindowManager::GetInstance()->ToggleOverview(); |
| + EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
| + HomeCard::Get()->UpdateVirtualKeyboardBounds(vk_bounds); |
| + EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
| + HomeCard::Get()->UpdateVirtualKeyboardBounds(gfx::Rect()); |
| + EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
| + |
| + // Overview mode has to finish before ending test, otherwise it crashes. |
| + // TODO(mukai): fix this. |
| + WindowManager::GetInstance()->ToggleOverview(); |
| +} |
| + |
| +// Verify if the home card is correctly minimized after app launch. |
| +TEST_F(HomeCardTest, AppSelection) { |
| + EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
| + |
| + WindowManager::GetInstance()->ToggleOverview(); |
| + EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
| + |
| + athena::ActivityManager::Get()->AddActivity( |
| + athena::ActivityFactory::Get()->CreateWebActivity( |
| + NULL, GURL("http://www.google.com/"))); |
| + EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
| + |
| + // Overview mode has to finish before ending test, otherwise it crashes. |
| + // TODO(mukai): fix this. |
| + WindowManager::GetInstance()->ToggleOverview(); |
| +} |
| + |
| +} // namespace |
|
oshima
2014/07/22 21:48:37
please move the tests out from anonymous namespace
Jun Mukai
2014/07/22 21:57:57
Done.
|
| +} // namespace athena |