Bug 446171 - Part 2: Add a browser test for bookmark all tabs; r?mak draft
authorScott Wu <scottcwwu@gmail.com>
Fri, 15 Apr 2016 08:14:59 +0800
changeset 357715 92754b332f6ad60e894acc728ad1e6f6d337d550
parent 357714 0967a5d7b3fcb6cfd74c00f6252a6cca1a85b77b
child 519684 b993a5dafa3c55f3176f6c80185049b1fb873291
push id16823
push userbmo:scwwu@mozilla.com
push dateFri, 29 Apr 2016 05:58:49 +0000
reviewersmak
bugs446171
milestone49.0a1
Bug 446171 - Part 2: Add a browser test for bookmark all tabs; r?mak MozReview-Commit-ID: Ga64MDyDEyB
browser/components/places/tests/browser/bookmark_dummy_1.html
browser/components/places/tests/browser/bookmark_dummy_2.html
browser/components/places/tests/browser/browser.ini
browser/components/places/tests/browser/browser_bookmark_all_tabs.js
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));
+  });
+});