@@ -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