summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api_unittest.cc')
-rw-r--r--chromium/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api_unittest.cc22
1 files changed, 18 insertions, 4 deletions
diff --git a/chromium/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api_unittest.cc b/chromium/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api_unittest.cc
index b5099b06a09..199416715d5 100644
--- a/chromium/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api_unittest.cc
+++ b/chromium/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api_unittest.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.h"
+#include "base/memory/scoped_refptr.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
@@ -33,6 +34,7 @@ class BookmarkManagerPrivateApiUnitTest : public ExtensionServiceTestBase {
node_id_ = base::NumberToString(node->id());
}
+ const bookmarks::BookmarkModel* model() const { return model_; }
std::string node_id() const { return node_id_; }
private:
@@ -47,15 +49,14 @@ class BookmarkManagerPrivateApiUnitTest : public ExtensionServiceTestBase {
// Regression test for https://crbug.com/739260.
TEST_F(BookmarkManagerPrivateApiUnitTest, RunOnDeletedNode) {
// Remove our only bookmark node.
- scoped_refptr<BookmarksRemoveFunction> remove_function(
- new BookmarksRemoveFunction());
+ auto remove_function = base::MakeRefCounted<BookmarksRemoveFunction>();
api_test_utils::RunFunction(remove_function.get(),
base::StringPrintf("[\"%s\"]", node_id().c_str()),
profile());
// Call bookmarkManagerPrivate.copy() with the removed bookmark node's id.
- scoped_refptr<BookmarkManagerPrivateCopyFunction> copy_function(
- new BookmarkManagerPrivateCopyFunction());
+ auto copy_function =
+ base::MakeRefCounted<BookmarkManagerPrivateCopyFunction>();
EXPECT_EQ(
"Could not find bookmark nodes with given ids.",
api_test_utils::RunFunctionAndReturnError(
@@ -63,4 +64,17 @@ TEST_F(BookmarkManagerPrivateApiUnitTest, RunOnDeletedNode) {
base::StringPrintf("[[\"%s\"]]", node_id().c_str()), profile()));
}
+// Tests that calling bookmarkManagerPrivate.cut() to cut a permanent bookmark
+// node into the clipboard gracefully fails.
+// Regression test for https://crbug.com/1021829.
+TEST_F(BookmarkManagerPrivateApiUnitTest, RunCutOnPermanentNode) {
+ auto cut_function = base::MakeRefCounted<BookmarkManagerPrivateCutFunction>();
+ std::string node_id =
+ base::NumberToString(model()->bookmark_bar_node()->id());
+ EXPECT_EQ("Can't modify the root bookmark folders.",
+ api_test_utils::RunFunctionAndReturnError(
+ cut_function.get(),
+ base::StringPrintf("[[\"%s\"]]", node_id.c_str()), profile()));
+}
+
} // namespace extensions