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

Unified Diff: ios/chrome/browser/web/visible_url_egtest.mm

Issue 2821173002: Handle correctly start and commit of non-latest navigations. (Closed)
Patch Set: Fixed eg tests Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/web/visible_url_egtest.mm
diff --git a/ios/chrome/browser/web/visible_url_egtest.mm b/ios/chrome/browser/web/visible_url_egtest.mm
index 364fb6500ea6ef7aaefd7e47c4084b4ced723d21..8b9876b3ffb93a6fb3a1215e334facea52643eb0 100644
--- a/ios/chrome/browser/web/visible_url_egtest.mm
+++ b/ios/chrome/browser/web/visible_url_egtest.mm
@@ -7,6 +7,10 @@
#include "base/memory/ptr_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/sys_string_conversions.h"
+#include "components/version_info/version_info.h"
+#include "ios/chrome/browser/chrome_url_constants.h"
+#import "ios/chrome/browser/ui/commands/generic_chrome_command.h"
+#include "ios/chrome/browser/ui/commands/ios_command_ids.h"
#include "ios/chrome/browser/ui/ui_util.h"
#import "ios/chrome/test/app/chrome_test_util.h"
#import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
@@ -498,6 +502,35 @@ class PausableResponseProvider : public HtmlResponseProvider {
assertWithMatcher:grey_notNil()];
}
+// Tests that visible URL is always the same as last committed URL if user
+// issues 2 go forward commands to WebUI page (crbug.com/711465).
+- (void)testDoubleForwardNavigationToWebUIPage {
+ // Create 3rd entry in the history, to be able to go back twice.
+ [ChromeEarlGrey loadURL:GURL(kChromeUIVersionURL)];
+
+ // Tap the back button twice in the toolbar and wait for URL 1 to load.
+ [[EarlGrey selectElementWithMatcher:chrome_test_util::BackButton()]
+ performAction:grey_tap()];
+ [[EarlGrey selectElementWithMatcher:chrome_test_util::BackButton()]
+ performAction:grey_tap()];
+ [[EarlGrey selectElementWithMatcher:WebViewContainingText(kTestPage1)]
+ assertWithMatcher:grey_notNil()];
+
+ // Quickly navigate forward twice and wait for kChromeUIVersionURL to load.
+ base::scoped_nsobject<GenericChromeCommand> forwardCommand(
+ [[GenericChromeCommand alloc] initWithTag:IDC_FORWARD]);
+ chrome_test_util::RunCommandWithActiveViewController(forwardCommand);
+ chrome_test_util::RunCommandWithActiveViewController(forwardCommand);
kkhorimoto 2017/04/18 23:03:15 Why are we using commands to go forward but UI ele
Eugene But (OOO till 7-30) 2017/04/19 00:26:46 Done.
+
+ const std::string version = version_info::GetVersionNumber();
+ [[EarlGrey selectElementWithMatcher:WebViewContainingText(version)]
+ assertWithMatcher:grey_notNil()];
+
+ // Make sure that chrome://version URL is displayed in the omnibox.
+ [[EarlGrey selectElementWithMatcher:OmniboxText("chrome://version")]
kkhorimoto 2017/04/18 23:03:15 Can we not use kChromeUIVersionURL?
Eugene But (OOO till 7-30) 2017/04/19 00:26:46 No, kChromeUIVersionURL has a trailing slash :(
kkhorimoto 2017/04/19 00:34:41 I think you can use web::GetDisplayTitleForUrl() t
Eugene But (OOO till 7-30) 2017/04/19 01:24:36 I can. Thanks!
+ assertWithMatcher:grey_notNil()];
+}
+
// Tests that visible URL is always the same as last committed URL if page calls
// window.history.back() twice.
- (void)testDoubleBackJSNavigation {

Powered by Google App Engine
This is Rietveld 408576698