@@ -108,6 +108,34 @@ if (_.inBrowser) {
108108 } )
109109 } )
110110
111+ it ( 'radio expression (new syntax)' , function ( done ) {
112+ var vm = new Vue ( {
113+ el : el ,
114+ data : {
115+ test : false ,
116+ test2 : 'string1' ,
117+ expression1 : 'string1' ,
118+ expression2 : 'string2'
119+ } ,
120+ template :
121+ '<input type="radio" value="1" v-model="test" name="test" bind-value="true">' +
122+ '<input type="radio" value="0" v-model="test" name="test" bind-value="false">' +
123+ '<input type="radio" value="1" v-model="test2" name="test2" bind-value="expression1">' +
124+ '<input type="radio" value="0" v-model="test2" name="test2" bind-value="expression2">'
125+ } )
126+ expect ( el . childNodes [ 0 ] . checked ) . toBe ( false )
127+ expect ( el . childNodes [ 1 ] . checked ) . toBe ( true )
128+ expect ( el . childNodes [ 2 ] . checked ) . toBe ( true )
129+ expect ( el . childNodes [ 3 ] . checked ) . toBe ( false )
130+ _ . nextTick ( function ( ) {
131+ el . childNodes [ 0 ] . click ( )
132+ expect ( vm . test ) . toBe ( true )
133+ el . childNodes [ 3 ] . click ( )
134+ expect ( vm . test2 ) . toBe ( 'string2' )
135+ done ( )
136+ } )
137+ } )
138+
111139 it ( 'checkbox' , function ( done ) {
112140 var vm = new Vue ( {
113141 el : el ,
@@ -167,6 +195,32 @@ if (_.inBrowser) {
167195 } )
168196 } )
169197
198+ it ( 'checkbox expression (new syntax)' , function ( done ) {
199+ var vm = new Vue ( {
200+ el : el ,
201+ data : {
202+ test : '' ,
203+ expression1 : 'aTrueValue' ,
204+ expression2 : 'aFalseValue'
205+ } ,
206+ template : '<input type="checkbox" v-model="test" bind-true-value="expression1" bind-false-value="expression2">'
207+ } )
208+ expect ( vm . test ) . toBe ( '' )
209+ el . firstChild . click ( )
210+ expect ( vm . test ) . toBe ( 'aTrueValue' )
211+ expect ( el . firstChild . checked ) . toBe ( true )
212+ el . firstChild . click ( )
213+ expect ( vm . test ) . toBe ( 'aFalseValue' )
214+ expect ( el . firstChild . checked ) . toBe ( false )
215+ _ . nextTick ( function ( ) {
216+ vm . test = 'aTrueValue'
217+ _ . nextTick ( function ( ) {
218+ expect ( el . firstChild . checked ) . toBe ( true )
219+ done ( )
220+ } )
221+ } )
222+ } )
223+
170224 it ( 'select' , function ( done ) {
171225 var vm = new Vue ( {
172226 el : el ,
0 commit comments