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 |