forked from mirrors/gecko-dev
59 lines
1.8 KiB
JavaScript
59 lines
1.8 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
*/
|
|
|
|
var testURL = "data:text/plain,nothing but plain text";
|
|
var testTag = "581253_tag";
|
|
|
|
add_task(async function test_remove_bookmark_with_tag_via_edit_bookmark() {
|
|
waitForExplicitFinish();
|
|
|
|
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser);
|
|
|
|
registerCleanupFunction(async function() {
|
|
await PlacesUtils.bookmarks.eraseEverything();
|
|
BrowserTestUtils.removeTab(tab);
|
|
await PlacesUtils.history.clear();
|
|
});
|
|
|
|
await PlacesUtils.bookmarks.insert({
|
|
parentGuid: PlacesUtils.bookmarks.unfiledGuid,
|
|
title: "",
|
|
url: testURL,
|
|
});
|
|
|
|
Assert.ok(await PlacesUtils.bookmarks.fetch({url: testURL}), "the test url is bookmarked");
|
|
|
|
gBrowser.loadURI(testURL);
|
|
|
|
await BrowserTestUtils.waitForCondition(
|
|
() => BookmarkingUI.status == BookmarkingUI.STATUS_STARRED,
|
|
"star button indicates that the page is bookmarked");
|
|
|
|
PlacesUtils.tagging.tagURI(makeURI(testURL), [testTag]);
|
|
|
|
let popupShownPromise = BrowserTestUtils.waitForEvent(StarUI.panel, "popupshown");
|
|
|
|
BookmarkingUI.star.click();
|
|
|
|
await popupShownPromise;
|
|
|
|
let tagsField = document.getElementById("editBMPanel_tagsField");
|
|
Assert.ok(tagsField.value == testTag, "tags field value was set");
|
|
tagsField.focus();
|
|
|
|
let popupHiddenPromise = BrowserTestUtils.waitForEvent(StarUI.panel, "popuphidden");
|
|
|
|
let removeNotification = PlacesTestUtils.waitForNotification("onItemRemoved",
|
|
(id, parentId, index, type, itemUrl) => testURL == unescape(itemUrl.spec));
|
|
|
|
let removeButton = document.getElementById("editBookmarkPanelRemoveButton");
|
|
removeButton.click();
|
|
|
|
await popupHiddenPromise;
|
|
|
|
await removeNotification;
|
|
|
|
is(BookmarkingUI.status, BookmarkingUI.STATUS_UNSTARRED,
|
|
"star button indicates that the bookmark has been removed");
|
|
});
|