summaryrefslogtreecommitdiffstats
path: root/chrome/browser/bookmarks/bookmark_utils_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/bookmarks/bookmark_utils_unittest.cc')
-rw-r--r--chrome/browser/bookmarks/bookmark_utils_unittest.cc34
1 files changed, 34 insertions, 0 deletions
diff --git a/chrome/browser/bookmarks/bookmark_utils_unittest.cc b/chrome/browser/bookmarks/bookmark_utils_unittest.cc
index e89ad8e..b1b56a5 100644
--- a/chrome/browser/bookmarks/bookmark_utils_unittest.cc
+++ b/chrome/browser/bookmarks/bookmark_utils_unittest.cc
@@ -4,6 +4,10 @@
#include "testing/gtest/include/gtest/gtest.h"
+#include "base/message_loop.h"
+#include "base/scoped_clipboard_writer.h"
+#include "base/string_util.h"
+#include "chrome/browser/browser_process.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "chrome/browser/bookmarks/bookmark_utils.h"
@@ -75,3 +79,33 @@ TEST_F(BookmarkUtilsTest, DoesBookmarkContainText) {
node, L"qcka1pmc", L"ja"));
}
+#if !defined(OS_MACOSX)
+TEST_F(BookmarkUtilsTest, CopyPaste) {
+ // Clipboard requires a message loop.
+ MessageLoopForUI loop;
+
+ BookmarkModel model(NULL);
+ const BookmarkNode* node = model.AddURL(model.other_node(), 0, L"foo bar",
+ GURL("http://www.google.com"));
+
+ // Copy a node to the clipboard.
+ std::vector<const BookmarkNode*> nodes;
+ nodes.push_back(node);
+ bookmark_utils::CopyToClipboard(&model, nodes, false);
+
+ // And make sure we can paste a bookmark from the clipboard.
+ EXPECT_TRUE(
+ bookmark_utils::CanPasteFromClipboard(model.GetBookmarkBarNode()));
+
+ // Write some text to the clipboard.
+ {
+ ScopedClipboardWriter clipboard_writer(g_browser_process->clipboard());
+ clipboard_writer.WriteText(ASCIIToUTF16("foo"));
+ }
+
+ // Now we shouldn't be able to paste from the clipboard.
+ EXPECT_FALSE(
+ bookmark_utils::CanPasteFromClipboard(model.GetBookmarkBarNode()));
+}
+#endif
+