summaryrefslogtreecommitdiffstats
path: root/browser/components/places/tests/browser/browser_bookmarkProperties_editFolder.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/places/tests/browser/browser_bookmarkProperties_editFolder.js')
-rw-r--r--browser/components/places/tests/browser/browser_bookmarkProperties_editFolder.js78
1 files changed, 78 insertions, 0 deletions
diff --git a/browser/components/places/tests/browser/browser_bookmarkProperties_editFolder.js b/browser/components/places/tests/browser/browser_bookmarkProperties_editFolder.js
new file mode 100644
index 0000000000..fae9d01bec
--- /dev/null
+++ b/browser/components/places/tests/browser/browser_bookmarkProperties_editFolder.js
@@ -0,0 +1,78 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+// Tests the Properties dialog on a folder.
+
+add_task(async function test_bookmark_properties_dialog_on_folder() {
+ info("Bug 479348 - Properties on a root should be read-only.");
+
+ let bm = await PlacesUtils.bookmarks.insert({
+ title: "folder",
+ type: PlacesUtils.bookmarks.TYPE_FOLDER,
+ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
+ });
+ registerCleanupFunction(async function () {
+ await PlacesUtils.bookmarks.remove(bm);
+ });
+
+ await withSidebarTree("bookmarks", async function (tree) {
+ // Select the new bookmark in the sidebar.
+ tree.selectItems([bm.guid]);
+ let folder = tree.selectedNode;
+ Assert.equal(folder.title, "folder", "Folder title is correct");
+ Assert.ok(
+ tree.controller.isCommandEnabled("placesCmd_show:info"),
+ "'placesCmd_show:info' on folder is enabled"
+ );
+
+ await withBookmarksDialog(
+ false,
+ function openDialog() {
+ tree.controller.doCommand("placesCmd_show:info");
+ },
+ async function test(dialogWin) {
+ // Check that the dialog is not read-only.
+ Assert.ok(
+ !dialogWin.gEditItemOverlay.readOnly,
+ "EditBookmark: Dialog should not be read-only"
+ );
+
+ // Check that name picker is not read only
+ let namepicker = dialogWin.document.getElementById(
+ "editBMPanel_namePicker"
+ );
+ Assert.ok(
+ !namepicker.readOnly,
+ "EditBookmark: Name field should not be read-only"
+ );
+ Assert.equal(
+ namepicker.value,
+ "folder",
+ "EditBookmark:Node title is correct"
+ );
+
+ fillBookmarkTextField("editBMPanel_namePicker", "newname", dialogWin);
+ namepicker.blur();
+
+ Assert.equal(
+ namepicker.value,
+ "newname",
+ "EditBookmark: The title field has been changed"
+ );
+
+ // Confirm and close the dialog.
+ namepicker.focus();
+ EventUtils.synthesizeKey("VK_RETURN", {}, dialogWin);
+ // Ensure that the edit is finished before we hit cancel.
+ }
+ );
+
+ Assert.equal(
+ tree.selectedNode.title,
+ "newname",
+ "EditBookmark: The node has the correct title"
+ );
+ });
+});