Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim:set ts=2 sw=2 sts=2 et: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* Test enabled commands in the left pane folder of the Library.
*/
registerCleanupFunction(async function () {
await PlacesUtils.bookmarks.eraseEverything();
await PlacesUtils.history.clear();
});
add_task(async function test_tags() {
const TEST_URI = Services.io.newURI("http://example.com/");
await PlacesUtils.bookmarks.insert({
type: PlacesUtils.bookmarks.TYPE_BOOKMARK,
url: TEST_URI,
title: "example page",
parentGuid: PlacesUtils.bookmarks.unfiledGuid,
index: 0,
});
PlacesUtils.tagging.tagURI(TEST_URI, ["test"]);
let library = await promiseLibrary();
// Select and open the left pane "Bookmarks Toolbar" folder.
let PO = library.PlacesOrganizer;
PO.selectLeftPaneBuiltIn("Tags");
let tagsNode = PO._places.selectedNode;
Assert.notEqual(tagsNode, null, "Should have a valid selection");
let tagsTitle = PlacesUtils.getString("TagsFolderTitle");
Assert.equal(tagsNode.title, tagsTitle, "Should have selected the Tags node");
// Now select the tag.
PlacesUtils.asContainer(tagsNode).containerOpen = true;
let tag = tagsNode.getChild(0);
PO._places.selectNode(tag);
Assert.equal(
PO._places.selectedNode.title,
"test",
"Should have selected the created tag"
);
PO._places.controller.doCommand("cmd_delete");
await PlacesTestUtils.promiseAsyncUpdates();
let tags = PlacesUtils.tagging.getTagsForURI(TEST_URI);
Assert.equal(tags.length, 0, "There should be no tags for the URI");
tagsNode.containerOpen = false;
library.close();
});