1
- import { createProcessor , UpdateDescr } from "./message" ;
1
+ import { createProcessor } from "./message" ;
2
2
import type { Message } from "../types/message" ;
3
3
4
4
// a little helper to let us track messages for testing purposes
@@ -29,7 +29,7 @@ test("distribute to self", () => {
29
29
client0 . sendUpdate ( { payload : "Hello" } , "" ) ;
30
30
31
31
expect ( client0Heard ) . toMatchObject ( [
32
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
32
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
33
33
] ) ;
34
34
35
35
expect ( prepare ( getMessages ( ) ) ) . toEqual ( [
@@ -43,13 +43,11 @@ test("distribute to self", () => {
43
43
serial : 1 ,
44
44
max_serial : 1 ,
45
45
} ,
46
- descr : "" ,
47
46
} ,
48
47
{
49
48
type : "received" ,
50
49
update : { payload : "Hello" , serial : 1 , max_serial : 1 } ,
51
50
instanceId : "3001" ,
52
- descr : "" ,
53
51
} ,
54
52
] ) ;
55
53
} ) ;
@@ -76,12 +74,12 @@ test("distribute to self and other", () => {
76
74
client0 . sendUpdate ( { payload : "Hello" } , "" ) ;
77
75
client1 . sendUpdate ( { payload : "Bye" } , "" ) ;
78
76
expect ( client0Heard ) . toMatchObject ( [
79
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
80
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
77
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
78
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
81
79
] ) ;
82
80
expect ( client1Heard ) . toMatchObject ( [
83
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
84
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
81
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
82
+ { payload : "Bye" , serial : 2 , max_serial : 2 }
85
83
] ) ;
86
84
87
85
expect ( prepare ( getMessages ( ) ) ) . toEqual ( [
@@ -93,37 +91,31 @@ test("distribute to self and other", () => {
93
91
type : "sent" ,
94
92
instanceId : "3001" ,
95
93
update : { payload : "Hello" , serial : 1 , max_serial : 1 } ,
96
- descr : "" ,
97
94
} ,
98
95
{
99
96
type : "received" ,
100
97
update : { payload : "Hello" , serial : 1 , max_serial : 1 } ,
101
98
instanceId : "3001" ,
102
- descr : "" ,
103
99
} ,
104
100
{
105
101
type : "received" ,
106
102
update : { payload : "Hello" , serial : 1 , max_serial : 1 } ,
107
103
instanceId : "3002" ,
108
- descr : "" ,
109
104
} ,
110
105
{
111
106
type : "sent" ,
112
107
instanceId : "3002" ,
113
108
update : { payload : "Bye" , serial : 2 , max_serial : 2 } ,
114
- descr : "" ,
115
109
} ,
116
110
{
117
111
type : "received" ,
118
112
update : { payload : "Bye" , serial : 2 , max_serial : 2 } ,
119
113
instanceId : "3001" ,
120
- descr : "" ,
121
114
} ,
122
115
{
123
116
type : "received" ,
124
117
update : { payload : "Bye" , serial : 2 , max_serial : 2 } ,
125
118
instanceId : "3002" ,
126
- descr : "" ,
127
119
} ,
128
120
] ) ;
129
121
} ) ;
@@ -149,11 +141,11 @@ test("setUpdateListener serial should skip older", () => {
149
141
client0 . sendUpdate ( { payload : "Hello" } , "" ) ;
150
142
client0 . sendUpdate ( { payload : "Bye" } , "" ) ;
151
143
expect ( client0Heard ) . toMatchObject ( [
152
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
153
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
144
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
145
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
154
146
] ) ;
155
147
expect ( client1Heard ) . toMatchObject ( [
156
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
148
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
157
149
] ) ;
158
150
} ) ;
159
151
@@ -175,8 +167,8 @@ test("other starts listening later", () => {
175
167
client0 . sendUpdate ( { payload : "Bye" } , "" ) ;
176
168
177
169
expect ( client0Heard ) . toMatchObject ( [
178
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
179
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
170
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
171
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
180
172
] ) ;
181
173
// we only join later, so we haven't heard a thing yet
182
174
expect ( client1Heard ) . toMatchObject ( [ ] ) ;
@@ -187,12 +179,12 @@ test("other starts listening later", () => {
187
179
} , 0 ) ;
188
180
189
181
expect ( client0Heard ) . toMatchObject ( [
190
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
191
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
182
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
183
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
192
184
] ) ;
193
185
expect ( client1Heard ) . toMatchObject ( [
194
- [ { payload : "Hello" , serial : 1 , max_serial : 2 } , "" ] ,
195
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
186
+ { payload : "Hello" , serial : 1 , max_serial : 2 } ,
187
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
196
188
] ) ;
197
189
198
190
expect ( prepare ( getMessages ( ) ) ) . toEqual ( [
@@ -202,39 +194,33 @@ test("other starts listening later", () => {
202
194
type : "sent" ,
203
195
instanceId : "3001" ,
204
196
update : { payload : "Hello" , serial : 1 , max_serial : 1 } ,
205
- descr : "" ,
206
197
} ,
207
198
{
208
199
type : "received" ,
209
200
update : { payload : "Hello" , serial : 1 , max_serial : 1 } ,
210
201
instanceId : "3001" ,
211
- descr : "" ,
212
202
} ,
213
203
{
214
204
type : "sent" ,
215
205
instanceId : "3001" ,
216
206
update : { payload : "Bye" , serial : 2 , max_serial : 2 } ,
217
- descr : "" ,
218
207
} ,
219
208
{
220
209
type : "received" ,
221
210
update : { payload : "Bye" , serial : 2 , max_serial : 2 } ,
222
211
instanceId : "3001" ,
223
- descr : "" ,
224
212
} ,
225
213
{ type : "connect" , instanceId : "3002" } ,
226
214
{ type : "clear" , instanceId : "3002" } ,
227
215
{
228
216
type : "received" ,
229
217
update : { payload : "Hello" , serial : 1 , max_serial : 2 } ,
230
218
instanceId : "3002" ,
231
- descr : "" ,
232
219
} ,
233
220
{
234
221
type : "received" ,
235
222
update : { payload : "Bye" , serial : 2 , max_serial : 2 } ,
236
223
instanceId : "3002" ,
237
- descr : "" ,
238
224
} ,
239
225
] ) ;
240
226
} ) ;
@@ -255,8 +241,8 @@ test("client is created later and needs to catch up", () => {
255
241
client0 . sendUpdate ( { payload : "Bye" } , "" ) ;
256
242
257
243
expect ( client0Heard ) . toMatchObject ( [
258
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
259
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
244
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
245
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
260
246
] ) ;
261
247
262
248
// we only join later, so we haven't heard a thing yet
@@ -269,12 +255,12 @@ test("client is created later and needs to catch up", () => {
269
255
} , 0 ) ;
270
256
271
257
expect ( client0Heard ) . toMatchObject ( [
272
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
273
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
258
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
259
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
274
260
] ) ;
275
261
expect ( client1Heard ) . toMatchObject ( [
276
- [ { payload : "Hello" , serial : 1 , max_serial : 2 } , "" ] ,
277
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
262
+ { payload : "Hello" , serial : 1 , max_serial : 2 } ,
263
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
278
264
] ) ;
279
265
} ) ;
280
266
@@ -294,8 +280,8 @@ test("other starts listening later but is partially caught up", () => {
294
280
client0 . sendUpdate ( { payload : "Hello" } , "" ) ;
295
281
client0 . sendUpdate ( { payload : "Bye" } , "" ) ;
296
282
expect ( client0Heard ) . toMatchObject ( [
297
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
298
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
283
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
284
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
299
285
] ) ;
300
286
// we only join later, so we haven't heard a thing yet
301
287
expect ( client1Heard ) . toMatchObject ( [ ] ) ;
@@ -307,11 +293,11 @@ test("other starts listening later but is partially caught up", () => {
307
293
} , 1 ) ;
308
294
309
295
expect ( client0Heard ) . toMatchObject ( [
310
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
311
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
296
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
297
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
312
298
] ) ;
313
299
expect ( client1Heard ) . toMatchObject ( [
314
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
300
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
315
301
] ) ;
316
302
} ) ;
317
303
@@ -493,8 +479,8 @@ test("connect with clear means we get no catchup if no new updates", () => {
493
479
494
480
expect ( client0Heard ) . toMatchObject ( [
495
481
"cleared" ,
496
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
497
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
482
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
483
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
498
484
"cleared" ,
499
485
] ) ;
500
486
@@ -516,8 +502,8 @@ test("connect with clear means we get no catchup if no new updates", () => {
516
502
517
503
expect ( client0Heard ) . toMatchObject ( [
518
504
"cleared" ,
519
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
520
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
505
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
506
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
521
507
"cleared" ,
522
508
] ) ;
523
509
expect ( client1Heard ) . toMatchObject ( [ "cleared" ] ) ;
@@ -549,14 +535,14 @@ test("connect with clear means catchup only with updates after clear", () => {
549
535
processor . clear ( ) ;
550
536
551
537
// the aftermath update, which the newly connecting client should get
552
- client0 . sendUpdate ( { payload : "Aftermath" } , "update 3 " ) ;
538
+ client0 . sendUpdate ( { payload : "Aftermath" } , "" ) ;
553
539
554
540
expect ( client0Heard ) . toMatchObject ( [
555
541
"cleared" ,
556
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
557
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
542
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
543
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
558
544
"cleared" ,
559
- [ { payload : "Aftermath" , serial : 1 , max_serial : 1 } , "update 3" ] ,
545
+ { payload : "Aftermath" , serial : 1 , max_serial : 1 } ,
560
546
] ) ;
561
547
562
548
// we only join later, so we haven't heard a thing yet
@@ -577,14 +563,14 @@ test("connect with clear means catchup only with updates after clear", () => {
577
563
578
564
expect ( client0Heard ) . toMatchObject ( [
579
565
"cleared" ,
580
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
581
- [ { payload : "Bye" , serial : 2 , max_serial : 2 } , "" ] ,
566
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
567
+ { payload : "Bye" , serial : 2 , max_serial : 2 } ,
582
568
"cleared" ,
583
- [ { payload : "Aftermath" , serial : 1 , max_serial : 1 } , "update 3" ] ,
569
+ { payload : "Aftermath" , serial : 1 , max_serial : 1 } ,
584
570
] ) ;
585
571
expect ( client1Heard ) . toMatchObject ( [
586
572
"cleared" ,
587
- [ { payload : "Aftermath" , serial : 1 , max_serial : 1 } , "update 3" ] ,
573
+ { payload : "Aftermath" , serial : 1 , max_serial : 1 } ,
588
574
] ) ;
589
575
590
576
expect ( getMessages ( ) ) . toMatchObject ( [
@@ -594,46 +580,39 @@ test("connect with clear means catchup only with updates after clear", () => {
594
580
type : "sent" ,
595
581
instanceId : "3001" ,
596
582
update : { payload : "Hello" , serial : 1 , max_serial : 1 } ,
597
- descr : "" ,
598
583
} ,
599
584
{
600
585
type : "received" ,
601
586
update : { payload : "Hello" , serial : 1 , max_serial : 1 } ,
602
587
instanceId : "3001" ,
603
- descr : "" ,
604
588
} ,
605
589
{
606
590
type : "sent" ,
607
591
instanceId : "3001" ,
608
592
update : { payload : "Bye" , serial : 2 , max_serial : 2 } ,
609
- descr : "" ,
610
593
} ,
611
594
{
612
595
type : "received" ,
613
596
update : { payload : "Bye" , serial : 2 , max_serial : 2 } ,
614
597
instanceId : "3001" ,
615
- descr : "" ,
616
598
} ,
617
599
{ type : "clear" , instanceId : "3001" } ,
618
600
{
619
601
type : "sent" ,
620
602
instanceId : "3001" ,
621
603
update : { payload : "Aftermath" , serial : 1 , max_serial : 1 } ,
622
- descr : "update 3" ,
623
604
} ,
624
605
{
625
606
type : "received" ,
626
607
update : { payload : "Aftermath" , serial : 1 , max_serial : 1 } ,
627
608
instanceId : "3001" ,
628
- descr : "update 3" ,
629
609
} ,
630
610
{ type : "connect" , instanceId : "3002" } ,
631
611
{ type : "clear" , instanceId : "3002" } ,
632
612
{
633
613
type : "received" ,
634
614
instanceId : "3002" ,
635
615
update : { payload : "Aftermath" , serial : 1 , max_serial : 1 } ,
636
- descr : "update 3" ,
637
616
} ,
638
617
] ) ;
639
618
} ) ;
@@ -659,7 +638,7 @@ test("distribute to self and other, but other was disconnected", () => {
659
638
660
639
client0 . sendUpdate ( { payload : "Hello" } , "" ) ;
661
640
expect ( client0Heard ) . toMatchObject ( [
662
- [ { payload : "Hello" , serial : 1 , max_serial : 1 } , "" ] ,
641
+ { payload : "Hello" , serial : 1 , max_serial : 1 } ,
663
642
] ) ;
664
643
expect ( client1Heard ) . toMatchObject ( [ ] ) ;
665
644
@@ -672,13 +651,12 @@ test("distribute to self and other, but other was disconnected", () => {
672
651
type : "sent" ,
673
652
instanceId : "3001" ,
674
653
update : { payload : "Hello" , serial : 1 , max_serial : 1 } ,
675
- descr : "" ,
654
+
676
655
} ,
677
656
{
678
657
type : "received" ,
679
658
update : { payload : "Hello" , serial : 1 , max_serial : 1 } ,
680
659
instanceId : "3001" ,
681
- descr : "" ,
682
660
} ,
683
661
] ) ;
684
662
} ) ;
0 commit comments