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

Side by Side Diff: components/mus/clipboard/clipboard_unittest.cc

Issue 2011833003: Implement ui::ClipboardMus. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Patch cleanup. Created 4 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stdint.h> 5 #include <stdint.h>
6 #include <utility> 6 #include <utility>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 std::vector<std::string> GetAvailableFormatMimeTypes() { 51 std::vector<std::string> GetAvailableFormatMimeTypes() {
52 uint64_t sequence_num = 999999; 52 uint64_t sequence_num = 999999;
53 Array<String> types; 53 Array<String> types;
54 types.push_back(kUninitialized); 54 types.push_back(kUninitialized);
55 clipboard_->GetAvailableMimeTypes( 55 clipboard_->GetAvailableMimeTypes(
56 Clipboard::Type::COPY_PASTE, 56 Clipboard::Type::COPY_PASTE,
57 &sequence_num, &types); 57 &sequence_num, &types);
58 return types.To<std::vector<std::string>>(); 58 return types.To<std::vector<std::string>>();
59 } 59 }
60 60
61 bool GetDataOfType(uint64_t sequence_number, const std::string& mime_type, 61 bool GetDataOfType(const std::string& mime_type, std::string* data) {
62 std::string* data) {
63 bool valid = false; 62 bool valid = false;
64 Array<uint8_t> raw_data; 63 Array<uint8_t> raw_data;
65 clipboard_->ReadMimeType( 64 clipboard_->ReadMimeType(Clipboard::Type::COPY_PASTE, mime_type, &raw_data);
66 sequence_number, Clipboard::Type::COPY_PASTE, mime_type, 65 valid = !raw_data.is_null();
67 &valid, &raw_data);
68 valid = valid && !raw_data.is_null();
69 *data = raw_data.is_null() ? "" : raw_data.To<std::string>(); 66 *data = raw_data.is_null() ? "" : raw_data.To<std::string>();
70 return valid; 67 return valid;
71 } 68 }
72 69
73 void SetStringText(const std::string& data) { 70 void SetStringText(const std::string& data) {
74 uint64_t sequence_number; 71 uint64_t sequence_number;
75 Map<String, Array<uint8_t>> mime_data; 72 Map<String, Array<uint8_t>> mime_data;
76 mime_data[Clipboard::MIME_TYPE_TEXT] = Array<uint8_t>::From(data); 73 mime_data[mojom::MIME_TYPE_TEXT] = Array<uint8_t>::From(data);
77 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE, 74 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE,
78 std::move(mime_data), 75 std::move(mime_data),
79 &sequence_number); 76 &sequence_number);
80 } 77 }
81 78
82 protected: 79 protected:
83 mojom::ClipboardPtr clipboard_; 80 mojom::ClipboardPtr clipboard_;
84 81
85 DISALLOW_COPY_AND_ASSIGN(ClipboardAppTest); 82 DISALLOW_COPY_AND_ASSIGN(ClipboardAppTest);
86 }; 83 };
87 84
88 TEST_F(ClipboardAppTest, EmptyClipboardOK) { 85 TEST_F(ClipboardAppTest, EmptyClipboardOK) {
89 EXPECT_EQ(0ul, GetSequenceNumber()); 86 EXPECT_EQ(0ul, GetSequenceNumber());
90 EXPECT_TRUE(GetAvailableFormatMimeTypes().empty()); 87 EXPECT_TRUE(GetAvailableFormatMimeTypes().empty());
91 std::string data; 88 std::string data;
92 EXPECT_FALSE(GetDataOfType(0ul, Clipboard::MIME_TYPE_TEXT, &data)); 89 EXPECT_FALSE(GetDataOfType(mojom::MIME_TYPE_TEXT, &data));
93 } 90 }
94 91
95 TEST_F(ClipboardAppTest, CanReadBackText) { 92 TEST_F(ClipboardAppTest, CanReadBackText) {
96 std::string data; 93 std::string data;
97 EXPECT_EQ(0ul, GetSequenceNumber()); 94 EXPECT_EQ(0ul, GetSequenceNumber());
98 EXPECT_FALSE(GetDataOfType(0ul, Clipboard::MIME_TYPE_TEXT, &data)); 95 EXPECT_FALSE(GetDataOfType(mojom::MIME_TYPE_TEXT, &data));
99 96
100 SetStringText(kPlainTextData); 97 SetStringText(kPlainTextData);
101 EXPECT_EQ(1ul, GetSequenceNumber()); 98 EXPECT_EQ(1ul, GetSequenceNumber());
102 99
103 EXPECT_TRUE(GetDataOfType(1ul, Clipboard::MIME_TYPE_TEXT, &data)); 100 EXPECT_TRUE(GetDataOfType(mojom::MIME_TYPE_TEXT, &data));
104 EXPECT_EQ(kPlainTextData, data); 101 EXPECT_EQ(kPlainTextData, data);
105 } 102 }
106 103
107 TEST_F(ClipboardAppTest, CanSetMultipleDataTypesAtOnce) { 104 TEST_F(ClipboardAppTest, CanSetMultipleDataTypesAtOnce) {
108 Map<String, Array<uint8_t>> mime_data; 105 Map<String, Array<uint8_t>> mime_data;
109 mime_data[Clipboard::MIME_TYPE_TEXT] = 106 mime_data[mojom::MIME_TYPE_TEXT] =
110 Array<uint8_t>::From(std::string(kPlainTextData)); 107 Array<uint8_t>::From(std::string(kPlainTextData));
111 mime_data[Clipboard::MIME_TYPE_HTML] = 108 mime_data[mojom::MIME_TYPE_HTML] =
112 Array<uint8_t>::From(std::string(kHtmlData)); 109 Array<uint8_t>::From(std::string(kHtmlData));
113 110
114 uint64_t sequence_num = 0; 111 uint64_t sequence_num = 0;
115 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE, 112 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE,
116 std::move(mime_data), 113 std::move(mime_data),
117 &sequence_num); 114 &sequence_num);
118 EXPECT_EQ(1ul, sequence_num); 115 EXPECT_EQ(1ul, sequence_num);
119 116
120 std::string data; 117 std::string data;
121 EXPECT_TRUE(GetDataOfType(1ul, Clipboard::MIME_TYPE_TEXT, &data)); 118 EXPECT_TRUE(GetDataOfType(mojom::MIME_TYPE_TEXT, &data));
122 EXPECT_EQ(kPlainTextData, data); 119 EXPECT_EQ(kPlainTextData, data);
123 EXPECT_TRUE(GetDataOfType(1ul, Clipboard::MIME_TYPE_HTML, &data)); 120 EXPECT_TRUE(GetDataOfType(mojom::MIME_TYPE_HTML, &data));
124 EXPECT_EQ(kHtmlData, data); 121 EXPECT_EQ(kHtmlData, data);
125 } 122 }
126 123
127 TEST_F(ClipboardAppTest, CanClearClipboardWithZeroArray) { 124 TEST_F(ClipboardAppTest, CanClearClipboardWithZeroArray) {
128 std::string data; 125 std::string data;
129 SetStringText(kPlainTextData); 126 SetStringText(kPlainTextData);
130 EXPECT_EQ(1ul, GetSequenceNumber()); 127 EXPECT_EQ(1ul, GetSequenceNumber());
131 128
132 EXPECT_TRUE(GetDataOfType(1ul, Clipboard::MIME_TYPE_TEXT, &data)); 129 EXPECT_TRUE(GetDataOfType(mojom::MIME_TYPE_TEXT, &data));
133 EXPECT_EQ(kPlainTextData, data); 130 EXPECT_EQ(kPlainTextData, data);
134 131
135 Map<String, Array<uint8_t>> mime_data; 132 Map<String, Array<uint8_t>> mime_data;
136 uint64_t sequence_num = 0; 133 uint64_t sequence_num = 0;
137 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE, 134 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE,
138 std::move(mime_data), 135 std::move(mime_data),
139 &sequence_num); 136 &sequence_num);
140 137
141 EXPECT_EQ(2ul, sequence_num); 138 EXPECT_EQ(2ul, sequence_num);
142 EXPECT_FALSE(GetDataOfType(2ul, Clipboard::MIME_TYPE_TEXT, &data)); 139 EXPECT_FALSE(GetDataOfType(mojom::MIME_TYPE_TEXT, &data));
143 } 140 }
144 141
145 } // namespace clipboard 142 } // namespace clipboard
146 } // namespace mus 143 } // namespace mus
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698