@@ -216,6 +216,42 @@ test('setting readonly ignores click', function(assert) {
216216 assert . equal ( count , 1 , 'onChange should have been called only once' ) ;
217217} ) ;
218218
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+
219255test ( 'setting binded value updates to current' , function ( assert ) {
220256 assert . expect ( 7 ) ;
221257
0 commit comments