Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Side by Side Diff: ios/chrome/browser/web/navigation_egtest.mm

Issue 2798773002: Create ChromeEarlGrey waitForWebViewContainingText. (Closed)
Patch Set: review comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <XCTest/XCTest.h> 5 #import <XCTest/XCTest.h>
6 6
7 #include "base/ios/ios_util.h" 7 #include "base/ios/ios_util.h"
8 #include "components/strings/grit/components_strings.h" 8 #include "components/strings/grit/components_strings.h"
9 #include "ios/chrome/test/app/web_view_interaction_test_util.h" 9 #include "ios/chrome/test/app/web_view_interaction_test_util.h"
10 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" 10 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
11 #import "ios/chrome/test/earl_grey/chrome_matchers.h" 11 #import "ios/chrome/test/earl_grey/chrome_matchers.h"
12 #import "ios/chrome/test/earl_grey/chrome_test_case.h" 12 #import "ios/chrome/test/earl_grey/chrome_test_case.h"
13 #include "ios/web/public/test/http_server/data_response_provider.h" 13 #include "ios/web/public/test/http_server/data_response_provider.h"
14 #import "ios/web/public/test/http_server/http_server.h" 14 #import "ios/web/public/test/http_server/http_server.h"
15 #include "ios/web/public/test/http_server/http_server_util.h" 15 #include "ios/web/public/test/http_server/http_server_util.h"
16 #include "ui/base/l10n/l10n_util.h" 16 #include "ui/base/l10n/l10n_util.h"
17 17
18 #if !defined(__has_feature) || !__has_feature(objc_arc) 18 #if !defined(__has_feature) || !__has_feature(objc_arc)
19 #error "This file requires ARC support." 19 #error "This file requires ARC support."
20 #endif 20 #endif
21 21
22 using chrome_test_util::BackButton; 22 using chrome_test_util::BackButton;
23 using chrome_test_util::ForwardButton; 23 using chrome_test_util::ForwardButton;
24 using chrome_test_util::TapWebViewElementWithId; 24 using chrome_test_util::TapWebViewElementWithId;
25 using chrome_test_util::WebViewContainingText;
26 25
27 namespace { 26 namespace {
28 27
29 // URL for the test window.history.go() test file. The page at this URL 28 // URL for the test window.history.go() test file. The page at this URL
30 // contains several buttons that trigger window.history commands. Additionally 29 // contains several buttons that trigger window.history commands. Additionally
31 // the page contains several divs used to display the state of the page: 30 // the page contains several divs used to display the state of the page:
32 // - A div that is populated with |kOnLoadText| when the onload event fires. 31 // - A div that is populated with |kOnLoadText| when the onload event fires.
33 // - A div that is populated with |kNoOpText| 1s after a button is tapped. 32 // - A div that is populated with |kNoOpText| 1s after a button is tapped.
34 // - A div that is populated with |kPopStateReceivedText| when a popstate event 33 // - A div that is populated with |kPopStateReceivedText| when a popstate event
35 // is received by the page. 34 // is received by the page.
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 #pragma mark window.history.go operations 200 #pragma mark window.history.go operations
202 201
203 // Tests reloading the current page via window.history.go() with no parameters. 202 // Tests reloading the current page via window.history.go() with no parameters.
204 - (void)testHistoryGoNoParameter { 203 - (void)testHistoryGoNoParameter {
205 web::test::SetUpFileBasedHttpServer(); 204 web::test::SetUpFileBasedHttpServer();
206 205
207 // Load the history test page and ensure that its onload text is visible. 206 // Load the history test page and ensure that its onload text is visible.
208 const GURL windowHistoryURL = 207 const GURL windowHistoryURL =
209 web::test::HttpServer::MakeUrl(kWindowHistoryGoTestURL); 208 web::test::HttpServer::MakeUrl(kWindowHistoryGoTestURL);
210 [ChromeEarlGrey loadURL:windowHistoryURL]; 209 [ChromeEarlGrey loadURL:windowHistoryURL];
211 [[EarlGrey selectElementWithMatcher:WebViewContainingText(kOnLoadText)] 210 [ChromeEarlGrey waitForWebViewContainingText:kOnLoadText];
212 assertWithMatcher:grey_notNil()];
213 211
214 // Tap on the window.history.go() button. This will clear |kOnLoadText|, so 212 // Tap on the window.history.go() button. This will clear |kOnLoadText|, so
215 // the subsequent check for |kOnLoadText| will only pass if a reload has 213 // the subsequent check for |kOnLoadText| will only pass if a reload has
216 // occurred. 214 // occurred.
217 [ChromeEarlGrey tapWebViewElementWithID:kGoNoParameterID]; 215 [ChromeEarlGrey tapWebViewElementWithID:kGoNoParameterID];
218 216
219 // Verify that the onload text is reset. 217 // Verify that the onload text is reset.
220 [[EarlGrey selectElementWithMatcher:WebViewContainingText(kOnLoadText)] 218 [ChromeEarlGrey waitForWebViewContainingText:kOnLoadText];
221 assertWithMatcher:grey_notNil()];
222 } 219 }
223 220
224 // Tests reloading the current page via history.go(0). 221 // Tests reloading the current page via history.go(0).
225 - (void)testHistoryGoDeltaZero { 222 - (void)testHistoryGoDeltaZero {
226 web::test::SetUpFileBasedHttpServer(); 223 web::test::SetUpFileBasedHttpServer();
227 224
228 // Load the history test page and ensure that its onload text is visible. 225 // Load the history test page and ensure that its onload text is visible.
229 const GURL windowHistoryURL = 226 const GURL windowHistoryURL =
230 web::test::HttpServer::MakeUrl(kWindowHistoryGoTestURL); 227 web::test::HttpServer::MakeUrl(kWindowHistoryGoTestURL);
231 [ChromeEarlGrey loadURL:windowHistoryURL]; 228 [ChromeEarlGrey loadURL:windowHistoryURL];
232 [[EarlGrey selectElementWithMatcher:WebViewContainingText(kOnLoadText)] 229 [ChromeEarlGrey waitForWebViewContainingText:kOnLoadText];
233 assertWithMatcher:grey_notNil()];
234 230
235 // Tap on the window.history.go() button. This will clear |kOnLoadText|, so 231 // Tap on the window.history.go() button. This will clear |kOnLoadText|, so
236 // the subsequent check for |kOnLoadText| will only pass if a reload has 232 // the subsequent check for |kOnLoadText| will only pass if a reload has
237 // occurred. 233 // occurred.
238 [ChromeEarlGrey tapWebViewElementWithID:kGoZeroID]; 234 [ChromeEarlGrey tapWebViewElementWithID:kGoZeroID];
239 235
240 // Verify that the onload text is reset. 236 // Verify that the onload text is reset.
241 [[EarlGrey selectElementWithMatcher:WebViewContainingText(kOnLoadText)] 237 [ChromeEarlGrey waitForWebViewContainingText:kOnLoadText];
242 assertWithMatcher:grey_notNil()];
243 } 238 }
244 239
245 // Tests that calling window.history.go() with an offset that is out of bounds 240 // Tests that calling window.history.go() with an offset that is out of bounds
246 // is a no-op. 241 // is a no-op.
247 - (void)testHistoryGoOutOfBounds { 242 - (void)testHistoryGoOutOfBounds {
248 web::test::SetUpFileBasedHttpServer(); 243 web::test::SetUpFileBasedHttpServer();
249 244
250 // Load the history test page and ensure that its onload text is visible. 245 // Load the history test page and ensure that its onload text is visible.
251 const GURL windowHistoryURL = 246 const GURL windowHistoryURL =
252 web::test::HttpServer::MakeUrl(kWindowHistoryGoTestURL); 247 web::test::HttpServer::MakeUrl(kWindowHistoryGoTestURL);
253 [ChromeEarlGrey loadURL:windowHistoryURL]; 248 [ChromeEarlGrey loadURL:windowHistoryURL];
254 [[EarlGrey selectElementWithMatcher:WebViewContainingText(kOnLoadText)] 249 [ChromeEarlGrey waitForWebViewContainingText:kOnLoadText];
255 assertWithMatcher:grey_notNil()];
256 250
257 // Tap on the window.history.go(2) button. This will clear all div text, so 251 // Tap on the window.history.go(2) button. This will clear all div text, so
258 // the subsequent check for |kNoOpText| will only pass if no navigations have 252 // the subsequent check for |kNoOpText| will only pass if no navigations have
259 // occurred. 253 // occurred.
260 [ChromeEarlGrey tapWebViewElementWithID:kGoTwoID]; 254 [ChromeEarlGrey tapWebViewElementWithID:kGoTwoID];
261 [[EarlGrey selectElementWithMatcher:WebViewContainingText(kNoOpText)] 255 [ChromeEarlGrey waitForWebViewContainingText:kNoOpText];
262 assertWithMatcher:grey_notNil()];
263 256
264 // Tap on the window.history.go(-2) button. This will clear all div text, so 257 // Tap on the window.history.go(-2) button. This will clear all div text, so
265 // the subsequent check for |kNoOpText| will only pass if no navigations have 258 // the subsequent check for |kNoOpText| will only pass if no navigations have
266 // occurred. 259 // occurred.
267 [ChromeEarlGrey tapWebViewElementWithID:kGoBackTwoID]; 260 [ChromeEarlGrey tapWebViewElementWithID:kGoBackTwoID];
268 [[EarlGrey selectElementWithMatcher:WebViewContainingText(kNoOpText)] 261 [ChromeEarlGrey waitForWebViewContainingText:kNoOpText];
269 assertWithMatcher:grey_notNil()];
270 } 262 }
271 263
272 // Tests going back and forward via history.go(). 264 // Tests going back and forward via history.go().
273 - (void)testHistoryGoDelta { 265 - (void)testHistoryGoDelta {
274 std::map<GURL, std::string> responses; 266 std::map<GURL, std::string> responses;
275 const GURL firstURL = web::test::HttpServer::MakeUrl("http://page1"); 267 const GURL firstURL = web::test::HttpServer::MakeUrl("http://page1");
276 const GURL secondURL = web::test::HttpServer::MakeUrl("http://page2"); 268 const GURL secondURL = web::test::HttpServer::MakeUrl("http://page2");
277 const GURL thirdURL = web::test::HttpServer::MakeUrl("http://page3"); 269 const GURL thirdURL = web::test::HttpServer::MakeUrl("http://page3");
278 const GURL fourthURL = web::test::HttpServer::MakeUrl("http://page4"); 270 const GURL fourthURL = web::test::HttpServer::MakeUrl("http://page4");
279 responses[firstURL] = 271 responses[firstURL] =
280 "page1 <input type='button' value='goForward' id='goForward' " 272 "page1 <input type='button' value='goForward' id='goForward' "
281 "onclick='window.history.go(2)' />"; 273 "onclick='window.history.go(2)' />";
282 responses[secondURL] = "page2"; 274 responses[secondURL] = "page2";
283 responses[thirdURL] = "page3"; 275 responses[thirdURL] = "page3";
284 responses[fourthURL] = 276 responses[fourthURL] =
285 "page4 <input type='button' value='goBack' id='goBack' " 277 "page4 <input type='button' value='goBack' id='goBack' "
286 "onclick='window.history.go(-3)' />"; 278 "onclick='window.history.go(-3)' />";
287 web::test::SetUpSimpleHttpServer(responses); 279 web::test::SetUpSimpleHttpServer(responses);
288 280
289 // Load 4 pages. 281 // Load 4 pages.
290 [ChromeEarlGrey loadURL:firstURL]; 282 [ChromeEarlGrey loadURL:firstURL];
291 [ChromeEarlGrey loadURL:secondURL]; 283 [ChromeEarlGrey loadURL:secondURL];
292 [ChromeEarlGrey loadURL:thirdURL]; 284 [ChromeEarlGrey loadURL:thirdURL];
293 [ChromeEarlGrey loadURL:fourthURL]; 285 [ChromeEarlGrey loadURL:fourthURL];
294 [[EarlGrey selectElementWithMatcher:WebViewContainingText("page4")] 286 [ChromeEarlGrey waitForWebViewContainingText:"page4"];
295 assertWithMatcher:grey_notNil()];
296 287
297 // Tap button to go back 3 pages. 288 // Tap button to go back 3 pages.
298 TapWebViewElementWithId("goBack"); 289 TapWebViewElementWithId("goBack");
299 [[EarlGrey selectElementWithMatcher:WebViewContainingText("page1")] 290 [ChromeEarlGrey waitForWebViewContainingText:"page1"];
300 assertWithMatcher:grey_notNil()];
301 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( 291 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText(
302 firstURL.GetContent())] 292 firstURL.GetContent())]
303 assertWithMatcher:grey_notNil()]; 293 assertWithMatcher:grey_notNil()];
304 294
305 // Tap button to go forward 2 pages. 295 // Tap button to go forward 2 pages.
306 TapWebViewElementWithId("goForward"); 296 TapWebViewElementWithId("goForward");
307 [[EarlGrey selectElementWithMatcher:WebViewContainingText("page3")] 297 [ChromeEarlGrey waitForWebViewContainingText:"page3"];
308 assertWithMatcher:grey_notNil()];
309 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( 298 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText(
310 thirdURL.GetContent())] 299 thirdURL.GetContent())]
311 assertWithMatcher:grey_notNil()]; 300 assertWithMatcher:grey_notNil()];
312 } 301 }
313 302
314 // Tests that calls to window.history.go() that span multiple documents causes 303 // Tests that calls to window.history.go() that span multiple documents causes
315 // a load to occur. 304 // a load to occur.
316 - (void)testHistoryCrossDocumentLoad { 305 - (void)testHistoryCrossDocumentLoad {
317 web::test::SetUpFileBasedHttpServer(); 306 web::test::SetUpFileBasedHttpServer();
318 307
319 // Load the history test page and ensure that its onload text is visible. 308 // Load the history test page and ensure that its onload text is visible.
320 const GURL windowHistoryURL = 309 const GURL windowHistoryURL =
321 web::test::HttpServer::MakeUrl(kWindowHistoryGoTestURL); 310 web::test::HttpServer::MakeUrl(kWindowHistoryGoTestURL);
322 [ChromeEarlGrey loadURL:windowHistoryURL]; 311 [ChromeEarlGrey loadURL:windowHistoryURL];
323 [[EarlGrey selectElementWithMatcher:WebViewContainingText(kOnLoadText)] 312 [ChromeEarlGrey waitForWebViewContainingText:kOnLoadText];
324 assertWithMatcher:grey_notNil()];
325 313
326 const GURL sampleURL = web::test::HttpServer::MakeUrl(kSampleFileBasedURL); 314 const GURL sampleURL = web::test::HttpServer::MakeUrl(kSampleFileBasedURL);
327 [ChromeEarlGrey loadURL:sampleURL]; 315 [ChromeEarlGrey loadURL:sampleURL];
328 316
329 [ChromeEarlGrey loadURL:windowHistoryURL]; 317 [ChromeEarlGrey loadURL:windowHistoryURL];
330 [[EarlGrey selectElementWithMatcher:WebViewContainingText(kOnLoadText)] 318 [ChromeEarlGrey waitForWebViewContainingText:kOnLoadText];
331 assertWithMatcher:grey_notNil()];
332 319
333 // Tap the window.history.go(-2) button. This will clear the current page's 320 // Tap the window.history.go(-2) button. This will clear the current page's
334 // |kOnLoadText|, so the subsequent check will only pass if another load 321 // |kOnLoadText|, so the subsequent check will only pass if another load
335 // occurs. 322 // occurs.
336 [ChromeEarlGrey tapWebViewElementWithID:kGoBackTwoID]; 323 [ChromeEarlGrey tapWebViewElementWithID:kGoBackTwoID];
337 [[EarlGrey selectElementWithMatcher:WebViewContainingText(kOnLoadText)] 324 [ChromeEarlGrey waitForWebViewContainingText:kOnLoadText];
338 assertWithMatcher:grey_notNil()];
339 } 325 }
340 326
341 #pragma mark window.history.[back/forward] operations 327 #pragma mark window.history.[back/forward] operations
342 328
343 // Tests going back via history.back() then forward via forward button. 329 // Tests going back via history.back() then forward via forward button.
344 - (void)testHistoryBackNavigation { 330 - (void)testHistoryBackNavigation {
345 SetupBackAndForwardResponseProvider(); 331 SetupBackAndForwardResponseProvider();
346 332
347 // Navigate to a URL. 333 // Navigate to a URL.
348 const GURL firstURL = web::test::HttpServer::MakeUrl(kTestURL); 334 const GURL firstURL = web::test::HttpServer::MakeUrl(kTestURL);
(...skipping 25 matching lines...) Expand all
374 const GURL firstURL = web::test::HttpServer::MakeUrl(kForwardURL); 360 const GURL firstURL = web::test::HttpServer::MakeUrl(kForwardURL);
375 [ChromeEarlGrey loadURL:firstURL]; 361 [ChromeEarlGrey loadURL:firstURL];
376 362
377 // Navigate to some other page. 363 // Navigate to some other page.
378 const GURL secondURL = web::test::HttpServer::MakeUrl(kTestURL); 364 const GURL secondURL = web::test::HttpServer::MakeUrl(kTestURL);
379 [ChromeEarlGrey loadURL:secondURL]; 365 [ChromeEarlGrey loadURL:secondURL];
380 366
381 // Tap the back button in the toolbar and verify the page with forward button 367 // Tap the back button in the toolbar and verify the page with forward button
382 // is loaded. 368 // is loaded.
383 [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; 369 [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
384 [[EarlGrey 370 [ChromeEarlGrey waitForWebViewContainingText:kForwardHTMLSentinel];
385 selectElementWithMatcher:WebViewContainingText(kForwardHTMLSentinel)]
386 assertWithMatcher:grey_notNil()];
387 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( 371 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText(
388 firstURL.GetContent())] 372 firstURL.GetContent())]
389 assertWithMatcher:grey_notNil()]; 373 assertWithMatcher:grey_notNil()];
390 374
391 // Tap the forward button in the HTML and verify the second URL is loaded. 375 // Tap the forward button in the HTML and verify the second URL is loaded.
392 TapWebViewElementWithId(kForwardHTMLButtonLabel); 376 TapWebViewElementWithId(kForwardHTMLButtonLabel);
393 [[EarlGrey selectElementWithMatcher:WebViewContainingText(kTestPageSentinel)] 377 [ChromeEarlGrey waitForWebViewContainingText:kTestPageSentinel];
394 assertWithMatcher:grey_notNil()];
395 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( 378 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText(
396 secondURL.GetContent())] 379 secondURL.GetContent())]
397 assertWithMatcher:grey_notNil()]; 380 assertWithMatcher:grey_notNil()];
398 381
399 // Verify that the forward button is not enabled. 382 // Verify that the forward button is not enabled.
400 // TODO(crbug.com/638674): Evaluate if size class determination can move to 383 // TODO(crbug.com/638674): Evaluate if size class determination can move to
401 // shared code. 384 // shared code.
402 if (UIApplication.sharedApplication.keyWindow.traitCollection 385 if (UIApplication.sharedApplication.keyWindow.traitCollection
403 .horizontalSizeClass == UIUserInterfaceSizeClassCompact) { 386 .horizontalSizeClass == UIUserInterfaceSizeClassCompact) {
404 // In horizontally compact environments, the forward button is not visible. 387 // In horizontally compact environments, the forward button is not visible.
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 // Click link to update location.hash and go to new URL (same page). 447 // Click link to update location.hash and go to new URL (same page).
465 chrome_test_util::TapWebViewElementWithId(kHashChangeWithHistoryLabel); 448 chrome_test_util::TapWebViewElementWithId(kHashChangeWithHistoryLabel);
466 449
467 // Navigate back to original URL. This should fire a hashchange event. 450 // Navigate back to original URL. This should fire a hashchange event.
468 std::string backHashChangeContent = "backHashChange"; 451 std::string backHashChangeContent = "backHashChange";
469 [self addHashChangeListenerWithContent:backHashChangeContent]; 452 [self addHashChangeListenerWithContent:backHashChangeContent];
470 [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; 453 [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
471 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( 454 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText(
472 page1URL.GetContent())] 455 page1URL.GetContent())]
473 assertWithMatcher:grey_notNil()]; 456 assertWithMatcher:grey_notNil()];
474 [[EarlGrey 457 [ChromeEarlGrey waitForWebViewContainingText:backHashChangeContent];
475 selectElementWithMatcher:WebViewContainingText(backHashChangeContent)]
476 assertWithMatcher:grey_notNil()];
477 458
478 // Navigate forward to the new URL. This should fire a hashchange event. 459 // Navigate forward to the new URL. This should fire a hashchange event.
479 std::string forwardHashChangeContent = "forwardHashChange"; 460 std::string forwardHashChangeContent = "forwardHashChange";
480 [self addHashChangeListenerWithContent:forwardHashChangeContent]; 461 [self addHashChangeListenerWithContent:forwardHashChangeContent];
481 [[EarlGrey selectElementWithMatcher:ForwardButton()] 462 [[EarlGrey selectElementWithMatcher:ForwardButton()]
482 performAction:grey_tap()]; 463 performAction:grey_tap()];
483 [[EarlGrey 464 [[EarlGrey
484 selectElementWithMatcher:chrome_test_util::OmniboxText( 465 selectElementWithMatcher:chrome_test_util::OmniboxText(
485 hashChangedWithHistoryURL.GetContent())] 466 hashChangedWithHistoryURL.GetContent())]
486 assertWithMatcher:grey_notNil()]; 467 assertWithMatcher:grey_notNil()];
487 [[EarlGrey 468 [ChromeEarlGrey waitForWebViewContainingText:forwardHashChangeContent];
488 selectElementWithMatcher:WebViewContainingText(forwardHashChangeContent)]
489 assertWithMatcher:grey_notNil()];
490 469
491 // Load a hash URL directly. This shouldn't fire a hashchange event. 470 // Load a hash URL directly. This shouldn't fire a hashchange event.
492 std::string hashChangeContent = "FAIL_loadUrlHashChange"; 471 std::string hashChangeContent = "FAIL_loadUrlHashChange";
493 [self addHashChangeListenerWithContent:hashChangeContent]; 472 [self addHashChangeListenerWithContent:hashChangeContent];
494 [ChromeEarlGrey loadURL:hashChangedWithHistoryURL]; 473 [ChromeEarlGrey loadURL:hashChangedWithHistoryURL];
495 [[EarlGrey selectElementWithMatcher:WebViewContainingText(hashChangeContent)] 474 // TODO(crbug.com/714157): Remove matcher that waits.
496 assertWithMatcher:grey_nil()]; 475 [[EarlGrey
476 selectElementWithMatcher:chrome_test_util::WebViewNotContainingText(
477 hashChangeContent)]
478 assertWithMatcher:grey_notNil()];
497 } 479 }
498 480
499 // Loads a URL and replaces its location, then updates its location.hash 481 // Loads a URL and replaces its location, then updates its location.hash
500 // and verifies that going back returns to the replaced entry. 482 // and verifies that going back returns to the replaced entry.
501 - (void)testWindowLocationReplaceAndChangeHash { 483 - (void)testWindowLocationReplaceAndChangeHash {
502 std::map<GURL, std::string> responses; 484 std::map<GURL, std::string> responses;
503 const GURL page1URL = web::test::HttpServer::MakeUrl(kPage1URL); 485 const GURL page1URL = web::test::HttpServer::MakeUrl(kPage1URL);
504 const GURL hashChangedWithoutHistoryURL = 486 const GURL hashChangedWithoutHistoryURL =
505 web::test::HttpServer::MakeUrl(kHashChangedWithoutHistoryURL); 487 web::test::HttpServer::MakeUrl(kHashChangedWithoutHistoryURL);
506 const GURL hashChangedWithHistoryURL = 488 const GURL hashChangedWithHistoryURL =
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 // Navigate forward and assert the the resulting page is the proper 661 // Navigate forward and assert the the resulting page is the proper
680 // destination. 662 // destination.
681 [[EarlGrey selectElementWithMatcher:ForwardButton()] 663 [[EarlGrey selectElementWithMatcher:ForwardButton()]
682 performAction:grey_tap()]; 664 performAction:grey_tap()];
683 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( 665 [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText(
684 destinationURL.GetContent())] 666 destinationURL.GetContent())]
685 assertWithMatcher:grey_notNil()]; 667 assertWithMatcher:grey_notNil()];
686 } 668 }
687 669
688 @end 670 @end
OLDNEW
« no previous file with comments | « ios/chrome/browser/web/http_auth_egtest.mm ('k') | ios/chrome/browser/web/progress_indicator_egtest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698