Bug 1376147 - Part 2. Add mochitest. r?mak
MozReview-Commit-ID: 9niv4eQdFq8
--- 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);
+});