summaryrefslogtreecommitdiffstats
path: root/browser/components/places/tests/browser/browser_bookmarkProperties_bookmarkAllTabs.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/places/tests/browser/browser_bookmarkProperties_bookmarkAllTabs.js')
-rw-r--r--browser/components/places/tests/browser/browser_bookmarkProperties_bookmarkAllTabs.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/browser/components/places/tests/browser/browser_bookmarkProperties_bookmarkAllTabs.js b/browser/components/places/tests/browser/browser_bookmarkProperties_bookmarkAllTabs.js
new file mode 100644
index 0000000000..805f9464e3
--- /dev/null
+++ b/browser/components/places/tests/browser/browser_bookmarkProperties_bookmarkAllTabs.js
@@ -0,0 +1,66 @@
+"use strict";
+
+const TEST_URLS = ["about:robots", "about:mozilla"];
+
+add_task(async function bookmark_all_tabs() {
+ let tabs = [];
+ for (let url of TEST_URLS) {
+ tabs.push(await BrowserTestUtils.openNewForegroundTab(gBrowser, url));
+ }
+ registerCleanupFunction(async function () {
+ for (let tab of tabs) {
+ BrowserTestUtils.removeTab(tab);
+ }
+ await PlacesUtils.bookmarks.eraseEverything();
+ });
+
+ await withBookmarksDialog(
+ false,
+ function open() {
+ document.getElementById("Browser:BookmarkAllTabs").doCommand();
+ },
+ async dialog => {
+ let acceptBtn = dialog.document
+ .getElementById("bookmarkpropertiesdialog")
+ .getButton("accept");
+ Assert.ok(!acceptBtn.disabled, "Accept button is enabled");
+
+ let namepicker = dialog.document.getElementById("editBMPanel_namePicker");
+ Assert.ok(!namepicker.readOnly, "Name field is writable");
+ let folderName = dialog.document
+ .getElementById("stringBundle")
+ .getString("bookmarkAllTabsDefault");
+ Assert.equal(namepicker.value, folderName, "Name field is correct.");
+
+ let promiseBookmarkAdded =
+ PlacesTestUtils.waitForNotification("bookmark-added");
+
+ fillBookmarkTextField("editBMPanel_namePicker", "folder", dialog);
+
+ let folderPicker = dialog.document.getElementById(
+ "editBMPanel_folderMenuList"
+ );
+
+ let defaultParentGuid = await PlacesUIUtils.defaultParentGuid;
+ // Check the initial state of the folder picker.
+ await TestUtils.waitForCondition(
+ () => folderPicker.getAttribute("selectedGuid") == defaultParentGuid,
+ "The folder is the expected one."
+ );
+
+ EventUtils.synthesizeKey("VK_RETURN", {}, dialog);
+ await promiseBookmarkAdded;
+ for (const url of TEST_URLS) {
+ const { parentGuid } = await PlacesUtils.bookmarks.fetch({ url });
+ const folder = await PlacesUtils.bookmarks.fetch({
+ guid: parentGuid,
+ });
+ is(
+ folder.title,
+ "folder",
+ "Should have created the bookmark in the right folder."
+ );
+ }
+ }
+ );
+});