OLD | NEW |
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 Loading... |
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 |
OLD | NEW |