Chromium Code Reviews| Index: chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos_unittest.cc |
| diff --git a/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos_unittest.cc b/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos_unittest.cc |
| index 58000f8dfa9216fcf85b0a3f6d7137cd0cfb77c3..a11611a56b7e17e3ee49764b8e928a29baec51e1 100644 |
| --- a/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos_unittest.cc |
| +++ b/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos_unittest.cc |
| @@ -44,6 +44,12 @@ class MultiUserWindowManagerChromeOSTest : public AshTestBase { |
| return window_[index]; |
| } |
| + // Delete the window at the given index, and set the referefence to NULL. |
|
Mr4D (OOO till 08-26)
2013/12/05 01:54:29
As stated before ("other testing framework functio
oshima
2013/12/05 18:04:01
Done. GetStatus now returns "D" for deleted window
|
| + void delete_window_at(size_t index) { |
| + delete window_[index]; |
| + window_[index] = NULL; |
| + } |
| + |
| // The accessor to the MultiWindowManager. |
| chrome::MultiUserWindowManagerChromeOS* multi_user_window_manager() { |
| return multi_user_window_manager_; |
| @@ -209,20 +215,33 @@ TEST_F(MultiUserWindowManagerChromeOSTest, OwnerTests) { |
| } |
| TEST_F(MultiUserWindowManagerChromeOSTest, CloseWindowTests) { |
| - SetUpForThisManyWindows(2); |
| + SetUpForThisManyWindows(1); |
| multi_user_window_manager()->SetWindowOwner(window(0), "B"); |
| - EXPECT_EQ("H[B], S[]", GetStatus()); |
| + EXPECT_EQ("H[B]", GetStatus()); |
| multi_user_window_manager()->ShowWindowForUser(window(0), "A"); |
| - EXPECT_EQ("S[B,A], S[]", GetStatus()); |
| + EXPECT_EQ("S[B,A]", GetStatus()); |
| EXPECT_TRUE(multi_user_window_manager()->AreWindowsSharedAmongUsers()); |
| - // Simulate a close of the shared window. |
| - multi_user_window_manager()->OnWindowDestroyed(window(0)); |
| + aura::Window* to_be_deleted = window(0); |
| + |
| + EXPECT_EQ(std::string("A"), |
| + multi_user_window_manager()->GetUserPresentingWindow( |
| + to_be_deleted)); |
| + EXPECT_EQ(std::string("B"), |
| + multi_user_window_manager()->GetWindowOwner( |
| + to_be_deleted)); |
| + |
| + // Close the window. |
| + delete_window_at(0); |
| // There should be no owner anymore for that window and the shared windows |
| // should be gone as well. |
| - EXPECT_EQ("S[], S[]", GetStatus()); |
| - EXPECT_FALSE(multi_user_window_manager()->AreWindowsSharedAmongUsers()); |
| + EXPECT_EQ(std::string(), |
| + multi_user_window_manager()->GetUserPresentingWindow( |
| + to_be_deleted)); |
| + EXPECT_EQ(std::string(), |
| + multi_user_window_manager()->GetWindowOwner( |
| + to_be_deleted)); |
| } |
| TEST_F(MultiUserWindowManagerChromeOSTest, SharedWindowTests) { |
| @@ -278,7 +297,7 @@ TEST_F(MultiUserWindowManagerChromeOSTest, SharedWindowTests) { |
| // Make sure that adding a window to another desktop does not cause harm. |
| TEST_F(MultiUserWindowManagerChromeOSTest, DoubleSharedWindowTests) { |
| - SetUpForThisManyWindows(2); |
| + SetUpForThisManyWindows(1); |
| multi_user_window_manager()->SetWindowOwner(window(0), "B"); |
| // Add two references to the same window. |
| @@ -286,8 +305,8 @@ TEST_F(MultiUserWindowManagerChromeOSTest, DoubleSharedWindowTests) { |
| multi_user_window_manager()->ShowWindowForUser(window(0), "A"); |
| EXPECT_TRUE(multi_user_window_manager()->AreWindowsSharedAmongUsers()); |
| - // Simulate a close of the shared window. |
| - multi_user_window_manager()->OnWindowDestroyed(window(0)); |
| + // Close the window. |
| + delete_window_at(0); |
| // There should be no shares anymore open. |
| EXPECT_FALSE(multi_user_window_manager()->AreWindowsSharedAmongUsers()); |