summaryrefslogtreecommitdiffstats
path: root/browser/components/places/tests/browser/browser_bookmarkProperties_addFolderDefaultButton.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/places/tests/browser/browser_bookmarkProperties_addFolderDefaultButton.js')
-rw-r--r--browser/components/places/tests/browser/browser_bookmarkProperties_addFolderDefaultButton.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/browser/components/places/tests/browser/browser_bookmarkProperties_addFolderDefaultButton.js b/browser/components/places/tests/browser/browser_bookmarkProperties_addFolderDefaultButton.js
new file mode 100644
index 0000000000..0c04dbd243
--- /dev/null
+++ b/browser/components/places/tests/browser/browser_bookmarkProperties_addFolderDefaultButton.js
@@ -0,0 +1,68 @@
+"use strict";
+
+add_task(async function add_folder_default_button() {
+ info(
+ "Bug 475529 - Add is the default button for the new folder dialog + " +
+ "Bug 1206376 - Changing properties of a new bookmark while adding it " +
+ "acts on the last bookmark in the current container"
+ );
+
+ // Add a new bookmark at index 0 in the unfiled folder.
+ let insertionIndex = 0;
+ let newBookmark = await PlacesUtils.bookmarks.insert({
+ index: insertionIndex,
+ type: PlacesUtils.bookmarks.TYPE_BOOKMARK,
+ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
+ url: "http://example.com/",
+ });
+
+ await withSidebarTree("bookmarks", async function (tree) {
+ // Select the new bookmark in the sidebar.
+ tree.selectItems([newBookmark.guid]);
+ Assert.ok(
+ tree.controller.isCommandEnabled("placesCmd_new:folder"),
+ "'placesCmd_new:folder' on current selected node is enabled"
+ );
+
+ // Create a new folder. Since the new bookmark is selected, and new items
+ // are inserted at the index of the currently selected item, the new folder
+ // will be inserted at index 0.
+ await withBookmarksDialog(
+ false,
+ function openDialog() {
+ tree.controller.doCommand("placesCmd_new:folder");
+ },
+ async function test(dialogWin) {
+ const notifications = [
+ PlacesTestUtils.waitForNotification("bookmark-added", events =>
+ events.some(e => e.title === "n")
+ ),
+ PlacesTestUtils.waitForNotification("bookmark-moved", null),
+ ];
+
+ fillBookmarkTextField("editBMPanel_namePicker", "n", dialogWin, false);
+
+ // Confirm and close the dialog.
+ EventUtils.synthesizeKey("VK_RETURN", {}, dialogWin);
+ await Promise.all(notifications);
+
+ let newFolder = await PlacesUtils.bookmarks.fetch({
+ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
+ index: insertionIndex,
+ });
+
+ is(newFolder.title, "n", "folder name has been edited");
+
+ let bm = await PlacesUtils.bookmarks.fetch(newBookmark.guid);
+ Assert.equal(
+ bm.index,
+ insertionIndex + 1,
+ "Bookmark should have been shifted to the next index"
+ );
+
+ await PlacesUtils.bookmarks.remove(newFolder);
+ await PlacesUtils.bookmarks.remove(newBookmark);
+ }
+ );
+ });
+});