@@ -501,19 +501,33 @@ describe('Tree Pattern', () => {
501
501
502
502
tree . onKeydown ( space ( ) ) ;
503
503
expect ( tree . inputs . value ( ) ) . toEqual ( [ 'Item 0' ] ) ;
504
+ } ) ;
505
+
506
+ it ( 'should not deselect an item on Space' , ( ) => {
507
+ const { tree} = createTree ( treeExample , treeInputs ) ;
504
508
505
509
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' ] ) ;
507
514
} ) ;
508
515
509
516
it ( 'should select an item on Enter' , ( ) => {
510
517
const { tree} = createTree ( treeExample , treeInputs ) ;
511
518
512
519
tree . onKeydown ( enter ( ) ) ;
513
520
expect ( tree . inputs . value ( ) ) . toEqual ( [ 'Item 0' ] ) ;
521
+ } ) ;
522
+
523
+ it ( 'should not deselect an item on Enter' , ( ) => {
524
+ const { tree} = createTree ( treeExample , treeInputs ) ;
514
525
515
526
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' ] ) ;
517
531
} ) ;
518
532
519
533
it ( 'should only allow one selected item' , ( ) => {
@@ -919,10 +933,19 @@ describe('Tree Pattern', () => {
919
933
tree . onPointerdown ( createClickEvent ( item1 . element ( ) ) ) ;
920
934
expect ( tree . activeItem ( ) ) . toBe ( item1 ) ;
921
935
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' ) ;
922
941
923
942
tree . onPointerdown ( createClickEvent ( item1 . element ( ) ) ) ;
924
943
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' ] ) ;
926
949
} ) ;
927
950
928
951
it ( 'should not change selection when the tree is disabled' , ( ) => {
0 commit comments