@@ -446,6 +446,42 @@ QUnit.module('keyboard navigation', {
446446 assert . deepEqual ( this . list . option ( 'items' ) , this . items , 'items are not reordered' ) ;
447447 } ) ;
448448
449+ QUnit . test ( 'shift+arrowUp should reorder items within second group' , function ( assert ) {
450+ const $secondGroupLastItem = this . $list
451+ . find ( `.${ LIST_GROUP_CLASS } ` ) . eq ( 1 )
452+ . find ( `.${ LIST_ITEM_CLASS } ` ) . last ( ) ;
453+
454+ $secondGroupLastItem . trigger ( 'dxpointerdown' ) ;
455+ this . clock . tick ( 10 ) ;
456+ this . keyboard . keyDown ( 'arrowUp' , { shiftKey : true } ) ;
457+
458+ const expectedItems = [ {
459+ items : [ '1-1' , '1-2' ] ,
460+ } , {
461+ items : [ '2-2' , '2-1' ] ,
462+ } ] ;
463+
464+ assert . deepEqual ( this . list . option ( 'items' ) , expectedItems , 'items in second group were reordered' ) ;
465+ } ) ;
466+
467+ QUnit . test ( 'shift+arrowDown should reorder items within second group' , function ( assert ) {
468+ const $secondGroupFirstItem = this . $list
469+ . find ( `.${ LIST_GROUP_CLASS } ` ) . eq ( 1 )
470+ . find ( `.${ LIST_ITEM_CLASS } ` ) . first ( ) ;
471+
472+ $secondGroupFirstItem . trigger ( 'dxpointerdown' ) ;
473+ this . clock . tick ( 10 ) ;
474+ this . keyboard . keyDown ( 'arrowDown' , { shiftKey : true } ) ;
475+
476+ const expectedItems = [ {
477+ items : [ '1-1' , '1-2' ] ,
478+ } , {
479+ items : [ '2-2' , '2-1' ] ,
480+ } ] ;
481+
482+ assert . deepEqual ( this . list . option ( 'items' ) , expectedItems , 'items in second group were reordered' ) ;
483+ } ) ;
484+
449485 QUnit . test ( 'shift+arrowDown should not move group header (T1281673)' , function ( assert ) {
450486 const $lastGroupHeader = this . $list . find ( `.${ LIST_GROUP_HEADER_CLASS } ` ) . last ( ) ;
451487
0 commit comments