Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Unified Diff: ui/base/clipboard/clipboard_test_template.h

Issue 1114213004: Remove NOTIMPLEMENTED() logspam on Android clipboard actions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clean up tests Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..3f776659cec4eb156f1fc4f94d310bba53e97018 100644
--- a/ui/base/clipboard/clipboard_test_template.h
+++ b/ui/base/clipboard/clipboard_test_template.h
@@ -64,6 +64,50 @@ class ClipboardTest : public PlatformTest {
protected:
Clipboard& clipboard() { return *clipboard_; }
+ bool AvailableTypesIsEmpty(ClipboardType type = CLIPBOARD_TYPE_COPY_PASTE) {
dcheng 2015/07/15 01:04:45 Default arguments are not permitted in Chromium.
Tobias Sargeant 2015/07/15 14:03:59 Done.
+ bool contains_filenames;
+ std::vector<base::string16> types;
+ clipboard().ReadAvailableTypes(
+ type,
+ &types,
+ &contains_filenames);
+ return types.size() == 0;
dcheng 2015/07/15 01:04:45 types.empty()
Tobias Sargeant 2015/07/15 14:03:59 removed
+ }
+
+ bool AvailableTypesHas(ClipboardType type,
+ const std::set<base::string16> &expected) {
dcheng 2015/07/15 01:04:45 & by the type. For style issues like this, git cl
Tobias Sargeant 2015/07/15 14:04:00 Thanks for pointing this out. I did this soon afte
+ bool contains_filenames;
+ std::vector<base::string16> types;
+ clipboard().ReadAvailableTypes(
+ type,
+ &types,
+ &contains_filenames);
+
+ for (auto it = expected.begin(); it != expected.end(); ++it) {
dcheng 2015/07/15 01:04:45 This is copying each string16. Use const auto&
Tobias Sargeant 2015/07/15 14:03:59 removed (I admit it was lazy, but it didn't seem l
+ if (std::find(types.begin(), types.end(), *it) == types.end()) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ bool AvailableTypesHas(const char* _1,
dcheng 2015/07/15 01:04:45 It seems to me that the code would be clearer if y
Tobias Sargeant 2015/07/15 14:03:59 I've switched everything to using this scheme. Tha
+ ClipboardType type = CLIPBOARD_TYPE_COPY_PASTE) {
+ std::set<base::string16> expected;
+ expected.insert(base::UTF8ToUTF16(_1));
+ return AvailableTypesHas(type, expected);
+ }
+
+ bool AvailableTypesHas(const char* _1,
+ const char* _2,
+ ClipboardType type = CLIPBOARD_TYPE_COPY_PASTE) {
+ std::set<base::string16> expected;
+ expected.insert(base::UTF8ToUTF16(_1));
+ expected.insert(base::UTF8ToUTF16(_2));
+ return AvailableTypesHas(type, expected);
+ }
+
private:
base::MessageLoopForUI message_loop_;
#if defined(USE_AURA)
@@ -89,6 +133,7 @@ TYPED_TEST(ClipboardTest, ClearTest) {
this->clipboard().Clear(CLIPBOARD_TYPE_COPY_PASTE);
+ EXPECT_TRUE(this->AvailableTypesIsEmpty());
EXPECT_FALSE(this->clipboard().IsFormatAvailable(
Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
EXPECT_FALSE(this->clipboard().IsFormatAvailable(
@@ -104,6 +149,7 @@ TYPED_TEST(ClipboardTest, TextTest) {
clipboard_writer.WriteText(text);
}
+ EXPECT_TRUE(this->AvailableTypesHas(Clipboard::kMimeTypeText));
EXPECT_TRUE(this->clipboard().IsFormatAvailable(
Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
EXPECT_TRUE(this->clipboard().IsFormatAvailable(
@@ -126,6 +172,7 @@ TYPED_TEST(ClipboardTest, HTMLTest) {
clipboard_writer.WriteHTML(markup, url);
}
+ EXPECT_TRUE(this->AvailableTypesHas(Clipboard::kMimeTypeHTML));
EXPECT_TRUE(this->clipboard().IsFormatAvailable(
Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
uint32 fragment_start;
@@ -153,6 +200,7 @@ TYPED_TEST(ClipboardTest, RTFTest) {
clipboard_writer.WriteRTF(rtf);
}
+ EXPECT_TRUE(this->AvailableTypesHas(Clipboard::kMimeTypeRTF));
EXPECT_TRUE(this->clipboard().IsFormatAvailable(Clipboard::GetRtfFormatType(),
CLIPBOARD_TYPE_COPY_PASTE));
std::string result;
@@ -178,6 +226,11 @@ TYPED_TEST(ClipboardTest, MultipleBufferTest) {
clipboard_writer.WriteHTML(markup, url);
}
+ EXPECT_TRUE(this->AvailableTypesHas(Clipboard::kMimeTypeText,
+ CLIPBOARD_TYPE_COPY_PASTE));
+ EXPECT_TRUE(this->AvailableTypesHas(Clipboard::kMimeTypeHTML,
+ CLIPBOARD_TYPE_SELECTION));
+
EXPECT_TRUE(this->clipboard().IsFormatAvailable(
Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
EXPECT_FALSE(this->clipboard().IsFormatAvailable(
@@ -214,6 +267,7 @@ TYPED_TEST(ClipboardTest, TrickyHTMLTest) {
clipboard_writer.WriteHTML(markup, url);
}
+ EXPECT_TRUE(this->AvailableTypesHas(Clipboard::kMimeTypeHTML));
EXPECT_TRUE(this->clipboard().IsFormatAvailable(
Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
uint32 fragment_start;
@@ -242,6 +296,7 @@ TYPED_TEST(ClipboardTest, UnicodeHTMLTest) {
clipboard_writer.WriteHTML(markup, url);
}
+ EXPECT_TRUE(this->AvailableTypesHas(Clipboard::kMimeTypeHTML));
EXPECT_TRUE(this->clipboard().IsFormatAvailable(
Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
uint32 fragment_start;
@@ -250,7 +305,10 @@ TYPED_TEST(ClipboardTest, UnicodeHTMLTest) {
&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()));
+ markup_result.substr(
+ fragment_end -
+ std::min(fragment_end, static_cast<uint32>(markup.size())),
dcheng 2015/07/15 01:04:45 Can you explain to me why we need to use fragment_
Tobias Sargeant 2015/07/15 14:04:00 Again, It has been a while, and I can't remember t
dcheng 2015/07/16 06:10:00 As long as it passes the trybots.
+ markup.size()));
#if defined(OS_WIN)
EXPECT_EQ(url, url_result);
#endif
@@ -287,6 +345,8 @@ TYPED_TEST(ClipboardTest, MultiFormatTest) {
clipboard_writer.WriteText(text);
}
+ EXPECT_TRUE(this->AvailableTypesHas(Clipboard::kMimeTypeHTML,
+ Clipboard::kMimeTypeText));
EXPECT_TRUE(this->clipboard().IsFormatAvailable(
Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
EXPECT_TRUE(this->clipboard().IsFormatAvailable(
@@ -299,7 +359,10 @@ TYPED_TEST(ClipboardTest, MultiFormatTest) {
&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()));
+ markup_result.substr(
+ fragment_end -
+ std::min(fragment_end, static_cast<uint32>(markup.size())),
+ markup.size()));
#if defined(OS_WIN)
// TODO(playmobil): It's not clear that non windows clipboards need to support
// this.
@@ -319,6 +382,7 @@ TYPED_TEST(ClipboardTest, URLTest) {
clipboard_writer.WriteURL(url);
}
+ EXPECT_TRUE(this->AvailableTypesHas(Clipboard::kMimeTypeText));
EXPECT_TRUE(this->clipboard().IsFormatAvailable(
Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
EXPECT_TRUE(this->clipboard().IsFormatAvailable(

Powered by Google App Engine
This is Rietveld 408576698