diff options
author | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-02 22:31:31 +0000 |
---|---|---|
committer | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-02 22:31:31 +0000 |
commit | b8a21ec037ae12cda22e6429fa6581f98d2914ba (patch) | |
tree | a8cf2388b32014b23a56bdf778efb148a18a9970 /base/clipboard_unittest.cc | |
parent | aad08754d7ff3be93fd415a36a588fadd2e34bd0 (diff) | |
download | chromium_src-b8a21ec037ae12cda22e6429fa6581f98d2914ba.zip chromium_src-b8a21ec037ae12cda22e6429fa6581f98d2914ba.tar.gz chromium_src-b8a21ec037ae12cda22e6429fa6581f98d2914ba.tar.bz2 |
Bring up clipboard_unittest.cc on the Mac.
Review URL: http://codereview.chromium.org/6424
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2815 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/clipboard_unittest.cc')
-rw-r--r-- | base/clipboard_unittest.cc | 160 |
1 files changed, 99 insertions, 61 deletions
diff --git a/base/clipboard_unittest.cc b/base/clipboard_unittest.cc index 7bf9fa2..05523d6 100644 --- a/base/clipboard_unittest.cc +++ b/base/clipboard_unittest.cc @@ -6,7 +6,6 @@ #include "base/basictypes.h" #include "base/clipboard.h" -#include "base/clipboard_util.h" #include "base/string_util.h" #include "testing/gtest/include/gtest/gtest.h" @@ -19,9 +18,10 @@ TEST(ClipboardTest, ClearTest) { Clipboard clipboard; clipboard.Clear(); - EXPECT_EQ(false, clipboard.IsFormatAvailable(CF_TEXT)); EXPECT_EQ(false, clipboard.IsFormatAvailable( - ClipboardUtil::GetHtmlFormat()->cfFormat)); + Clipboard::GetPlainTextFormatType())); + EXPECT_EQ(false, clipboard.IsFormatAvailable( + Clipboard::GetHtmlFormatType())); } TEST(ClipboardTest, TextTest) { @@ -32,8 +32,10 @@ TEST(ClipboardTest, TextTest) { clipboard.Clear(); clipboard.WriteText(text); - EXPECT_EQ(true, clipboard.IsFormatAvailable(CF_UNICODETEXT)); - EXPECT_EQ(true, clipboard.IsFormatAvailable(CF_TEXT)); + EXPECT_EQ(true, clipboard.IsFormatAvailable( + Clipboard::GetPlainTextWFormatType())); + EXPECT_EQ(true, clipboard.IsFormatAvailable( + Clipboard::GetPlainTextFormatType())); clipboard.ReadText(&text_result); EXPECT_EQ(text, text_result); clipboard.ReadAsciiText(&ascii_text); @@ -49,10 +51,15 @@ TEST(ClipboardTest, HTMLTest) { clipboard.Clear(); clipboard.WriteHTML(markup, url); EXPECT_EQ(true, clipboard.IsFormatAvailable( - ClipboardUtil::GetHtmlFormat()->cfFormat)); + Clipboard::GetHtmlFormatType())); clipboard.ReadHTML(&markup_result, &url_result); EXPECT_EQ(markup, markup_result); +#if defined(OS_MACOSX) + // TODO(playmobil): It's not clear that the OS X clipboard needs to support + // this. +#else EXPECT_EQ(url, url_result); +#endif } TEST(ClipboardTest, TrickyHTMLTest) { @@ -64,10 +71,16 @@ TEST(ClipboardTest, TrickyHTMLTest) { clipboard.Clear(); clipboard.WriteHTML(markup, url); EXPECT_EQ(true, clipboard.IsFormatAvailable( - ClipboardUtil::GetHtmlFormat()->cfFormat)); + Clipboard::GetHtmlFormatType())); clipboard.ReadHTML(&markup_result, &url_result); EXPECT_EQ(markup, markup_result); + +#if defined(OS_MACOSX) + // TODO(playmobil): It's not clear that the OS X clipboard needs to support + // this. +#else EXPECT_EQ(url, url_result); +#endif } TEST(ClipboardTest, BookmarkTest) { @@ -79,32 +92,10 @@ TEST(ClipboardTest, BookmarkTest) { clipboard.Clear(); clipboard.WriteBookmark(title, url); EXPECT_EQ(true, - clipboard.IsFormatAvailable(ClipboardUtil::GetUrlWFormat()->cfFormat)); - clipboard.ReadBookmark(&title_result, &url_result); - EXPECT_EQ(title, title_result); - EXPECT_EQ(url, url_result); -} - -TEST(ClipboardTest, HyperlinkTest) { - Clipboard clipboard; - - std::wstring title(L"The Example Company"), title_result; - std::string url("http://www.example.com/"), url_result; - std::wstring html(L"<a href=\"http://www.example.com/\">" - L"The Example Company</a>"), html_result; - - clipboard.Clear(); - clipboard.WriteHyperlink(title, url); - EXPECT_EQ(true, - clipboard.IsFormatAvailable(ClipboardUtil::GetUrlWFormat()->cfFormat)); - EXPECT_EQ(true, - clipboard.IsFormatAvailable(ClipboardUtil::GetHtmlFormat()->cfFormat)); + clipboard.IsFormatAvailable(Clipboard::GetUrlWFormatType())); clipboard.ReadBookmark(&title_result, &url_result); EXPECT_EQ(title, title_result); EXPECT_EQ(url, url_result); - clipboard.ReadHTML(&html_result, &url_result); - EXPECT_EQ(html, html_result); - //XXX EXPECT_FALSE(url_result.is_valid()); } TEST(ClipboardTest, MultiFormatTest) { @@ -119,48 +110,37 @@ TEST(ClipboardTest, MultiFormatTest) { clipboard.WriteHTML(markup, url); clipboard.WriteText(text); EXPECT_EQ(true, - clipboard.IsFormatAvailable(ClipboardUtil::GetHtmlFormat()->cfFormat)); - EXPECT_EQ(true, clipboard.IsFormatAvailable(CF_UNICODETEXT)); - EXPECT_EQ(true, clipboard.IsFormatAvailable(CF_TEXT)); + clipboard.IsFormatAvailable(Clipboard::GetHtmlFormatType())); + EXPECT_EQ(true, clipboard.IsFormatAvailable( + Clipboard::GetPlainTextWFormatType())); + EXPECT_EQ(true, clipboard.IsFormatAvailable( + Clipboard::GetPlainTextFormatType())); clipboard.ReadHTML(&markup_result, &url_result); EXPECT_EQ(markup, markup_result); +#if defined(OS_MACOSX) + // TODO(playmobil): It's not clear that the OS X clipboard needs to support + // this. +#else EXPECT_EQ(url, url_result); +#endif clipboard.ReadText(&text_result); EXPECT_EQ(text, text_result); clipboard.ReadAsciiText(&ascii_text); EXPECT_EQ(WideToUTF8(text), ascii_text); } -TEST(ClipboardTest, WebSmartPasteTest) { - Clipboard clipboard; - - clipboard.Clear(); - clipboard.WriteWebSmartPaste(); - EXPECT_EQ(true, clipboard.IsFormatAvailable( - ClipboardUtil::GetWebKitSmartPasteFormat()->cfFormat)); -} - -TEST(ClipboardTest, BitmapTest) { - unsigned int fake_bitmap[] = { - 0x46155189, 0xF6A55C8D, 0x79845674, 0xFA57BD89, - 0x78FD46AE, 0x87C64F5A, 0x36EDC5AF, 0x4378F568, - 0x91E9F63A, 0xC31EA14F, 0x69AB32DF, 0x643A3FD1, - }; - - Clipboard clipboard; - - clipboard.Clear(); - clipboard.WriteBitmap(fake_bitmap, gfx::Size(3, 4)); - EXPECT_EQ(true, clipboard.IsFormatAvailable(CF_BITMAP)); -} - // 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(ClipboardTest, FileTest) { Clipboard clipboard; clipboard.Clear(); - +#if defined(OS_WIN) std::wstring file = L"C:\\Downloads\\My Downloads\\A Special File.txt"; +#else + // OS X will print a warning message if we stick a non-existant file on the + // clipboard. + std::wstring file = L"/usr/bin/make"; +#endif clipboard.WriteFile(file); std::wstring out_file; clipboard.ReadFile(&out_file); @@ -170,11 +150,22 @@ TEST(ClipboardTest, FileTest) { TEST(ClipboardTest, MultipleFilesTest) { Clipboard clipboard; clipboard.Clear(); - + +#if defined(OS_WIN) + std::wstring file1 = L"C:\\Downloads\\My Downloads\\File 1.exe"; + std::wstring file2 = L"C:\\Downloads\\My Downloads\\File 2.pdf"; + std::wstring 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. + std::wstring file1 = L"/usr/bin/make"; + std::wstring file2 = L"/usr/bin/man"; + std::wstring file3 = L"/usr/bin/perl"; +#endif std::vector<std::wstring> files; - files.push_back(L"C:\\Downloads\\My Downloads\\File 1.exe"); - files.push_back(L"C:\\Downloads\\My Downloads\\File 2.pdf"); - files.push_back(L"C:\\Downloads\\My Downloads\\File 3.doc"); + files.push_back(file1); + files.push_back(file2); + files.push_back(file3); clipboard.WriteFiles(files); std::vector<std::wstring> out_files; @@ -185,3 +176,50 @@ TEST(ClipboardTest, MultipleFilesTest) { EXPECT_EQ(files[i], out_files[i]); } +#if defined(OS_WIN) // Windows only tests. +TEST(ClipboardTest, HyperlinkTest) { + Clipboard clipboard; + + std::wstring title(L"The Example Company"), title_result; + std::string url("http://www.example.com/"), url_result; + std::wstring html(L"<a href=\"http://www.example.com/\">" + L"The Example Company</a>"), html_result; + + clipboard.Clear(); + clipboard.WriteHyperlink(title, url); + EXPECT_EQ(true, + clipboard.IsFormatAvailable(Clipboard::GetUrlWFormatType())); + EXPECT_EQ(true, + clipboard.IsFormatAvailable(Clipboard::GetHtmlFormatType())); + clipboard.ReadBookmark(&title_result, &url_result); + EXPECT_EQ(title, title_result); + EXPECT_EQ(url, url_result); + clipboard.ReadHTML(&html_result, &url_result); + EXPECT_EQ(html, html_result); + //XXX EXPECT_FALSE(url_result.is_valid()); +} + +TEST(ClipboardTest, WebSmartPasteTest) { + Clipboard clipboard; + + clipboard.Clear(); + clipboard.WriteWebSmartPaste(); + EXPECT_EQ(true, clipboard.IsFormatAvailable( + Clipboard::GetWebKitSmartPasteFormatType())); +} + +TEST(ClipboardTest, BitmapTest) { + unsigned int fake_bitmap[] = { + 0x46155189, 0xF6A55C8D, 0x79845674, 0xFA57BD89, + 0x78FD46AE, 0x87C64F5A, 0x36EDC5AF, 0x4378F568, + 0x91E9F63A, 0xC31EA14F, 0x69AB32DF, 0x643A3FD1, + }; + + Clipboard clipboard; + + clipboard.Clear(); + clipboard.WriteBitmap(fake_bitmap, gfx::Size(3, 4)); + EXPECT_EQ(true, clipboard.IsFormatAvailable( + Clipboard::GetBitmapFormatType())); +} +#endif |