Index: ui/base/clipboard/clipboard_test_template.h |
diff --git a/ui/base/clipboard/clipboard_test_template.h b/ui/base/clipboard/clipboard_test_template.h |
index 844266bcf6bc7cb761cfa770701e09eaae71102e..0bfd8e8d419a45d12bedb21083ca0fe39beabca9 100644 |
--- a/ui/base/clipboard/clipboard_test_template.h |
+++ b/ui/base/clipboard/clipboard_test_template.h |
@@ -23,6 +23,7 @@ |
#include "base/run_loop.h" |
#include "base/strings/string_util.h" |
#include "base/strings/utf_string_conversions.h" |
+#include "testing/gmock/include/gmock/gmock-matchers.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "testing/platform_test.h" |
#include "third_party/skia/include/core/SkBitmap.h" |
@@ -46,6 +47,8 @@ using base::ASCIIToUTF16; |
using base::UTF8ToUTF16; |
using base::UTF16ToUTF8; |
+using testing::Contains; |
+ |
namespace ui { |
template <typename ClipboardTraits> |
@@ -64,6 +67,13 @@ class ClipboardTest : public PlatformTest { |
protected: |
Clipboard& clipboard() { return *clipboard_; } |
+ std::vector<base::string16> GetAvailableTypes(ClipboardType type) { |
+ bool contains_filenames; |
+ std::vector<base::string16> types; |
+ clipboard().ReadAvailableTypes(type, &types, &contains_filenames); |
+ return types; |
+ } |
+ |
private: |
base::MessageLoopForUI message_loop_; |
#if defined(USE_AURA) |
@@ -89,6 +99,7 @@ TYPED_TEST(ClipboardTest, ClearTest) { |
this->clipboard().Clear(CLIPBOARD_TYPE_COPY_PASTE); |
+ EXPECT_TRUE(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE).empty()); |
EXPECT_FALSE(this->clipboard().IsFormatAvailable( |
Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); |
EXPECT_FALSE(this->clipboard().IsFormatAvailable( |
@@ -104,6 +115,8 @@ TYPED_TEST(ClipboardTest, TextTest) { |
clipboard_writer.WriteText(text); |
} |
+ EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE), |
+ Contains(base::string16(ASCIIToUTF16(Clipboard::kMimeTypeText)))); |
dcheng
2015/07/16 06:10:00
Here and elsewhere, the explicit invocation of bas
|
EXPECT_TRUE(this->clipboard().IsFormatAvailable( |
Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); |
EXPECT_TRUE(this->clipboard().IsFormatAvailable( |
@@ -126,6 +139,8 @@ TYPED_TEST(ClipboardTest, HTMLTest) { |
clipboard_writer.WriteHTML(markup, url); |
} |
+ EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE), |
+ Contains(base::string16(ASCIIToUTF16(Clipboard::kMimeTypeHTML)))); |
EXPECT_TRUE(this->clipboard().IsFormatAvailable( |
Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); |
uint32 fragment_start; |
@@ -153,6 +168,8 @@ TYPED_TEST(ClipboardTest, RTFTest) { |
clipboard_writer.WriteRTF(rtf); |
} |
+ EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE), |
+ Contains(base::string16(ASCIIToUTF16(Clipboard::kMimeTypeRTF)))); |
EXPECT_TRUE(this->clipboard().IsFormatAvailable(Clipboard::GetRtfFormatType(), |
CLIPBOARD_TYPE_COPY_PASTE)); |
std::string result; |
@@ -178,6 +195,11 @@ TYPED_TEST(ClipboardTest, MultipleBufferTest) { |
clipboard_writer.WriteHTML(markup, url); |
} |
+ EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE), |
+ Contains(base::string16(ASCIIToUTF16(Clipboard::kMimeTypeText)))); |
+ EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_SELECTION), |
+ Contains(base::string16(ASCIIToUTF16(Clipboard::kMimeTypeHTML)))); |
+ |
EXPECT_TRUE(this->clipboard().IsFormatAvailable( |
Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); |
EXPECT_FALSE(this->clipboard().IsFormatAvailable( |
@@ -214,6 +236,8 @@ TYPED_TEST(ClipboardTest, TrickyHTMLTest) { |
clipboard_writer.WriteHTML(markup, url); |
} |
+ EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE), |
+ Contains(base::string16(ASCIIToUTF16(Clipboard::kMimeTypeHTML)))); |
EXPECT_TRUE(this->clipboard().IsFormatAvailable( |
Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); |
uint32 fragment_start; |
@@ -242,6 +266,8 @@ TYPED_TEST(ClipboardTest, UnicodeHTMLTest) { |
clipboard_writer.WriteHTML(markup, url); |
} |
+ EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE), |
+ Contains(base::string16(ASCIIToUTF16(Clipboard::kMimeTypeHTML)))); |
EXPECT_TRUE(this->clipboard().IsFormatAvailable( |
Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); |
uint32 fragment_start; |
@@ -249,8 +275,8 @@ TYPED_TEST(ClipboardTest, UnicodeHTMLTest) { |
this->clipboard().ReadHTML(CLIPBOARD_TYPE_COPY_PASTE, &markup_result, |
&url_result, &fragment_start, &fragment_end); |
EXPECT_LE(markup.size(), fragment_end - fragment_start); |
- EXPECT_EQ(markup, |
- markup_result.substr(fragment_end - markup.size(), markup.size())); |
+ EXPECT_EQ(markup, markup_result.substr(fragment_start, |
+ fragment_end - fragment_start)); |
#if defined(OS_WIN) |
EXPECT_EQ(url, url_result); |
#endif |
@@ -287,6 +313,10 @@ TYPED_TEST(ClipboardTest, MultiFormatTest) { |
clipboard_writer.WriteText(text); |
} |
+ EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE), |
+ Contains(base::string16(ASCIIToUTF16(Clipboard::kMimeTypeHTML)))); |
+ EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE), |
+ Contains(base::string16(ASCIIToUTF16(Clipboard::kMimeTypeText)))); |
EXPECT_TRUE(this->clipboard().IsFormatAvailable( |
Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); |
EXPECT_TRUE(this->clipboard().IsFormatAvailable( |
@@ -298,8 +328,8 @@ TYPED_TEST(ClipboardTest, MultiFormatTest) { |
this->clipboard().ReadHTML(CLIPBOARD_TYPE_COPY_PASTE, &markup_result, |
&url_result, &fragment_start, &fragment_end); |
EXPECT_LE(markup.size(), fragment_end - fragment_start); |
- EXPECT_EQ(markup, |
- markup_result.substr(fragment_end - markup.size(), markup.size())); |
+ EXPECT_EQ(markup, markup_result.substr(fragment_start, |
+ fragment_end - fragment_start)); |
#if defined(OS_WIN) |
// TODO(playmobil): It's not clear that non windows clipboards need to support |
// this. |
@@ -319,6 +349,8 @@ TYPED_TEST(ClipboardTest, URLTest) { |
clipboard_writer.WriteURL(url); |
} |
+ EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE), |
+ Contains(base::string16(ASCIIToUTF16(Clipboard::kMimeTypeText)))); |
EXPECT_TRUE(this->clipboard().IsFormatAvailable( |
Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); |
EXPECT_TRUE(this->clipboard().IsFormatAvailable( |