@@ -11,7 +11,8 @@ describe('ui.grid.cellNav directive', function () {
11
11
12
12
$scope . gridOpts = {
13
13
data : [ { name : 'Bob' } , { name : 'Mathias' } , { name : 'Fred' } ] ,
14
- modifierKeysToMultiSelectCells : true
14
+ modifierKeysToMultiSelectCells : true ,
15
+ keyDownOverrides : [ { keyCode : 39 } ]
15
16
} ;
16
17
17
18
$scope . gridOpts . onRegisterApi = function ( gridApi ) {
@@ -71,4 +72,48 @@ describe('ui.grid.cellNav directive', function () {
71
72
$scope . grid . cellNav . broadcastCellNav ( { row : $scope . grid . rows [ 0 ] , col : $scope . grid . columns [ 0 ] } , true ) ;
72
73
expect ( $scope . grid . cellNav . focusedCells . length ) . toEqual ( 1 ) ;
73
74
} ) ;
75
+
76
+ it ( 'should not call handleKeyDown if the key event is overridden' , function ( ) {
77
+ spyOn ( elm . controller ( 'uiGrid' ) . cellNav , 'handleKeyDown' ) ;
78
+ var focuser = elm . find ( 'focuser' ) ;
79
+ var evt = jQuery . Event ( "keydown" ) ;
80
+ evt . keyCode = 39 ;
81
+
82
+ focuser . trigger ( evt ) ;
83
+
84
+ expect ( elm . controller ( 'uiGrid' ) . cellNav . handleKeyDown ) . not . toHaveBeenCalled ( ) ;
85
+ } ) ;
86
+
87
+ it ( 'should call handleKeyDown if the key event is not overridden' , function ( ) {
88
+ spyOn ( elm . controller ( 'uiGrid' ) . cellNav , 'handleKeyDown' ) ;
89
+ var focuser = elm . find ( '.ui-grid-focuser' ) ;
90
+ var evt = jQuery . Event ( "keydown" ) ;
91
+ evt . keyCode = 37 ;
92
+
93
+ focuser . trigger ( evt ) ;
94
+
95
+ expect ( elm . controller ( 'uiGrid' ) . cellNav . handleKeyDown ) . toHaveBeenCalled ( ) ;
96
+ } ) ;
97
+
98
+ it ( 'should raise the viewPortKeyDown event if the key is overridden' , function ( ) {
99
+ spyOn ( elm . controller ( 'uiGrid' ) . grid . api . cellNav . raise , 'viewPortKeyDown' ) ;
100
+ var focuser = elm . find ( '.ui-grid-focuser' ) ;
101
+ var evt = jQuery . Event ( "keydown" ) ;
102
+ evt . keyCode = 39 ;
103
+
104
+ focuser . trigger ( evt ) ;
105
+
106
+ expect ( elm . controller ( 'uiGrid' ) . grid . api . cellNav . raise . viewPortKeyDown ) . toHaveBeenCalled ( ) ;
107
+ } ) ;
108
+
109
+ it ( 'should not raise the viewPortKeyDown event if the key is not overridden and is part of the base cell navigation keyboard support' , function ( ) {
110
+ spyOn ( elm . controller ( 'uiGrid' ) . grid . api . cellNav . raise , 'viewPortKeyDown' ) ;
111
+ var focuser = elm . find ( '.ui-grid-focuser' ) ;
112
+ var evt = jQuery . Event ( "keydown" ) ;
113
+ evt . keyCode = 37 ;
114
+
115
+ focuser . trigger ( evt ) ;
116
+
117
+ expect ( elm . controller ( 'uiGrid' ) . grid . api . cellNav . raise . viewPortKeyDown ) . not . toHaveBeenCalled ( ) ;
118
+ } ) ;
74
119
} ) ;
0 commit comments