@@ -216,6 +216,42 @@ test('setting readonly ignores click', function(assert) {
216
216
assert . equal ( count , 1 , 'onChange should have been called only once' ) ;
217
217
} ) ;
218
218
219
+ test ( 'setting readonly to null allows click' , function ( assert ) {
220
+ assert . expect ( 4 ) ;
221
+
222
+ let count = 0 ;
223
+ this . set ( 'changed' , ( value ) => {
224
+ this . set ( 'frequency' , value ) ;
225
+ count ++ ;
226
+ } ) ;
227
+
228
+ this . set ( 'checked' , false ) ;
229
+ this . set ( 'readonly' , null ) ;
230
+ this . set ( 'frequency' , 'weekly' ) ;
231
+ this . render ( hbs `
232
+ <div class="ui form">
233
+ <div class="grouped inline fields">
234
+ <div class="field">
235
+ {{ui-radio name="frequency" label="Once a week" value='weekly' current=frequency onChange=(action changed)}}
236
+ </div>
237
+ <div class="field">
238
+ {{ui-radio name="frequency" label="2-3 times a week" value='biweekly' current=frequency readonly=readonly onChange=(action changed)}}
239
+ </div>
240
+ <div class="field">
241
+ {{ui-radio name="frequency" label="Once a day" value='daily' current=frequency onChange=(action changed)}}
242
+ </div>
243
+ </div>
244
+ </div>
245
+ ` ) ;
246
+
247
+ assert . equal ( this . $ ( '.ui.radio' ) . length , 3 ) ;
248
+ this . $ ( '.ui.radio' ) [ 1 ] . click ( ) ;
249
+
250
+ assert . equal ( 'biweekly' , this . get ( 'frequency' ) ) ;
251
+ assert . ok ( this . $ ( this . $ ( '.ui.radio' ) [ 1 ] ) . hasClass ( 'checked' ) ) ;
252
+ assert . equal ( count , 1 , 'onChange should have been called only once' ) ;
253
+ } ) ;
254
+
219
255
test ( 'setting binded value updates to current' , function ( assert ) {
220
256
assert . expect ( 7 ) ;
221
257
0 commit comments