summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/urlbar/browser_urlbarDelete.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/urlbar/browser_urlbarDelete.js')
-rw-r--r--browser/base/content/test/urlbar/browser_urlbarDelete.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/browser/base/content/test/urlbar/browser_urlbarDelete.js b/browser/base/content/test/urlbar/browser_urlbarDelete.js
new file mode 100644
index 000000000..d4eb6c856
--- /dev/null
+++ b/browser/base/content/test/urlbar/browser_urlbarDelete.js
@@ -0,0 +1,39 @@
+add_task(function*() {
+ let bm = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
+ url: "http://bug1105244.example.com/",
+ title: "test" });
+
+ registerCleanupFunction(function* () {
+ yield PlacesUtils.bookmarks.remove(bm);
+ });
+
+ yield BrowserTestUtils.withNewTab({ gBrowser, url: "about:blank" }, testDelete);
+});
+
+function sendHome() {
+ // unclear why VK_HOME doesn't work on Mac, but it doesn't...
+ if (Services.appinfo.OS == "Darwin") {
+ EventUtils.synthesizeKey("VK_LEFT", { altKey: true });
+ } else {
+ EventUtils.synthesizeKey("VK_HOME", {});
+ }
+}
+
+function sendDelete() {
+ EventUtils.synthesizeKey("VK_DELETE", {});
+}
+
+function* testDelete() {
+ yield promiseAutocompleteResultPopup("bug1105244");
+
+ // move to the start.
+ sendHome();
+ // delete the first few chars - each delete should operate on the input field.
+ sendDelete();
+ Assert.equal(gURLBar.inputField.value, "ug1105244");
+
+ yield promisePopupShown(gURLBar.popup);
+
+ sendDelete();
+ Assert.equal(gURLBar.inputField.value, "g1105244");
+}