OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 #import "ios/chrome/browser/ui/toolbar/web_toolbar_controller.h" | 5 #import "ios/chrome/browser/ui/toolbar/web_toolbar_controller.h" |
6 | 6 |
7 #import <Foundation/Foundation.h> | 7 #import <Foundation/Foundation.h> |
8 | 8 |
| 9 #include <map> |
9 #include <memory> | 10 #include <memory> |
10 | 11 |
11 #include "base/ios/ios_util.h" | 12 #include "base/ios/ios_util.h" |
12 #include "base/mac/scoped_nsobject.h" | 13 #include "base/mac/scoped_nsobject.h" |
13 #include "base/message_loop/message_loop.h" | 14 #include "base/message_loop/message_loop.h" |
14 #include "base/strings/utf_string_conversions.h" | 15 #include "base/strings/utf_string_conversions.h" |
15 #include "ios/chrome/browser/browser_state/test_chrome_browser_state.h" | 16 #include "ios/chrome/browser/browser_state/test_chrome_browser_state.h" |
16 #import "ios/chrome/browser/ui/toolbar/test_toolbar_model_ios.h" | 17 #import "ios/chrome/browser/ui/toolbar/test_toolbar_model_ios.h" |
17 #import "ios/chrome/browser/ui/toolbar/web_toolbar_controller_private.h" | 18 #import "ios/chrome/browser/ui/toolbar/web_toolbar_controller_private.h" |
18 #include "ios/chrome/browser/ui/ui_util.h" | 19 #include "ios/chrome/browser/ui/ui_util.h" |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 toolbar_model_->set_text(base::UTF8ToUTF16(kExpectedUrlText)); | 182 toolbar_model_->set_text(base::UTF8ToUTF16(kExpectedUrlText)); |
182 [web_toolbar_controller_ updateToolbarState]; | 183 [web_toolbar_controller_ updateToolbarState]; |
183 std::string actualUrlText = [web_toolbar_controller_ getLocationText]; | 184 std::string actualUrlText = [web_toolbar_controller_ getLocationText]; |
184 EXPECT_EQ(kExpectedUrlText, actualUrlText); | 185 EXPECT_EQ(kExpectedUrlText, actualUrlText); |
185 } | 186 } |
186 | 187 |
187 TEST_F(WebToolbarControllerTest, TestUpdateToolbar_TestLayoutOmnibox) { | 188 TEST_F(WebToolbarControllerTest, TestUpdateToolbar_TestLayoutOmnibox) { |
188 // Test that the initial setup of the toolbar matches the layout produced by | 189 // Test that the initial setup of the toolbar matches the layout produced by |
189 // calling layoutOmnibox. If the initial frames do not match those set during | 190 // calling layoutOmnibox. If the initial frames do not match those set during |
190 // layoutOmnibox, there will be minor animations during startup. | 191 // layoutOmnibox, there will be minor animations during startup. |
191 typedef base::hash_map<unsigned long, CGRect> FrameHash; | 192 typedef std::map<unsigned long, CGRect> FrameHash; |
192 typedef base::hash_map<unsigned long, CGRect>::iterator FrameHashIter; | 193 typedef std::map<unsigned long, CGRect>::iterator FrameHashIter; |
193 FrameHash initialFrames; | 194 FrameHash initialFrames; |
194 FrameHash postLayoutFrames; | 195 FrameHash postLayoutFrames; |
195 | 196 |
196 for (UIView* view in [[web_toolbar_controller_ view] allSubviews]) { | 197 for (UIView* view in [[web_toolbar_controller_ view] allSubviews]) { |
197 initialFrames.insert(std::make_pair<unsigned long, CGRect>( | 198 initialFrames.insert(std::make_pair<unsigned long, CGRect>( |
198 (unsigned long)view, [view frame])); | 199 (unsigned long)view, [view frame])); |
199 } | 200 } |
200 | 201 |
201 [web_toolbar_controller_ layoutOmnibox]; | 202 [web_toolbar_controller_ layoutOmnibox]; |
202 | 203 |
203 for (UIView* view in [[web_toolbar_controller_ view] allSubviews]) { | 204 for (UIView* view in [[web_toolbar_controller_ view] allSubviews]) { |
204 postLayoutFrames.insert(std::make_pair<unsigned long, CGRect>( | 205 postLayoutFrames.insert(std::make_pair<unsigned long, CGRect>( |
205 (unsigned long)view, [view frame])); | 206 (unsigned long)view, [view frame])); |
206 } | 207 } |
207 | 208 |
208 FrameHashIter initialIt = initialFrames.begin(); | 209 FrameHashIter initialIt = initialFrames.begin(); |
209 while (initialIt != initialFrames.end()) { | 210 while (initialIt != initialFrames.end()) { |
210 FrameHashIter postLayoutIt = postLayoutFrames.find(initialIt->first); | 211 FrameHashIter postLayoutIt = postLayoutFrames.find(initialIt->first); |
211 EXPECT_TRUE(postLayoutIt != postLayoutFrames.end()); | 212 EXPECT_TRUE(postLayoutIt != postLayoutFrames.end()); |
212 CGRect initialRect = initialIt->second; | 213 CGRect initialRect = initialIt->second; |
213 CGRect layoutRect = postLayoutIt->second; | 214 CGRect layoutRect = postLayoutIt->second; |
214 EXPECT_EQ(initialRect.origin.x, layoutRect.origin.x); | 215 EXPECT_EQ(initialRect.origin.x, layoutRect.origin.x); |
215 EXPECT_EQ(initialRect.origin.y, layoutRect.origin.y); | 216 EXPECT_EQ(initialRect.origin.y, layoutRect.origin.y); |
216 EXPECT_EQ(initialRect.size.width, layoutRect.size.width); | 217 EXPECT_EQ(initialRect.size.width, layoutRect.size.width); |
217 EXPECT_EQ(initialRect.size.height, layoutRect.size.height); | 218 EXPECT_EQ(initialRect.size.height, layoutRect.size.height); |
218 initialIt++; | 219 initialIt++; |
219 } | 220 } |
220 } | 221 } |
221 } // namespace | 222 } // namespace |
OLD | NEW |