@@ -501,19 +501,33 @@ describe('Tree Pattern', () => {
501501
502502 tree . onKeydown ( space ( ) ) ;
503503 expect ( tree . inputs . value ( ) ) . toEqual ( [ 'Item 0' ] ) ;
504+ } ) ;
505+
506+ it ( 'should not deselect an item on Space' , ( ) => {
507+ const { tree} = createTree ( treeExample , treeInputs ) ;
504508
505509 tree . onKeydown ( space ( ) ) ;
506- expect ( tree . inputs . value ( ) ) . toEqual ( [ ] ) ;
510+ expect ( tree . inputs . value ( ) ) . toEqual ( [ 'Item 0' ] ) ;
511+
512+ tree . onKeydown ( space ( ) ) ;
513+ expect ( tree . inputs . value ( ) ) . toEqual ( [ 'Item 0' ] ) ;
507514 } ) ;
508515
509516 it ( 'should select an item on Enter' , ( ) => {
510517 const { tree} = createTree ( treeExample , treeInputs ) ;
511518
512519 tree . onKeydown ( enter ( ) ) ;
513520 expect ( tree . inputs . value ( ) ) . toEqual ( [ 'Item 0' ] ) ;
521+ } ) ;
522+
523+ it ( 'should not deselect an item on Enter' , ( ) => {
524+ const { tree} = createTree ( treeExample , treeInputs ) ;
514525
515526 tree . onKeydown ( enter ( ) ) ;
516- expect ( tree . inputs . value ( ) ) . toEqual ( [ ] ) ;
527+ expect ( tree . inputs . value ( ) ) . toEqual ( [ 'Item 0' ] ) ;
528+
529+ tree . onKeydown ( enter ( ) ) ;
530+ expect ( tree . inputs . value ( ) ) . toEqual ( [ 'Item 0' ] ) ;
517531 } ) ;
518532
519533 it ( 'should only allow one selected item' , ( ) => {
@@ -919,10 +933,19 @@ describe('Tree Pattern', () => {
919933 tree . onPointerdown ( createClickEvent ( item1 . element ( ) ) ) ;
920934 expect ( tree . activeItem ( ) ) . toBe ( item1 ) ;
921935 expect ( tree . inputs . value ( ) ) . toEqual ( [ 'Item 1' ] ) ;
936+ } ) ;
937+
938+ it ( 'should not deselect item on click' , ( ) => {
939+ const { tree, allItems} = createTree ( treeExample , treeInputs ) ;
940+ const item1 = getItemByValue ( allItems ( ) , 'Item 1' ) ;
922941
923942 tree . onPointerdown ( createClickEvent ( item1 . element ( ) ) ) ;
924943 expect ( tree . activeItem ( ) ) . toBe ( item1 ) ;
925- expect ( tree . inputs . value ( ) ) . toEqual ( [ ] ) ;
944+ expect ( tree . inputs . value ( ) ) . toEqual ( [ 'Item 1' ] ) ;
945+
946+ tree . onPointerdown ( createClickEvent ( item1 . element ( ) ) ) ;
947+ expect ( tree . activeItem ( ) ) . toBe ( item1 ) ;
948+ expect ( tree . inputs . value ( ) ) . toEqual ( [ 'Item 1' ] ) ;
926949 } ) ;
927950
928951 it ( 'should not change selection when the tree is disabled' , ( ) => {
0 commit comments