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

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: Remove static in test by creating forwarding clipboard subclass. 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 uint64_t sequence_number = 0;
66 sequence_number, Clipboard::Type::COPY_PASTE, mime_type, 65 clipboard_->ReadClipboardData(Clipboard::Type::COPY_PASTE, mime_type,
67 &valid, &raw_data); 66 &sequence_number, &raw_data);
68 valid = valid && !raw_data.is_null(); 67 valid = !raw_data.is_null();
69 *data = raw_data.is_null() ? "" : raw_data.To<std::string>(); 68 *data = raw_data.is_null() ? "" : raw_data.To<std::string>();
70 return valid; 69 return valid;
71 } 70 }
72 71
73 void SetStringText(const std::string& data) { 72 void SetStringText(const std::string& data) {
74 uint64_t sequence_number; 73 uint64_t sequence_number;
75 Map<String, Array<uint8_t>> mime_data; 74 Map<String, Array<uint8_t>> mime_data;
76 mime_data[Clipboard::MIME_TYPE_TEXT] = Array<uint8_t>::From(data); 75 mime_data[mojom::kMimeTypeText] = Array<uint8_t>::From(data);
77 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE, 76 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE,
78 std::move(mime_data), 77 std::move(mime_data),
79 &sequence_number); 78 &sequence_number);
80 } 79 }
81 80
82 protected: 81 protected:
83 mojom::ClipboardPtr clipboard_; 82 mojom::ClipboardPtr clipboard_;
84 83
85 DISALLOW_COPY_AND_ASSIGN(ClipboardAppTest); 84 DISALLOW_COPY_AND_ASSIGN(ClipboardAppTest);
86 }; 85 };
87 86
88 TEST_F(ClipboardAppTest, EmptyClipboardOK) { 87 TEST_F(ClipboardAppTest, EmptyClipboardOK) {
89 EXPECT_EQ(0ul, GetSequenceNumber()); 88 EXPECT_EQ(0ul, GetSequenceNumber());
90 EXPECT_TRUE(GetAvailableFormatMimeTypes().empty()); 89 EXPECT_TRUE(GetAvailableFormatMimeTypes().empty());
91 std::string data; 90 std::string data;
92 EXPECT_FALSE(GetDataOfType(0ul, Clipboard::MIME_TYPE_TEXT, &data)); 91 EXPECT_FALSE(GetDataOfType(mojom::kMimeTypeText, &data));
93 } 92 }
94 93
95 TEST_F(ClipboardAppTest, CanReadBackText) { 94 TEST_F(ClipboardAppTest, CanReadBackText) {
96 std::string data; 95 std::string data;
97 EXPECT_EQ(0ul, GetSequenceNumber()); 96 EXPECT_EQ(0ul, GetSequenceNumber());
98 EXPECT_FALSE(GetDataOfType(0ul, Clipboard::MIME_TYPE_TEXT, &data)); 97 EXPECT_FALSE(GetDataOfType(mojom::kMimeTypeText, &data));
99 98
100 SetStringText(kPlainTextData); 99 SetStringText(kPlainTextData);
101 EXPECT_EQ(1ul, GetSequenceNumber()); 100 EXPECT_EQ(1ul, GetSequenceNumber());
102 101
103 EXPECT_TRUE(GetDataOfType(1ul, Clipboard::MIME_TYPE_TEXT, &data)); 102 EXPECT_TRUE(GetDataOfType(mojom::kMimeTypeText, &data));
104 EXPECT_EQ(kPlainTextData, data); 103 EXPECT_EQ(kPlainTextData, data);
105 } 104 }
106 105
107 TEST_F(ClipboardAppTest, CanSetMultipleDataTypesAtOnce) { 106 TEST_F(ClipboardAppTest, CanSetMultipleDataTypesAtOnce) {
108 Map<String, Array<uint8_t>> mime_data; 107 Map<String, Array<uint8_t>> mime_data;
109 mime_data[Clipboard::MIME_TYPE_TEXT] = 108 mime_data[mojom::kMimeTypeText] =
110 Array<uint8_t>::From(std::string(kPlainTextData)); 109 Array<uint8_t>::From(std::string(kPlainTextData));
111 mime_data[Clipboard::MIME_TYPE_HTML] = 110 mime_data[mojom::kMimeTypeHTML] =
112 Array<uint8_t>::From(std::string(kHtmlData)); 111 Array<uint8_t>::From(std::string(kHtmlData));
113 112
114 uint64_t sequence_num = 0; 113 uint64_t sequence_num = 0;
115 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE, 114 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE,
116 std::move(mime_data), 115 std::move(mime_data),
117 &sequence_num); 116 &sequence_num);
118 EXPECT_EQ(1ul, sequence_num); 117 EXPECT_EQ(1ul, sequence_num);
119 118
120 std::string data; 119 std::string data;
121 EXPECT_TRUE(GetDataOfType(1ul, Clipboard::MIME_TYPE_TEXT, &data)); 120 EXPECT_TRUE(GetDataOfType(mojom::kMimeTypeText, &data));
122 EXPECT_EQ(kPlainTextData, data); 121 EXPECT_EQ(kPlainTextData, data);
123 EXPECT_TRUE(GetDataOfType(1ul, Clipboard::MIME_TYPE_HTML, &data)); 122 EXPECT_TRUE(GetDataOfType(mojom::kMimeTypeHTML, &data));
124 EXPECT_EQ(kHtmlData, data); 123 EXPECT_EQ(kHtmlData, data);
125 } 124 }
126 125
127 TEST_F(ClipboardAppTest, CanClearClipboardWithZeroArray) { 126 TEST_F(ClipboardAppTest, CanClearClipboardWithZeroArray) {
128 std::string data; 127 std::string data;
129 SetStringText(kPlainTextData); 128 SetStringText(kPlainTextData);
130 EXPECT_EQ(1ul, GetSequenceNumber()); 129 EXPECT_EQ(1ul, GetSequenceNumber());
131 130
132 EXPECT_TRUE(GetDataOfType(1ul, Clipboard::MIME_TYPE_TEXT, &data)); 131 EXPECT_TRUE(GetDataOfType(mojom::kMimeTypeText, &data));
133 EXPECT_EQ(kPlainTextData, data); 132 EXPECT_EQ(kPlainTextData, data);
134 133
135 Map<String, Array<uint8_t>> mime_data; 134 Map<String, Array<uint8_t>> mime_data;
136 uint64_t sequence_num = 0; 135 uint64_t sequence_num = 0;
137 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE, 136 clipboard_->WriteClipboardData(Clipboard::Type::COPY_PASTE,
138 std::move(mime_data), 137 std::move(mime_data),
139 &sequence_num); 138 &sequence_num);
140 139
141 EXPECT_EQ(2ul, sequence_num); 140 EXPECT_EQ(2ul, sequence_num);
142 EXPECT_FALSE(GetDataOfType(2ul, Clipboard::MIME_TYPE_TEXT, &data)); 141 EXPECT_FALSE(GetDataOfType(mojom::kMimeTypeText, &data));
143 } 142 }
144 143
145 } // namespace clipboard 144 } // namespace clipboard
146 } // namespace mus 145 } // namespace mus
OLDNEW
« no previous file with comments | « components/mus/clipboard/clipboard_impl.cc ('k') | components/mus/public/interfaces/clipboard.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698