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..465cba3c69218a8daee0021b9793d9b91bc15271 |
--- /dev/null |
+++ b/athena/home/home_card_unittest.cc |
@@ -0,0 +1,65 @@ |
+// 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" |
+ |
+namespace athena { |
+ |
+typedef test::AthenaTestBase 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 athena |