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

Side by Side Diff: extensions/renderer/api/serial/data_sender_unittest.cc

Issue 571333002: Add serialization support to the JS DataSender and DataReceiver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@stash-service
Patch Set: address comments Created 6 years, 3 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 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 <queue> 5 #include <queue>
6 6
7 #include "device/serial/data_sink_receiver.h" 7 #include "device/serial/data_sink_receiver.h"
8 #include "device/serial/data_stream.mojom.h" 8 #include "device/serial/data_stream.mojom.h"
9 #include "extensions/renderer/api_test_base.h" 9 #include "extensions/renderer/api_test_base.h"
10 #include "grit/extensions_renderer_resources.h" 10 #include "grit/extensions_renderer_resources.h"
11 11
12 namespace extensions { 12 namespace extensions {
13 13
14 // Runs tests defined in extensions/test/data/data_sender_unittest.js 14 // Runs tests defined in extensions/test/data/data_sender_unittest.js
15 class DataSenderTest : public ApiTestBase { 15 class DataSenderTest : public ApiTestBase {
16 public: 16 public:
17 DataSenderTest() {} 17 DataSenderTest() {}
18 18
19 virtual void SetUp() OVERRIDE { 19 virtual void SetUp() OVERRIDE {
20 ApiTestBase::SetUp(); 20 ApiTestBase::SetUp();
21 env()->RegisterModule("async_waiter", IDR_ASYNC_WAITER_JS); 21 env()->RegisterModule("async_waiter", IDR_ASYNC_WAITER_JS);
22 env()->RegisterModule("data_sender", IDR_DATA_SENDER_JS); 22 env()->RegisterModule("data_sender", IDR_DATA_SENDER_JS);
23 env()->RegisterModule("device/serial/data_stream.mojom", 23 env()->RegisterModule("device/serial/data_stream.mojom",
24 IDR_DATA_STREAM_MOJOM_JS); 24 IDR_DATA_STREAM_MOJOM_JS);
25 env()->RegisterModule("device/serial/data_stream_serialization.mojom",
26 IDR_DATA_STREAM_SERIALIZATION_MOJOM_JS);
25 service_provider()->AddService( 27 service_provider()->AddService(
26 base::Bind(&DataSenderTest::CreateDataSink, base::Unretained(this))); 28 base::Bind(&DataSenderTest::CreateDataSink, base::Unretained(this)));
27 } 29 }
28 30
29 virtual void TearDown() OVERRIDE { 31 virtual void TearDown() OVERRIDE {
30 if (receiver_.get()) { 32 if (receiver_.get()) {
31 receiver_->ShutDown(); 33 receiver_->ShutDown();
32 receiver_ = NULL; 34 receiver_ = NULL;
33 } 35 }
34 EXPECT_FALSE(buffer_); 36 EXPECT_FALSE(buffer_);
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 } 154 }
153 155
154 TEST_F(DataSenderTest, Cancel) { 156 TEST_F(DataSenderTest, Cancel) {
155 RunTest("data_sender_unittest.js", "testCancel"); 157 RunTest("data_sender_unittest.js", "testCancel");
156 } 158 }
157 159
158 TEST_F(DataSenderTest, Close) { 160 TEST_F(DataSenderTest, Close) {
159 RunTest("data_sender_unittest.js", "testClose"); 161 RunTest("data_sender_unittest.js", "testClose");
160 } 162 }
161 163
164 TEST_F(DataSenderTest, SendWithSerialization) {
165 expected_data_.push("aaa");
166 RunTest("data_sender_unittest.js", "testSendWithSerialization");
167 }
168
169 TEST_F(DataSenderTest, SendErrorWithSerialization) {
170 expected_data_.push("");
171 expected_data_.push("a");
172 error_to_report_.push(1);
173 expected_data_.push("");
174 expected_data_.push("c");
175 error_to_report_.push(0);
176 error_to_report_.push(3);
177 RunTest("data_sender_unittest.js", "testSendErrorWithSerialization");
178 }
179
180 TEST_F(DataSenderTest, SendErrorPartialSuccessWithSerialization) {
181 expected_data_.push(std::string(5, 'b'));
182 expected_data_.push("a");
183 error_to_report_.push(1);
184 expected_data_.push(std::string(5, 'c'));
185 expected_data_.push("d");
186 error_to_report_.push(0);
187 error_to_report_.push(3);
188 RunTest("data_sender_unittest.js",
189 "testSendErrorPartialSuccessWithSerialization");
190 }
191
192 TEST_F(DataSenderTest, SendErrorBetweenPacketsWithSerialization) {
193 expected_data_.push(std::string(2, 'b'));
194 expected_data_.push("a");
195 error_to_report_.push(1);
196 error_to_report_.push(0);
197
198 expected_data_.push(std::string(2, 'c'));
199 expected_data_.push("d");
200 error_to_report_.push(3);
201 RunTest("data_sender_unittest.js",
202 "testSendErrorBetweenPacketsWithSerialization");
203 }
204
205 TEST_F(DataSenderTest, SendErrorInSecondPacketWithSerialization) {
206 expected_data_.push(std::string(3, 'b'));
207 expected_data_.push("a");
208 error_to_report_.push(1);
209 error_to_report_.push(0);
210 expected_data_.push(std::string(3, 'c'));
211 expected_data_.push("d");
212 error_to_report_.push(3);
213 RunTest("data_sender_unittest.js",
214 "testSendErrorInSecondPacketWithSerialization");
215 }
216
217 TEST_F(DataSenderTest, CancelWithSerialization) {
218 RunTest("data_sender_unittest.js", "testCancelWithSerialization");
219 }
220
221 TEST_F(DataSenderTest, SerializeWithSendsInProgress) {
222 RunTest("data_sender_unittest.js", "testSerializeWithSendsInProgress");
223 }
224
225 TEST_F(DataSenderTest, SerializeWithSendAndCancelInProgress) {
226 RunTest("data_sender_unittest.js",
227 "testSerializeWithSendAndCancelInProgress");
228 }
229
230 TEST_F(DataSenderTest, SerializeAfterClose) {
231 RunTest("data_sender_unittest.js", "testSerializeAfterClose");
232 }
233
162 } // namespace extensions 234 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698