Skip to content

Commit 4f0c997

Browse files
committed
Test cases for new style require messages or services
Add 2 test cases for new style require messages, like this: const String = rclnodejs.require('std_msgs/msg/String')
1 parent 003ee15 commit 4f0c997

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

test/test-single-process.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,26 @@ describe('Test rclnodejs nodes in a single process', function() {
4949
rclnodejs.spin(publisherNode);
5050
});
5151

52+
it('New style requiring for messages', function(done) {
53+
var node = rclnodejs.createNode('new_style_require_message');
54+
const RclString = rclnodejs.require('std_msgs/msg/String');
55+
let msg = new RclString();
56+
msg.data = 'Hello World';
57+
58+
var subscription = node.createSubscription(RclString, 'new_style_require1', (msg) => {
59+
timer.cancel();
60+
assert.deepStrictEqual(msg.data, 'Hello World');
61+
done();
62+
});
63+
64+
var publisher = node.createPublisher(RclString, 'new_style_require1');
65+
var timer = node.createTimer(100, () => {
66+
publisher.publish(msg);
67+
});
68+
69+
rclnodejs.spin(node);
70+
});
71+
5272
it('Client/Service is a one process', function(done) {
5373
var clientNode = rclnodejs.createNode('single_ps_client');
5474
var serviceNode = rclnodejs.createNode('single_ps_service');
@@ -75,4 +95,30 @@ describe('Test rclnodejs nodes in a single process', function() {
7595
rclnodejs.spin(serviceNode);
7696
rclnodejs.spin(clientNode);
7797
});
98+
99+
it('New style requiring for services', function(done) {
100+
var node = rclnodejs.createNode('new_style_require_services');
101+
const AddTwoInts = rclnodejs.require('example_interfaces/srv/AddTwoInts');
102+
103+
var service = node.createService(AddTwoInts, 'new_style_require2', (request, response) => {
104+
assert.deepStrictEqual(request.a, 1);
105+
assert.deepStrictEqual(request.b, 2);
106+
response.sum = request.a + request.b;
107+
return response;
108+
});
109+
var client = node.createClient(AddTwoInts, 'new_style_require2');
110+
let request = new AddTwoInts.Request();
111+
request.a = 1;
112+
request.b = 2;
113+
114+
var timer = node.createTimer(100, () => {
115+
client.sendRequest(request, (response) => {
116+
timer.cancel();
117+
assert.deepStrictEqual(response.sum, 3);
118+
done();
119+
});
120+
});
121+
122+
rclnodejs.spin(node);
123+
});
78124
});

0 commit comments

Comments
 (0)