@@ -335,7 +335,9 @@ describe('QuillCursors', () => {
335
335
336
336
mockRange = {
337
337
setStart : ( ) => { } ,
338
+ setStartBefore : ( ) => { } ,
338
339
setEnd : ( ) => { } ,
340
+ setEndAfter : ( ) => { } ,
339
341
getClientRects : ( ) => {
340
342
const rectangles : any [ ] = [ ] ;
341
343
return rectangles ;
@@ -482,6 +484,25 @@ describe('QuillCursors', () => {
482
484
expect ( mockRange . setStart ) . toHaveBeenCalledWith ( line2Leaf [ 0 ] . domNode , line2Leaf [ 1 ] ) ;
483
485
expect ( mockRange . setEnd ) . toHaveBeenCalledWith ( line1Leaf [ 0 ] . domNode , line1Leaf [ 1 ] ) ;
484
486
} ) ;
487
+
488
+ it ( 'sets the range on either side of an image' , ( ) => {
489
+ const startIndex = 0 ;
490
+ const endIndex = 1 ;
491
+ const leaf = createLeaf ( 'img' ) ;
492
+ jest . spyOn ( quill , 'getLeaf' ) . mockImplementation ( ( ) => leaf ) ;
493
+ jest . spyOn ( quill , 'getLines' ) . mockReturnValue ( [ {
494
+ children : [ ] ,
495
+ } ] ) ;
496
+ jest . spyOn ( mockRange , 'setStartBefore' ) ;
497
+ jest . spyOn ( mockRange , 'setEndAfter' ) ;
498
+
499
+ const range = { index : startIndex , length : endIndex - startIndex } ;
500
+
501
+ cursors . moveCursor ( cursor . id , range ) ;
502
+
503
+ expect ( mockRange . setStartBefore ) . toHaveBeenCalledWith ( leaf [ 0 ] . domNode ) ;
504
+ expect ( mockRange . setEndAfter ) . toHaveBeenCalledWith ( leaf [ 0 ] . domNode ) ;
505
+ } ) ;
485
506
} ) ;
486
507
487
508
describe ( 'flag' , ( ) => {
@@ -501,10 +522,8 @@ describe('QuillCursors', () => {
501
522
} ) ;
502
523
} ) ;
503
524
504
- function createLeaf ( ) : any [ ] {
505
- return [
506
- { domNode : document . createElement ( 'DIV' ) } ,
507
- 0 ,
508
- ] ;
525
+ function createLeaf ( tag ?: string ) : any [ ] {
526
+ const domNode = tag ? document . createElement ( tag ) : document . createTextNode ( '' ) ;
527
+ return [ { domNode} , 0 ] ;
509
528
}
510
529
} ) ;
0 commit comments