summaryrefslogtreecommitdiffstats
path: root/browser/components/places/tests/browser/browser_library_bookmark_pages.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/places/tests/browser/browser_library_bookmark_pages.js')
-rw-r--r--browser/components/places/tests/browser/browser_library_bookmark_pages.js101
1 files changed, 101 insertions, 0 deletions
diff --git a/browser/components/places/tests/browser/browser_library_bookmark_pages.js b/browser/components/places/tests/browser/browser_library_bookmark_pages.js
new file mode 100644
index 0000000000..474adb956d
--- /dev/null
+++ b/browser/components/places/tests/browser/browser_library_bookmark_pages.js
@@ -0,0 +1,101 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+/**
+ * Test that the a new bookmark is correctly selected after being created via
+ * the bookmark dialog.
+ */
+"use strict";
+
+const TEST_URIS = ["https://example1.com/", "https://example2.com/"];
+let library;
+
+add_setup(async function () {
+ await PlacesTestUtils.addVisits(TEST_URIS);
+
+ library = await promiseLibrary("History");
+
+ registerCleanupFunction(async function () {
+ await promiseLibraryClosed(library);
+ await PlacesUtils.history.clear();
+ });
+});
+
+add_task(async function test_bookmark_page() {
+ library.ContentTree.view.selectPlaceURI(TEST_URIS[0]);
+
+ await withBookmarksDialog(
+ true,
+ async () => {
+ // Open the context menu.
+ let placesContext = library.document.getElementById("placesContext");
+ let promisePopup = BrowserTestUtils.waitForEvent(
+ placesContext,
+ "popupshown"
+ );
+ synthesizeClickOnSelectedTreeCell(library.ContentTree.view, {
+ button: 2,
+ type: "contextmenu",
+ });
+
+ await promisePopup;
+ let properties = library.document.getElementById(
+ "placesContext_createBookmark"
+ );
+ placesContext.activateItem(properties);
+ },
+ async dialogWin => {
+ Assert.strictEqual(
+ dialogWin.BookmarkPropertiesPanel._itemType,
+ 0,
+ "Should have loaded a bookmark dialog"
+ );
+ Assert.equal(
+ dialogWin.document.getElementById("editBMPanel_locationField").value,
+ TEST_URIS[0],
+ "Should have opened the dialog with the correct uri to be bookmarked"
+ );
+ }
+ );
+});
+
+add_task(async function test_bookmark_pages() {
+ library.ContentTree.view.selectAll();
+
+ await withBookmarksDialog(
+ true,
+ async () => {
+ // Open the context menu.
+ let placesContext = library.document.getElementById("placesContext");
+ let promisePopup = BrowserTestUtils.waitForEvent(
+ placesContext,
+ "popupshown"
+ );
+ synthesizeClickOnSelectedTreeCell(library.ContentTree.view, {
+ button: 2,
+ type: "contextmenu",
+ });
+
+ await promisePopup;
+ let properties = library.document.getElementById(
+ "placesContext_createBookmark"
+ );
+ placesContext.activateItem(properties);
+ },
+ async dialogWin => {
+ Assert.strictEqual(
+ dialogWin.BookmarkPropertiesPanel._itemType,
+ 1,
+ "Should have loaded a create bookmark folder dialog"
+ );
+ Assert.deepEqual(
+ dialogWin.BookmarkPropertiesPanel._URIs.map(uri => uri.uri.spec),
+ // The list here is reversed, because that's the order they're shown
+ // in the view.
+ [TEST_URIS[1], TEST_URIS[0]],
+ "Should have got the correct URIs for adding to the folder"
+ );
+ }
+ );
+});