Bug 1376147 - Part 2. Add mochitest. r?mak draft
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>
Wed, 05 Jul 2017 16:38:28 +0900
changeset 612154 1ffd4debba5151f9ef983ac3ac9a76e529222a6f
parent 612153 aae19d0155a43a2aa58469e517f055c48ea8abd7
child 638327 1271eeba501b350cd6c31406bea528e652f87efe
push id69402
push userbmo:m_kato@ga2.so-net.ne.jp
push dateThu, 20 Jul 2017 11:25:51 +0000
reviewersmak
bugs1376147
milestone56.0a1
Bug 1376147 - Part 2. Add mochitest. r?mak MozReview-Commit-ID: 9niv4eQdFq8
browser/base/content/test/urlbar/browser.ini
browser/base/content/test/urlbar/browser_bug1376147-undo-autocomplete.js
--- a/browser/base/content/test/urlbar/browser.ini
+++ b/browser/base/content/test/urlbar/browser.ini
@@ -20,16 +20,17 @@ support-files =
 [browser_autocomplete_no_title.js]
 [browser_autocomplete_tag_star_visibility.js]
 [browser_bug1104165-switchtab-decodeuri.js]
 [browser_bug1003461-switchtab-override.js]
 [browser_bug1024133-switchtab-override-keynav.js]
 [browser_bug1025195_switchToTabHavingURI_aOpenParams.js]
 [browser_bug1070778.js]
 [browser_bug1225194-remotetab.js]
+[browser_bug1376147-undo-autocomplete.js]
 [browser_bug304198.js]
 [browser_bug556061.js]
 subsuite = clipboard
 [browser_bug562649.js]
 [browser_bug623155.js]
 support-files =
   redirect_bug623155.sjs
 [browser_bug783614.js]
new file mode 100644
--- /dev/null
+++ b/browser/base/content/test/urlbar/browser_bug1376147-undo-autocomplete.js
@@ -0,0 +1,38 @@
+add_task(async function() {
+  await PlacesTestUtils.clearHistory();
+
+  await PlacesTestUtils.addVisits([{
+    uri: makeURI("http://example.com/foo"),
+    transition: Ci.nsINavHistoryService.TRANSITION_TYPED }]);
+
+  registerCleanupFunction(async function() {
+    await PlacesTestUtils.clearHistory();
+  });
+
+  gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser, "about:blank");
+  gURLBar.focus();
+
+  EventUtils.synthesizeKey("a", {});
+  EventUtils.synthesizeKey("b", {});
+  is(gURLBar.inputField.value, "ab", "URL is ab");
+
+  EventUtils.synthesizeKey("VK_BACK_SPACE", {});
+  EventUtils.synthesizeKey("VK_BACK_SPACE", {});
+  is(gURLBar.inputField.value, "", "URL is empty value");
+
+  EventUtils.synthesizeKey("e", {});
+  EventUtils.synthesizeKey("x", {});
+  await promiseSearchComplete();
+  is(gURLBar.inputField.value, "example.com/", "URL is example.com/");
+
+  // Undo should remove auto completed value
+
+  EventUtils.synthesizeKey("Z", {accelKey: true});
+  is(gURLBar.inputField.value, "ex", "URL is ex");
+
+  EventUtils.synthesizeKey("Z", {accelKey: true});
+  is(gURLBar.inputField.value, "", "URL is empty value");
+
+  gURLBar.handleRevert();
+  gBrowser.removeTab(gBrowser.selectedTab);
+});