Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"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"
);
});
});