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 // Tests launched by extensions/renderer/api/serial/data_sender_unittest.cc | 5 // Tests launched by extensions/renderer/api/serial/data_sender_unittest.cc |
6 | 6 |
7 var test = require('test').binding; | 7 var test = require('test').binding; |
8 var unittestBindings = require('test_environment_specific_bindings'); | 8 var unittestBindings = require('test_environment_specific_bindings'); |
9 | 9 |
10 var BUFFER_SIZE = 11; | 10 var BUFFER_SIZE = 11; |
11 var FATAL_ERROR = 2; | 11 var FATAL_ERROR = 2; |
12 | 12 |
13 function generateData(size, pattern) { | 13 function generateData(size, pattern) { |
14 if (!pattern) | 14 if (!pattern) |
15 pattern = 'a'; | 15 pattern = 'a'; |
16 var buffer = new ArrayBuffer(size); | 16 var buffer = new ArrayBuffer(size); |
17 var intView = new Int8Array(buffer); | 17 var intView = new Int8Array(buffer); |
18 for (var i = 0; i < size; i++) { | 18 for (var i = 0; i < size; i++) { |
19 intView[i] = pattern.charCodeAt(i % pattern.length); | 19 intView[i] = pattern.charCodeAt(i % pattern.length); |
20 } | 20 } |
21 return buffer; | 21 return buffer; |
22 } | 22 } |
23 | 23 |
24 // Returns a promise to a newly created DataSender. | 24 // Returns a promise to a newly created DataSender. |
25 function createSender() { | 25 function createSender() { |
26 return Promise.all([ | 26 return Promise.all([ |
| 27 requireAsync('content/public/renderer/service_provider'), |
27 requireAsync('data_sender'), | 28 requireAsync('data_sender'), |
28 requireAsync('device/serial/data_sender_test_factory'), | 29 requireAsync('device/serial/data_stream.mojom'), |
29 ]).then(function(modules) { | 30 ]).then(function(modules) { |
30 var dataSender = modules[0]; | 31 var serviceProvider = modules[0]; |
31 var factory = modules[1]; | 32 var dataSender = modules[1]; |
32 var sender = factory.create(); | 33 var dataStream = modules[2]; |
33 return new dataSender.DataSender(sender.sink, sender.client, BUFFER_SIZE, | 34 return new dataSender.DataSender( |
34 FATAL_ERROR); | 35 serviceProvider.connectToService(dataStream.DataSink.name), |
| 36 BUFFER_SIZE, |
| 37 FATAL_ERROR); |
35 }); | 38 }); |
36 } | 39 } |
37 | 40 |
38 // Returns a function that sends data to a provided DataSender |sender|, | 41 // Returns a function that sends data to a provided DataSender |sender|, |
39 // checks that the send completes successfully and returns a promise that will | 42 // checks that the send completes successfully and returns a promise that will |
40 // resolve to |sender|. | 43 // resolve to |sender|. |
41 function sendAndExpectSuccess(data) { | 44 function sendAndExpectSuccess(data) { |
42 return function(sender) { | 45 return function(sender) { |
43 return sender.send(data).then(function(bytesSent) { | 46 return sender.send(data).then(function(bytesSent) { |
44 test.assertEq(data.byteLength, bytesSent); | 47 test.assertEq(data.byteLength, bytesSent); |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 | 282 |
280 function testSerializeAfterClose() { | 283 function testSerializeAfterClose() { |
281 createSender() | 284 createSender() |
282 .then(closeSender) | 285 .then(closeSender) |
283 .then(serializeRoundTrip) | 286 .then(serializeRoundTrip) |
284 .then(sendAfterClose) | 287 .then(sendAfterClose) |
285 .then(test.succeed, test.fail); | 288 .then(test.succeed, test.fail); |
286 }, | 289 }, |
287 | 290 |
288 ], test.runTests, exports); | 291 ], test.runTests, exports); |
OLD | NEW |