@@ -764,21 +764,6 @@ describe('draggable directive', () => {
764
764
. true ;
765
765
} ) ;
766
766
767
- it ( 'should make all elements on the page unable to select text while dragging' , ( ) => {
768
- const tmp = document . createElement ( 'div' ) ;
769
- tmp . innerHTML = 'foo' ;
770
- document . body . appendChild ( tmp ) ;
771
- expect ( getComputedStyle ( tmp ) . userSelect ) . to . equal ( 'auto' ) ;
772
- const draggableElement =
773
- fixture . componentInstance . draggableElement . nativeElement ;
774
- triggerDomEvent ( 'mousedown' , draggableElement , { clientX : 5 , clientY : 10 } ) ;
775
- expect ( getComputedStyle ( tmp ) . userSelect ) . to . equal ( 'none' ) ;
776
- triggerDomEvent ( 'mousemove' , draggableElement , { clientX : 7 , clientY : 10 } ) ;
777
- expect ( getComputedStyle ( tmp ) . userSelect ) . to . equal ( 'none' ) ;
778
- triggerDomEvent ( 'mouseup' , draggableElement , { clientX : 7 , clientY : 8 } ) ;
779
- expect ( getComputedStyle ( tmp ) . userSelect ) . to . equal ( 'auto' ) ;
780
- } ) ;
781
-
782
767
it ( 'should cancel the drag' , ( ) => {
783
768
const draggableElement =
784
769
fixture . componentInstance . draggableElement . nativeElement ;
@@ -817,19 +802,13 @@ describe('draggable directive', () => {
817
802
fixture . componentInstance . draggableElement . nativeElement ;
818
803
triggerDomEvent ( 'mousedown' , draggableElement , { clientX : 5 , clientY : 10 } ) ;
819
804
triggerDomEvent ( 'mousemove' , draggableElement , { clientX : 7 , clientY : 10 } ) ;
820
- expect ( getComputedStyle ( document . body . children [ 0 ] ) . userSelect ) . to . equal (
821
- 'none'
822
- ) ;
823
805
triggerDomEvent ( 'mousemove' , draggableElement , { clientX : 7 , clientY : 8 } ) ;
824
806
fixture . destroy ( ) ;
825
807
expect ( fixture . componentInstance . dragEnd ) . to . have . been . calledWith ( {
826
808
x : 2 ,
827
809
y : - 2 ,
828
810
dragCancelled : false
829
811
} ) ;
830
- expect ( getComputedStyle ( document . body . children [ 0 ] ) . userSelect ) . to . equal (
831
- 'auto'
832
- ) ;
833
812
} ) ;
834
813
835
814
it ( 'should use the contents of the ghost element template as the inner html of the ghost element' , ( ) => {
@@ -884,17 +863,27 @@ describe('draggable directive', () => {
884
863
} ) ;
885
864
} ) ;
886
865
887
- it ( 'should allow elements to be selected if clicking but not dragging the element ' , ( ) => {
866
+ it ( 'should prevent text from being selected while dragging' , ( ) => {
888
867
const tmp = document . createElement ( 'div' ) ;
889
868
tmp . innerHTML = 'foo' ;
890
869
document . body . appendChild ( tmp ) ;
891
- expect ( getComputedStyle ( tmp ) . userSelect ) . to . equal ( 'auto' ) ;
870
+ const preventDefault = sinon . spy ( ) ;
871
+ triggerDomEvent ( 'selectstart' , tmp , {
872
+ preventDefault
873
+ } ) ;
874
+ expect ( preventDefault ) . not . to . have . been . called ;
892
875
const draggableElement =
893
876
fixture . componentInstance . draggableElement . nativeElement ;
894
877
triggerDomEvent ( 'mousedown' , draggableElement , { clientX : 5 , clientY : 10 } ) ;
895
- expect ( getComputedStyle ( tmp ) . userSelect ) . to . equal ( 'none' ) ;
878
+ triggerDomEvent ( 'selectstart' , tmp , {
879
+ preventDefault
880
+ } ) ;
881
+ expect ( preventDefault ) . to . have . been . calledOnce ;
896
882
triggerDomEvent ( 'mouseup' , draggableElement , { clientX : 5 , clientY : 10 } ) ;
897
- expect ( getComputedStyle ( tmp ) . userSelect ) . to . equal ( 'auto' ) ;
883
+ triggerDomEvent ( 'selectstart' , tmp , {
884
+ preventDefault
885
+ } ) ;
886
+ expect ( preventDefault ) . to . have . been . calledOnce ;
898
887
} ) ;
899
888
900
889
it ( 'should allow for draggable elements to be inside other draggable elements' , ( ) => {
0 commit comments