summaryrefslogtreecommitdiffstats
path: root/base/clipboard_unittest.cc
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-03 04:25:37 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-03 04:25:37 +0000
commit90f399075f9082bf7031512d6579ec1196dc060a (patch)
tree8d47273615d98732a60d0e77a0787d1623204a4b /base/clipboard_unittest.cc
parentf0f400cb2e0a3c545d723524e8bbaf136caacf81 (diff)
downloadchromium_src-90f399075f9082bf7031512d6579ec1196dc060a.zip
chromium_src-90f399075f9082bf7031512d6579ec1196dc060a.tar.gz
chromium_src-90f399075f9082bf7031512d6579ec1196dc060a.tar.bz2
Move the clipboard stuff out of base and into app/clipboard. I renamed
clipboard_util to clipboard_util_win since it's Windows-only. This patch makes test_shell depend on app as well. There should be no logic change. TEST=none BUG=none Review URL: http://codereview.chromium.org/260003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27937 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/clipboard_unittest.cc')
-rw-r--r--base/clipboard_unittest.cc337
1 files changed, 0 insertions, 337 deletions
diff --git a/base/clipboard_unittest.cc b/base/clipboard_unittest.cc
deleted file mode 100644
index e6238ba..0000000
--- a/base/clipboard_unittest.cc
+++ /dev/null
@@ -1,337 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <string>
-
-#include "base/basictypes.h"
-#include "base/clipboard.h"
-#include "base/gfx/size.h"
-#include "base/message_loop.h"
-#include "base/pickle.h"
-#include "base/scoped_clipboard_writer.h"
-#include "base/string_util.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "testing/platform_test.h"
-
-#if defined(OS_WIN)
-class ClipboardTest : public PlatformTest {
- protected:
- virtual void SetUp() {
- message_loop_.reset(new MessageLoopForUI());
- }
- virtual void TearDown() {
- }
-
- private:
- scoped_ptr<MessageLoop> message_loop_;
-};
-#elif defined(OS_POSIX)
-typedef PlatformTest ClipboardTest;
-#endif // defined(OS_WIN)
-
-TEST_F(ClipboardTest, ClearTest) {
- Clipboard clipboard;
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteText(ASCIIToUTF16("clear me"));
- }
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteHTML(ASCIIToUTF16("<b>broom</b>"), "");
- }
-
- EXPECT_FALSE(clipboard.IsFormatAvailable(
- Clipboard::GetPlainTextWFormatType(), Clipboard::BUFFER_STANDARD));
- EXPECT_FALSE(clipboard.IsFormatAvailable(
- Clipboard::GetPlainTextFormatType(), Clipboard::BUFFER_STANDARD));
-}
-
-TEST_F(ClipboardTest, TextTest) {
- Clipboard clipboard;
-
- string16 text(ASCIIToUTF16("This is a string16!#$")), text_result;
- std::string ascii_text;
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteText(text);
- }
-
- EXPECT_TRUE(clipboard.IsFormatAvailable(
- Clipboard::GetPlainTextWFormatType(), Clipboard::BUFFER_STANDARD));
- EXPECT_TRUE(clipboard.IsFormatAvailable(Clipboard::GetPlainTextFormatType(),
- Clipboard::BUFFER_STANDARD));
- clipboard.ReadText(Clipboard::BUFFER_STANDARD, &text_result);
-
- EXPECT_EQ(text, text_result);
- clipboard.ReadAsciiText(Clipboard::BUFFER_STANDARD, &ascii_text);
- EXPECT_EQ(UTF16ToUTF8(text), ascii_text);
-}
-
-TEST_F(ClipboardTest, HTMLTest) {
- Clipboard clipboard;
-
- string16 markup(ASCIIToUTF16("<string>Hi!</string>")), markup_result;
- std::string url("http://www.example.com/"), url_result;
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteHTML(markup, url);
- }
-
- EXPECT_TRUE(clipboard.IsFormatAvailable(Clipboard::GetHtmlFormatType(),
- Clipboard::BUFFER_STANDARD));
- clipboard.ReadHTML(Clipboard::BUFFER_STANDARD, &markup_result, &url_result);
- EXPECT_EQ(markup, markup_result);
-#if defined(OS_WIN)
- // TODO(playmobil): It's not clear that non windows clipboards need to support
- // this.
- EXPECT_EQ(url, url_result);
-#endif // defined(OS_WIN)
-}
-
-TEST_F(ClipboardTest, TrickyHTMLTest) {
- Clipboard clipboard;
-
- string16 markup(ASCIIToUTF16("<em>Bye!<!--EndFragment --></em>")),
- markup_result;
- std::string url, url_result;
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteHTML(markup, url);
- }
-
- EXPECT_TRUE(clipboard.IsFormatAvailable(Clipboard::GetHtmlFormatType(),
- Clipboard::BUFFER_STANDARD));
- clipboard.ReadHTML(Clipboard::BUFFER_STANDARD, &markup_result, &url_result);
- EXPECT_EQ(markup, markup_result);
-#if defined(OS_WIN)
- // TODO(playmobil): It's not clear that non windows clipboards need to support
- // this.
- EXPECT_EQ(url, url_result);
-#endif // defined(OS_WIN)
-}
-
-// TODO(estade): Port the following test (decide what target we use for urls)
-#if !defined(OS_LINUX)
-TEST_F(ClipboardTest, BookmarkTest) {
- Clipboard clipboard;
-
- string16 title(ASCIIToUTF16("The Example Company")), title_result;
- std::string url("http://www.example.com/"), url_result;
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteBookmark(title, url);
- }
-
- EXPECT_TRUE(clipboard.IsFormatAvailable(Clipboard::GetUrlWFormatType(),
- Clipboard::BUFFER_STANDARD));
- clipboard.ReadBookmark(&title_result, &url_result);
- EXPECT_EQ(title, title_result);
- EXPECT_EQ(url, url_result);
-}
-#endif // defined(OS_WIN)
-
-TEST_F(ClipboardTest, MultiFormatTest) {
- Clipboard clipboard;
-
- string16 text(ASCIIToUTF16("Hi!")), text_result;
- string16 markup(ASCIIToUTF16("<strong>Hi!</string>")), markup_result;
- std::string url("http://www.example.com/"), url_result;
- std::string ascii_text;
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteHTML(markup, url);
- clipboard_writer.WriteText(text);
- }
-
- EXPECT_TRUE(clipboard.IsFormatAvailable(Clipboard::GetHtmlFormatType(),
- Clipboard::BUFFER_STANDARD));
- EXPECT_TRUE(clipboard.IsFormatAvailable(
- Clipboard::GetPlainTextWFormatType(), Clipboard::BUFFER_STANDARD));
- EXPECT_TRUE(clipboard.IsFormatAvailable(
- Clipboard::GetPlainTextFormatType(), Clipboard::BUFFER_STANDARD));
- clipboard.ReadHTML(Clipboard::BUFFER_STANDARD, &markup_result, &url_result);
- EXPECT_EQ(markup, markup_result);
-#if defined(OS_WIN)
- // TODO(playmobil): It's not clear that non windows clipboards need to support
- // this.
- EXPECT_EQ(url, url_result);
-#endif // defined(OS_WIN)
- clipboard.ReadText(Clipboard::BUFFER_STANDARD, &text_result);
- EXPECT_EQ(text, text_result);
- clipboard.ReadAsciiText(Clipboard::BUFFER_STANDARD, &ascii_text);
- EXPECT_EQ(UTF16ToUTF8(text), ascii_text);
-}
-
-// TODO(estade): Port the following tests (decide what targets we use for files)
-#if !defined(OS_LINUX)
-// Files for this test don't actually need to exist on the file system, just
-// don't try to use a non-existent file you've retrieved from the clipboard.
-TEST_F(ClipboardTest, FileTest) {
- Clipboard clipboard;
-#if defined(OS_WIN)
- FilePath file(L"C:\\Downloads\\My Downloads\\A Special File.txt");
-#elif defined(OS_MACOSX)
- // OS X will print a warning message if we stick a non-existant file on the
- // clipboard.
- FilePath file("/usr/bin/make");
-#endif // defined(OS_MACOSX)
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteFile(file);
- }
-
- FilePath out_file;
- clipboard.ReadFile(&out_file);
- EXPECT_EQ(file.value(), out_file.value());
-}
-
-TEST_F(ClipboardTest, MultipleFilesTest) {
- Clipboard clipboard;
-
-#if defined(OS_WIN)
- FilePath file1(L"C:\\Downloads\\My Downloads\\File 1.exe");
- FilePath file2(L"C:\\Downloads\\My Downloads\\File 2.pdf");
- FilePath file3(L"C:\\Downloads\\My Downloads\\File 3.doc");
-#elif defined(OS_MACOSX)
- // OS X will print a warning message if we stick a non-existant file on the
- // clipboard.
- FilePath file1("/usr/bin/make");
- FilePath file2("/usr/bin/man");
- FilePath file3("/usr/bin/perl");
-#endif // defined(OS_MACOSX)
- std::vector<FilePath> files;
- files.push_back(file1);
- files.push_back(file2);
- files.push_back(file3);
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteFiles(files);
- }
-
- std::vector<FilePath> out_files;
- clipboard.ReadFiles(&out_files);
-
- EXPECT_EQ(files.size(), out_files.size());
- for (size_t i = 0; i < out_files.size(); ++i)
- EXPECT_EQ(files[i].value(), out_files[i].value());
-}
-#endif // !defined(OS_LINUX)
-
-TEST_F(ClipboardTest, URLTest) {
- Clipboard clipboard;
-
- string16 url(ASCIIToUTF16("http://www.google.com/"));
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteURL(url);
- }
-
- EXPECT_TRUE(clipboard.IsFormatAvailable(
- Clipboard::GetPlainTextWFormatType(), Clipboard::BUFFER_STANDARD));
- EXPECT_TRUE(clipboard.IsFormatAvailable(Clipboard::GetPlainTextFormatType(),
- Clipboard::BUFFER_STANDARD));
- string16 text_result;
- clipboard.ReadText(Clipboard::BUFFER_STANDARD, &text_result);
-
- EXPECT_EQ(text_result, url);
-
- std::string ascii_text;
- clipboard.ReadAsciiText(Clipboard::BUFFER_STANDARD, &ascii_text);
- EXPECT_EQ(UTF16ToUTF8(url), ascii_text);
-
-#if defined(OS_LINUX)
- ascii_text.clear();
- clipboard.ReadAsciiText(Clipboard::BUFFER_SELECTION, &ascii_text);
- EXPECT_EQ(UTF16ToUTF8(url), ascii_text);
-#endif // defined(OS_LINUX)
-}
-
-#if defined(OS_WIN) || defined(OS_LINUX)
-TEST_F(ClipboardTest, DataTest) {
- Clipboard clipboard;
- const char* format = "chromium/x-test-format";
- std::string payload("test string");
- Pickle write_pickle;
- write_pickle.WriteString(payload);
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WritePickledData(write_pickle, format);
- }
-
- ASSERT_TRUE(clipboard.IsFormatAvailableByString(
- format, Clipboard::BUFFER_STANDARD));
- std::string output;
- clipboard.ReadData(format, &output);
- ASSERT_FALSE(output.empty());
-
- Pickle read_pickle(output.data(), output.size());
- void* iter = NULL;
- std::string unpickled_string;
- ASSERT_TRUE(read_pickle.ReadString(&iter, &unpickled_string));
- EXPECT_EQ(payload, unpickled_string);
-}
-#endif
-
-#if defined(OS_WIN) // Windows only tests.
-TEST_F(ClipboardTest, HyperlinkTest) {
- Clipboard clipboard;
-
- std::string title("The Example Company");
- std::string url("http://www.example.com/"), url_result;
- std::string html("<a href=\"http://www.example.com/\">"
- "The Example Company</a>");
- string16 html_result;
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteHyperlink(title, url);
- }
-
- EXPECT_TRUE(clipboard.IsFormatAvailable(Clipboard::GetHtmlFormatType(),
- Clipboard::BUFFER_STANDARD));
- clipboard.ReadHTML(Clipboard::BUFFER_STANDARD, &html_result, &url_result);
- EXPECT_EQ(UTF8ToUTF16(html), html_result);
-}
-
-TEST_F(ClipboardTest, WebSmartPasteTest) {
- Clipboard clipboard;
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteWebSmartPaste();
- }
-
- EXPECT_TRUE(clipboard.IsFormatAvailable(
- Clipboard::GetWebKitSmartPasteFormatType(), Clipboard::BUFFER_STANDARD));
-}
-
-TEST_F(ClipboardTest, BitmapTest) {
- unsigned int fake_bitmap[] = {
- 0x46155189, 0xF6A55C8D, 0x79845674, 0xFA57BD89,
- 0x78FD46AE, 0x87C64F5A, 0x36EDC5AF, 0x4378F568,
- 0x91E9F63A, 0xC31EA14F, 0x69AB32DF, 0x643A3FD1,
- };
-
- Clipboard clipboard;
-
- {
- ScopedClipboardWriter clipboard_writer(&clipboard);
- clipboard_writer.WriteBitmapFromPixels(fake_bitmap, gfx::Size(3, 4));
- }
-
- EXPECT_TRUE(clipboard.IsFormatAvailable(Clipboard::GetBitmapFormatType(),
- Clipboard::BUFFER_STANDARD));
-}
-#endif // defined(OS_WIN)