| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/extensions/browser_action_test_util.h" | 5 #include "chrome/browser/extensions/browser_action_test_util.h" |
| 6 #include "chrome/browser/extensions/extension_browsertest.h" | 6 #include "chrome/browser/extensions/extension_browsertest.h" |
| 7 #include "chrome/browser/views/browser_actions_container.h" | 7 #include "chrome/browser/views/browser_actions_container.h" |
| 8 #include "chrome/common/chrome_switches.h" | 8 #include "chrome/common/chrome_switches.h" |
| 9 | 9 |
| 10 class BrowserActionsContainerTest : public ExtensionBrowserTest { | 10 class BrowserActionsContainerTest : public ExtensionBrowserTest { |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 | 76 |
| 77 // Load extension B (contains browser action). | 77 // Load extension B (contains browser action). |
| 78 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("api_test") | 78 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("api_test") |
| 79 .AppendASCII("browser_action") | 79 .AppendASCII("browser_action") |
| 80 .AppendASCII("add_popup"))); | 80 .AppendASCII("add_popup"))); |
| 81 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); | 81 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); |
| 82 EnsureExtensionHasIcon(0); | 82 EnsureExtensionHasIcon(0); |
| 83 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); | 83 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); |
| 84 std::string idB = browser_actions_bar()->GetExtensionId(1); | 84 std::string idB = browser_actions_bar()->GetExtensionId(1); |
| 85 | 85 |
| 86 EXPECT_STRNE(idA.c_str(), idB.c_str()); | 86 EXPECT_NE(idA, idB); |
| 87 | 87 |
| 88 // Load extension C (contains browser action). | 88 // Load extension C (contains browser action). |
| 89 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("api_test") | 89 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("api_test") |
| 90 .AppendASCII("browser_action") | 90 .AppendASCII("browser_action") |
| 91 .AppendASCII("remove_popup"))); | 91 .AppendASCII("remove_popup"))); |
| 92 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); | 92 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); |
| 93 EnsureExtensionHasIcon(2); | 93 EnsureExtensionHasIcon(2); |
| 94 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); | 94 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); |
| 95 std::string idC = browser_actions_bar()->GetExtensionId(2); | 95 std::string idC = browser_actions_bar()->GetExtensionId(2); |
| 96 | 96 |
| 97 // Change container to show only one action, rest in overflow: A, [B, C]. | 97 // Change container to show only one action, rest in overflow: A, [B, C]. |
| 98 browser_actions_bar()->SetIconVisibilityCount(1); | 98 browser_actions_bar()->SetIconVisibilityCount(1); |
| 99 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); | 99 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); |
| 100 | 100 |
| 101 // Disable extension A (should disappear). State becomes: B [C]. | 101 // Disable extension A (should disappear). State becomes: B [C]. |
| 102 DisableExtension(idA); | 102 DisableExtension(idA); |
| 103 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); | 103 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); |
| 104 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); | 104 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); |
| 105 EXPECT_STREQ(idB.c_str(), browser_actions_bar()->GetExtensionId(0).c_str()); | 105 EXPECT_EQ(idB, browser_actions_bar()->GetExtensionId(0)); |
| 106 | 106 |
| 107 // Enable A again. A should get its spot in the same location and the bar | 107 // Enable A again. A should get its spot in the same location and the bar |
| 108 // should not grow (chevron is showing). For details: http://crbug.com/35349. | 108 // should not grow (chevron is showing). For details: http://crbug.com/35349. |
| 109 // State becomes: A, [B, C]. | 109 // State becomes: A, [B, C]. |
| 110 EnableExtension(idA); | 110 EnableExtension(idA); |
| 111 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); | 111 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); |
| 112 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); | 112 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); |
| 113 EXPECT_STREQ(idA.c_str(), browser_actions_bar()->GetExtensionId(0).c_str()); | 113 EXPECT_EQ(idA, browser_actions_bar()->GetExtensionId(0)); |
| 114 | 114 |
| 115 // Disable C (in overflow). State becomes: A, [B]. | 115 // Disable C (in overflow). State becomes: A, [B]. |
| 116 DisableExtension(idC); | 116 DisableExtension(idC); |
| 117 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); | 117 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); |
| 118 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); | 118 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); |
| 119 EXPECT_STREQ(idA.c_str(), browser_actions_bar()->GetExtensionId(0).c_str()); | 119 EXPECT_EQ(idA, browser_actions_bar()->GetExtensionId(0)); |
| 120 | 120 |
| 121 // Enable C again. State becomes: A, [B, C]. | 121 // Enable C again. State becomes: A, [B, C]. |
| 122 EnableExtension(idC); | 122 EnableExtension(idC); |
| 123 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); | 123 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); |
| 124 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); | 124 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); |
| 125 EXPECT_STREQ(idA.c_str(), browser_actions_bar()->GetExtensionId(0).c_str()); | 125 EXPECT_EQ(idA, browser_actions_bar()->GetExtensionId(0)); |
| 126 | 126 |
| 127 // Now we have 3 extensions. Make sure they are all visible. State: A, B, C. | 127 // Now we have 3 extensions. Make sure they are all visible. State: A, B, C. |
| 128 browser_actions_bar()->SetIconVisibilityCount(3); | 128 browser_actions_bar()->SetIconVisibilityCount(3); |
| 129 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); | 129 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); |
| 130 | 130 |
| 131 // Disable extension A (should disappear). State becomes: B, C. | 131 // Disable extension A (should disappear). State becomes: B, C. |
| 132 DisableExtension(idA); | 132 DisableExtension(idA); |
| 133 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); | 133 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); |
| 134 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); | 134 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); |
| 135 EXPECT_STREQ(idB.c_str(), browser_actions_bar()->GetExtensionId(0).c_str()); | 135 EXPECT_EQ(idB, browser_actions_bar()->GetExtensionId(0)); |
| 136 | 136 |
| 137 // Disable extension B (should disappear). State becomes: C. | 137 // Disable extension B (should disappear). State becomes: C. |
| 138 DisableExtension(idB); | 138 DisableExtension(idB); |
| 139 EXPECT_EQ(1, browser_actions_bar()->NumberOfBrowserActions()); | 139 EXPECT_EQ(1, browser_actions_bar()->NumberOfBrowserActions()); |
| 140 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); | 140 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); |
| 141 EXPECT_STREQ(idC.c_str(), browser_actions_bar()->GetExtensionId(0).c_str()); | 141 EXPECT_EQ(idC, browser_actions_bar()->GetExtensionId(0)); |
| 142 | 142 |
| 143 // Enable B (makes B and C showing now). State becomes: B, C. | 143 // Enable B (makes B and C showing now). State becomes: B, C. |
| 144 EnableExtension(idB); | 144 EnableExtension(idB); |
| 145 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); | 145 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); |
| 146 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); | 146 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); |
| 147 EXPECT_STREQ(idB.c_str(), browser_actions_bar()->GetExtensionId(0).c_str()); | 147 EXPECT_EQ(idB, browser_actions_bar()->GetExtensionId(0)); |
| 148 | 148 |
| 149 // Enable A (makes A, B and C showing now). State becomes: B, C, A. | 149 // Enable A (makes A, B and C showing now). State becomes: B, C, A. |
| 150 EnableExtension(idA); | 150 EnableExtension(idA); |
| 151 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); | 151 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); |
| 152 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); | 152 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); |
| 153 EXPECT_STREQ(idA.c_str(), browser_actions_bar()->GetExtensionId(2).c_str()); | 153 EXPECT_EQ(idA, browser_actions_bar()->GetExtensionId(2)); |
| 154 } | 154 } |
| OLD | NEW |