@@ -32,6 +32,50 @@ test('basic deep', async t => {
3232 close ( )
3333} )
3434
35+ test ( 'subscribe same object twice' , async t => {
36+ const { dopServer, nodeClient, close } = await connect ( t )
37+ const objectServer = dopServer . register ( { hello : 'world' } )
38+ dopServer . onSubscribe ( ( ) => objectServer )
39+ const objectClient = await nodeClient . subscribe ( )
40+ const objectClient2 = await nodeClient . subscribe ( )
41+ t . deepEqual ( objectServer , objectClient )
42+ t . equal ( objectClient , objectClient2 )
43+ close ( )
44+ } )
45+
46+ test ( 'subscribe same subobject twice' , async t => {
47+ const { dopServer, nodeClient, close } = await connect ( t )
48+ const objectServer = dopServer . register ( {
49+ hello : 'world' ,
50+ deep : { hola : 'mundo' }
51+ } )
52+ dopServer . onSubscribe ( ( ) => objectServer . deep )
53+ const objectClient = await nodeClient . subscribe ( )
54+ const objectClient2 = await nodeClient . subscribe ( )
55+ t . deepEqual ( objectServer . deep , objectClient )
56+ t . equal ( objectClient , objectClient2 )
57+ close ( )
58+ } )
59+
60+ test ( 'subscribe same object twice and then subscribe sub object' , async t => {
61+ const { dopServer, nodeClient, close } = await connect ( t )
62+ const objectServer = dopServer . register ( {
63+ hello : 'world' ,
64+ deep : { hola : 'mundo' }
65+ } )
66+ dopServer . onSubscribe ( ( ) => objectServer )
67+ const objectClient = await nodeClient . subscribe ( )
68+ const objectClient2 = await nodeClient . subscribe ( )
69+ t . deepEqual ( objectServer , objectClient )
70+ t . equal ( objectClient , objectClient2 )
71+ dopServer . onSubscribe ( ( ) => objectServer . deep )
72+ const objectClient3 = await nodeClient . subscribe ( )
73+ t . deepEqual ( objectServer . deep , objectClient3 )
74+ t . deepEqual ( objectClient . deep , objectClient3 )
75+ t . notEqual ( objectClient . deep , objectClient3 )
76+ close ( )
77+ } )
78+
3579test ( 'into()' , async t => {
3680 const { dopServer, nodeClient, close } = await connect ( t )
3781 const objectServer = { hello : 'world' }
0 commit comments