@@ -74,6 +74,27 @@ describe('buttons', function() {
74
74
expect ( btn ) . not . toHaveClass ( 'active' ) ;
75
75
} ) ;
76
76
77
+ it ( 'should toggle custom model values on spacebar if focused' , function ( ) {
78
+ $scope . model = 0 ;
79
+ var btn = compileButton ( '<button ng-model="model" btn-checkbox btn-checkbox-true="1" btn-checkbox-false="0">click</button>' , $scope ) ;
80
+ $ ( 'body' ) . append ( btn ) ;
81
+ var e = $ . Event ( 'keypress' ) ;
82
+ e . which = 32 ;
83
+
84
+ btn [ 0 ] . focus ( ) ;
85
+ btn . trigger ( e ) ;
86
+ $scope . $digest ( ) ;
87
+ expect ( $scope . model ) . toEqual ( 1 ) ;
88
+ expect ( btn ) . toHaveClass ( 'active' ) ;
89
+
90
+ btn . trigger ( e ) ;
91
+ $scope . $digest ( ) ;
92
+ expect ( $scope . model ) . toEqual ( 0 ) ;
93
+ expect ( btn ) . not . toHaveClass ( 'active' ) ;
94
+
95
+ btn . remove ( ) ;
96
+ } ) ;
97
+
77
98
it ( 'should monitor true / false value changes - issue 666' , function ( ) {
78
99
79
100
$scope . model = 1 ;
@@ -95,6 +116,7 @@ describe('buttons', function() {
95
116
$scope . model = 1 ;
96
117
$scope . falseVal = 0 ;
97
118
var btn = compileButton ( '<button disabled ng-model="model" btn-checkbox btn-checkbox-true="falseVal">click</button>' , $scope ) ;
119
+ $ ( 'body' ) . append ( btn ) ;
98
120
99
121
expect ( btn ) . not . toHaveClass ( 'active' ) ;
100
122
expect ( $scope . model ) . toEqual ( 1 ) ;
@@ -106,6 +128,19 @@ describe('buttons', function() {
106
128
$scope . $digest ( ) ;
107
129
108
130
expect ( btn ) . not . toHaveClass ( 'active' ) ;
131
+
132
+ btn [ 0 ] . focus ( ) ;
133
+ var e = $ . Event ( 'keypress' ) ;
134
+ e . which = 32 ;
135
+ btn . trigger ( e ) ;
136
+
137
+ expect ( btn ) . not . toHaveClass ( 'active' ) ;
138
+
139
+ $scope . $digest ( ) ;
140
+
141
+ expect ( btn ) . not . toHaveClass ( 'active' ) ;
142
+
143
+ btn . remove ( ) ;
109
144
} ) ;
110
145
111
146
describe ( 'setting buttonConfig' , function ( ) {
0 commit comments