@@ -72,10 +72,7 @@ describe('draggable directive', () => {
72
72
y : 0
73
73
} ) ;
74
74
triggerDomEvent ( 'mousemove' , draggableElement , { clientX : 7 , clientY : 10 } ) ;
75
- expect ( fixture . componentInstance . dragStart ) . to . have . been . calledWith ( {
76
- x : 0 ,
77
- y : 0
78
- } ) ;
75
+ expect ( fixture . componentInstance . dragStart ) . to . have . been . calledOnce ;
79
76
expect ( fixture . componentInstance . dragging ) . to . have . been . calledWith ( {
80
77
x : 2 ,
81
78
y : 0
@@ -91,7 +88,8 @@ describe('draggable directive', () => {
91
88
triggerDomEvent ( 'mouseup' , draggableElement , { clientX : 7 , clientY : 8 } ) ;
92
89
expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
93
90
x : 2 ,
94
- y : - 2
91
+ y : - 2 ,
92
+ dragCancelled : false
95
93
} ) ;
96
94
} ) ;
97
95
@@ -132,7 +130,8 @@ describe('draggable directive', () => {
132
130
triggerDomEvent ( 'mouseup' , draggableElement , { clientX : 7 , clientY : 12 } ) ;
133
131
expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
134
132
x : 0 ,
135
- y : 2
133
+ y : 2 ,
134
+ dragCancelled : false
136
135
} ) ;
137
136
} ) ;
138
137
@@ -152,7 +151,8 @@ describe('draggable directive', () => {
152
151
triggerDomEvent ( 'mouseup' , draggableElement , { clientX : 7 , clientY : 12 } ) ;
153
152
expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
154
153
x : 2 ,
155
- y : 0
154
+ y : 0 ,
155
+ dragCancelled : false
156
156
} ) ;
157
157
} ) ;
158
158
@@ -217,7 +217,8 @@ describe('draggable directive', () => {
217
217
triggerDomEvent ( 'mouseup' , draggableElement , { clientX : 16 , clientY : 22 } ) ;
218
218
expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
219
219
x : 10 ,
220
- y : 12
220
+ y : 12 ,
221
+ dragCancelled : false
221
222
} ) ;
222
223
} ) ;
223
224
@@ -259,7 +260,8 @@ describe('draggable directive', () => {
259
260
triggerDomEvent ( 'mouseup' , draggableElement , { clientX : 22 , clientY : 16 } ) ;
260
261
expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
261
262
x : 12 ,
262
- y : 10
263
+ y : 10 ,
264
+ dragCancelled : false
263
265
} ) ;
264
266
} ) ;
265
267
@@ -288,7 +290,8 @@ describe('draggable directive', () => {
288
290
triggerDomEvent ( 'mouseup' , draggableElement , { clientX : 22 , clientY : 16 } ) ;
289
291
expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
290
292
x : 10 ,
291
- y : 10
293
+ y : 10 ,
294
+ dragCancelled : false
292
295
} ) ;
293
296
} ) ;
294
297
@@ -299,10 +302,7 @@ describe('draggable directive', () => {
299
302
fixture . componentInstance . draggable . element . nativeElement ;
300
303
triggerDomEvent ( 'mousedown' , draggableElement , { clientX : 5 , clientY : 10 } ) ;
301
304
triggerDomEvent ( 'mousemove' , draggableElement , { clientX : 7 , clientY : 10 } ) ;
302
- expect ( fixture . componentInstance . dragStart ) . to . have . been . calledWith ( {
303
- x : 0 ,
304
- y : 0
305
- } ) ;
305
+ expect ( fixture . componentInstance . dragStart ) . to . have . been . calledOnce ;
306
306
expect ( fixture . componentInstance . dragging ) . to . have . been . calledWith ( {
307
307
x : 2 ,
308
308
y : 0
@@ -317,7 +317,8 @@ describe('draggable directive', () => {
317
317
triggerDomEvent ( 'mouseup' , draggableElement , { clientX : 7 , clientY : 8 } ) ;
318
318
expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
319
319
x : 2 ,
320
- y : - 2
320
+ y : - 2 ,
321
+ dragCancelled : false
321
322
} ) ;
322
323
expect ( draggableElement . nextSibling ) . not . to . ok ;
323
324
} ) ;
@@ -381,10 +382,7 @@ describe('draggable directive', () => {
381
382
y : - 2
382
383
} ) ;
383
384
triggerDomEvent ( 'mousemove' , draggableElement , { clientX : 7 , clientY : 12 } ) ;
384
- expect ( fixture . componentInstance . dragStart ) . to . have . been . calledWith ( {
385
- x : 0 ,
386
- y : 0
387
- } ) ;
385
+ expect ( fixture . componentInstance . dragStart ) . to . have . been . calledOnce ;
388
386
expect ( fixture . componentInstance . dragging ) . to . have . been . calledWith ( {
389
387
x : 2 ,
390
388
y : 2
@@ -397,7 +395,8 @@ describe('draggable directive', () => {
397
395
triggerDomEvent ( 'mouseup' , draggableElement , { clientX : 3 , clientY : 10 } ) ;
398
396
expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
399
397
x : 2 ,
400
- y : 2
398
+ y : 2 ,
399
+ dragCancelled : false
401
400
} ) ;
402
401
} ) ;
403
402
@@ -443,10 +442,7 @@ describe('draggable directive', () => {
443
442
triggerDomEvent ( 'touchmove' , draggableElement , {
444
443
targetTouches : [ { clientX : 7 , clientY : 10 } ]
445
444
} ) ;
446
- expect ( fixture . componentInstance . dragStart ) . to . have . been . calledWith ( {
447
- x : 0 ,
448
- y : 0
449
- } ) ;
445
+ expect ( fixture . componentInstance . dragStart ) . to . have . been . calledOnce ;
450
446
expect ( fixture . componentInstance . dragging ) . to . have . been . calledWith ( {
451
447
x : 2 ,
452
448
y : 0
@@ -466,7 +462,8 @@ describe('draggable directive', () => {
466
462
} ) ;
467
463
expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
468
464
x : 2 ,
469
- y : - 2
465
+ y : - 2 ,
466
+ dragCancelled : false
470
467
} ) ;
471
468
} ) ;
472
469
@@ -479,10 +476,7 @@ describe('draggable directive', () => {
479
476
triggerDomEvent ( 'touchmove' , draggableElement , {
480
477
targetTouches : [ { clientX : 7 , clientY : 10 } ]
481
478
} ) ;
482
- expect ( fixture . componentInstance . dragStart ) . to . have . been . calledWith ( {
483
- x : 0 ,
484
- y : 0
485
- } ) ;
479
+ expect ( fixture . componentInstance . dragStart ) . to . have . been . calledOnce ;
486
480
expect ( fixture . componentInstance . dragging ) . to . have . been . calledWith ( {
487
481
x : 2 ,
488
482
y : 0
@@ -502,7 +496,8 @@ describe('draggable directive', () => {
502
496
} ) ;
503
497
expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
504
498
x : 2 ,
505
- y : - 2
499
+ y : - 2 ,
500
+ dragCancelled : false
506
501
} ) ;
507
502
} ) ;
508
503
@@ -636,4 +631,35 @@ describe('draggable directive', () => {
636
631
triggerDomEvent ( 'mouseup' , draggableElement , { clientX : 7 , clientY : 8 } ) ;
637
632
expect ( getComputedStyle ( tmp ) . userSelect ) . to . equal ( 'auto' ) ;
638
633
} ) ;
634
+
635
+ it ( 'should cancel the drag' , ( ) => {
636
+ const draggableElement : HTMLElement =
637
+ fixture . componentInstance . draggable . element . nativeElement ;
638
+ triggerDomEvent ( 'mousedown' , draggableElement , { clientX : 5 , clientY : 10 } ) ;
639
+ expect ( fixture . componentInstance . dragPointerDown ) . to . have . been . calledWith ( {
640
+ x : 0 ,
641
+ y : 0
642
+ } ) ;
643
+ triggerDomEvent ( 'mousemove' , draggableElement , { clientX : 7 , clientY : 10 } ) ;
644
+ expect ( fixture . componentInstance . dragStart ) . to . have . been . calledOnce ;
645
+ expect ( fixture . componentInstance . dragging ) . to . have . been . calledWith ( {
646
+ x : 2 ,
647
+ y : 0
648
+ } ) ;
649
+ const ghostElement = draggableElement . nextSibling as HTMLElement ;
650
+ expect ( ghostElement . style . transform ) . to . equal ( 'translate(2px, 0px)' ) ;
651
+ triggerDomEvent ( 'mousemove' , draggableElement , { clientX : 7 , clientY : 8 } ) ;
652
+ expect ( fixture . componentInstance . dragging ) . to . have . been . calledWith ( {
653
+ x : 2 ,
654
+ y : - 2
655
+ } ) ;
656
+ expect ( ghostElement . style . transform ) . to . equal ( 'translate(2px, -2px)' ) ;
657
+ fixture . componentInstance . dragStart . getCall ( 0 ) . args [ 0 ] . cancelDrag$ . next ( ) ;
658
+ expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
659
+ x : 2 ,
660
+ y : - 2 ,
661
+ dragCancelled : true
662
+ } ) ;
663
+ expect ( draggableElement . nextSibling ) . to . not . equal ( ghostElement ) ;
664
+ } ) ;
639
665
} ) ;
0 commit comments