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 |