Bug 446171 - Part 2: Add a browser test for bookmark all tabs; r?mak
MozReview-Commit-ID: Ga64MDyDEyB
new file mode 100644
--- /dev/null
+++ b/browser/components/places/tests/browser/bookmark_dummy_1.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+<title>Bookmark Dummy 1</title>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8"></meta>
+</head>
+<body>
+<p>Bookmark Dummy 1</p>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/browser/components/places/tests/browser/bookmark_dummy_2.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+<title>Bookmark Dummy 2</title>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8"></meta>
+</head>
+<body>
+<p>Bookmark Dummy 2</p>
+</body>
+</html>
--- a/browser/components/places/tests/browser/browser.ini
+++ b/browser/components/places/tests/browser/browser.ini
@@ -46,8 +46,12 @@ support-files =
[browser_library_views_liveupdate.js]
[browser_markPageAsFollowedLink.js]
[browser_sidebarpanels_click.js]
skip-if = true # temporarily disabled for breaking the treeview - bug 658744
[browser_sort_in_library.js]
[browser_toolbar_migration.js]
[browser_toolbarbutton_menu_context.js]
[browser_views_liveupdate.js]
+[browser_bookmark_all_tabs.js]
+support-files =
+ bookmark_dummy_1.html
+ bookmark_dummy_2.html
new file mode 100644
--- /dev/null
+++ b/browser/components/places/tests/browser/browser_bookmark_all_tabs.js
@@ -0,0 +1,37 @@
+/**
+ * Test for Bug 446171 - Name field of bookmarks saved via 'Bookmark All Tabs'
+ * has '(null)' value if history is disabled or just in private browsing mode
+ */
+"use strict"
+
+add_task(function* () {
+ const BASE_URL = "http://example.org/browser/browser/components/places/tests/browser/";
+ const TEST_PAGES = [
+ BASE_URL + "bookmark_dummy_1.html",
+ BASE_URL + "bookmark_dummy_2.html",
+ BASE_URL + "bookmark_dummy_1.html"
+ ];
+
+ function promiseAddTab(url) {
+ return BrowserTestUtils.openNewForegroundTab(gBrowser, url);
+ }
+
+ let tabs = yield Promise.all(TEST_PAGES.map(promiseAddTab));
+
+ let URIs = PlacesCommandHook.uniqueCurrentPages;
+ is(URIs.length, 3, "Only unique pages are returned");
+
+ Assert.deepEqual(URIs.map(URI => URI.uri.spec), [
+ "about:blank",
+ BASE_URL + "bookmark_dummy_1.html",
+ BASE_URL + "bookmark_dummy_2.html"
+ ], "Correct URIs are returned");
+
+ Assert.deepEqual(URIs.map(URI => URI.title), [
+ "", "Bookmark Dummy 1", "Bookmark Dummy 2"
+ ], "Correct titles are returned");
+
+ registerCleanupFunction(function* () {
+ yield Promise.all(tabs.map(BrowserTestUtils.removeTab));
+ });
+});