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

Side by Side Diff: mojo/services/clipboard/clipboard_standalone_unittest.cc

Issue 611633002: mojom: Add associative arrays to the mojom language. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix gn build. Created 6 years, 2 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 (c) 2014 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2014 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 "base/at_exit.h" 5 #include "base/at_exit.h"
6 #include "base/bind.h" 6 #include "base/bind.h"
7 #include "mojo/common/common_type_converters.h" 7 #include "mojo/common/common_type_converters.h"
8 #include "mojo/services/public/interfaces/clipboard/clipboard.mojom.h" 8 #include "mojo/services/public/interfaces/clipboard/clipboard.mojom.h"
9 #include "mojo/shell/shell_test_helper.h" 9 #include "mojo/shell/shell_test_helper.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 bool is_null = false; 81 bool is_null = false;
82 clipboard_->ReadMimeType( 82 clipboard_->ReadMimeType(
83 mojo::Clipboard::TYPE_COPY_PASTE, 83 mojo::Clipboard::TYPE_COPY_PASTE,
84 mime_type, 84 mime_type,
85 base::Bind(&CopyStringAndEndRunloop, data, &is_null, &run_loop)); 85 base::Bind(&CopyStringAndEndRunloop, data, &is_null, &run_loop));
86 run_loop.Run(); 86 run_loop.Run();
87 return !is_null; 87 return !is_null;
88 } 88 }
89 89
90 void SetStringText(const std::string& data) { 90 void SetStringText(const std::string& data) {
91 Array<MimeTypePairPtr> mime_data; 91 Map<String, Array<uint8_t> > mime_data;
92 MimeTypePairPtr text_data(MimeTypePair::New()); 92 mime_data.insert(mojo::Clipboard::MIME_TYPE_TEXT,
93 text_data->mime_type = mojo::Clipboard::MIME_TYPE_TEXT; 93 Array<uint8_t>::From(data).Pass());
94 text_data->data = Array<uint8_t>::From(data).Pass();
95 mime_data.push_back(text_data.Pass());
96 clipboard_->WriteClipboardData(mojo::Clipboard::TYPE_COPY_PASTE, 94 clipboard_->WriteClipboardData(mojo::Clipboard::TYPE_COPY_PASTE,
97 mime_data.Pass()); 95 mime_data.Pass());
98 } 96 }
99 97
100 protected: 98 protected:
101 base::ShadowingAtExitManager at_exit_; 99 base::ShadowingAtExitManager at_exit_;
102 shell::ShellTestHelper test_helper_; 100 shell::ShellTestHelper test_helper_;
103 101
104 ClipboardPtr clipboard_; 102 ClipboardPtr clipboard_;
105 103
(...skipping 13 matching lines...) Expand all
119 EXPECT_EQ(0ul, GetSequenceNumber()); 117 EXPECT_EQ(0ul, GetSequenceNumber());
120 118
121 SetStringText(kPlainTextData); 119 SetStringText(kPlainTextData);
122 EXPECT_EQ(1ul, GetSequenceNumber()); 120 EXPECT_EQ(1ul, GetSequenceNumber());
123 121
124 EXPECT_TRUE(GetDataOfType(mojo::Clipboard::MIME_TYPE_TEXT, &data)); 122 EXPECT_TRUE(GetDataOfType(mojo::Clipboard::MIME_TYPE_TEXT, &data));
125 EXPECT_EQ(kPlainTextData, data); 123 EXPECT_EQ(kPlainTextData, data);
126 } 124 }
127 125
128 TEST_F(ClipboardStandaloneTest, CanSetMultipleDataTypesAtOnce) { 126 TEST_F(ClipboardStandaloneTest, CanSetMultipleDataTypesAtOnce) {
129 Array<MimeTypePairPtr> mime_data; 127 Map<String, Array<uint8_t> > mime_data;
130 MimeTypePairPtr text_data(MimeTypePair::New()); 128 mime_data.insert(mojo::Clipboard::MIME_TYPE_TEXT,
131 text_data->mime_type = mojo::Clipboard::MIME_TYPE_TEXT; 129 Array<uint8_t>::From(std::string(kPlainTextData)).Pass());
132 text_data->data = Array<uint8_t>::From(std::string(kPlainTextData)).Pass(); 130 mime_data.insert(mojo::Clipboard::MIME_TYPE_HTML,
133 mime_data.push_back(text_data.Pass()); 131 Array<uint8_t>::From(std::string(kHtmlData)).Pass());
134
135 MimeTypePairPtr html_data(MimeTypePair::New());
136 html_data->mime_type = mojo::Clipboard::MIME_TYPE_HTML;
137 html_data->data = Array<uint8_t>::From(std::string(kHtmlData)).Pass();
138 mime_data.push_back(html_data.Pass());
139 132
140 clipboard_->WriteClipboardData(mojo::Clipboard::TYPE_COPY_PASTE, 133 clipboard_->WriteClipboardData(mojo::Clipboard::TYPE_COPY_PASTE,
141 mime_data.Pass()); 134 mime_data.Pass());
142 135
143 EXPECT_EQ(1ul, GetSequenceNumber()); 136 EXPECT_EQ(1ul, GetSequenceNumber());
144 137
145 std::string data; 138 std::string data;
146 EXPECT_TRUE(GetDataOfType(mojo::Clipboard::MIME_TYPE_TEXT, &data)); 139 EXPECT_TRUE(GetDataOfType(mojo::Clipboard::MIME_TYPE_TEXT, &data));
147 EXPECT_EQ(kPlainTextData, data); 140 EXPECT_EQ(kPlainTextData, data);
148 EXPECT_TRUE(GetDataOfType(mojo::Clipboard::MIME_TYPE_HTML, &data)); 141 EXPECT_TRUE(GetDataOfType(mojo::Clipboard::MIME_TYPE_HTML, &data));
149 EXPECT_EQ(kHtmlData, data); 142 EXPECT_EQ(kHtmlData, data);
150 } 143 }
151 144
152 TEST_F(ClipboardStandaloneTest, CanClearClipboardWithNull) {
153 std::string data;
154 SetStringText(kPlainTextData);
155 EXPECT_EQ(1ul, GetSequenceNumber());
156
157 EXPECT_TRUE(GetDataOfType(mojo::Clipboard::MIME_TYPE_TEXT, &data));
158 EXPECT_EQ(kPlainTextData, data);
159
160 Array<MimeTypePairPtr> mime_data;
161 clipboard_->WriteClipboardData(mojo::Clipboard::TYPE_COPY_PASTE,
162 mime_data.Pass());
163
164 EXPECT_EQ(2ul, GetSequenceNumber());
165 EXPECT_FALSE(GetDataOfType(mojo::Clipboard::MIME_TYPE_TEXT, &data));
166 }
167
168 TEST_F(ClipboardStandaloneTest, CanClearClipboardWithZeroArray) { 145 TEST_F(ClipboardStandaloneTest, CanClearClipboardWithZeroArray) {
169 std::string data; 146 std::string data;
170 SetStringText(kPlainTextData); 147 SetStringText(kPlainTextData);
171 EXPECT_EQ(1ul, GetSequenceNumber()); 148 EXPECT_EQ(1ul, GetSequenceNumber());
172 149
173 EXPECT_TRUE(GetDataOfType(mojo::Clipboard::MIME_TYPE_TEXT, &data)); 150 EXPECT_TRUE(GetDataOfType(mojo::Clipboard::MIME_TYPE_TEXT, &data));
174 EXPECT_EQ(kPlainTextData, data); 151 EXPECT_EQ(kPlainTextData, data);
175 152
176 Array<MimeTypePairPtr> mime_data(0); 153 Map<String, Array<uint8_t> > mime_data;
177 clipboard_->WriteClipboardData(mojo::Clipboard::TYPE_COPY_PASTE, 154 clipboard_->WriteClipboardData(mojo::Clipboard::TYPE_COPY_PASTE,
178 mime_data.Pass()); 155 mime_data.Pass());
179 156
180 EXPECT_EQ(2ul, GetSequenceNumber()); 157 EXPECT_EQ(2ul, GetSequenceNumber());
181 EXPECT_FALSE(GetDataOfType(mojo::Clipboard::MIME_TYPE_TEXT, &data)); 158 EXPECT_FALSE(GetDataOfType(mojo::Clipboard::MIME_TYPE_TEXT, &data));
182 } 159 }
183 160
184 } // namespace service 161 } // namespace service
185 } // namespace mojo 162 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698