export default { props : { x : false , y : true } , test ( { assert , component , target , raf } ) { component . x = true ; let divs = target . querySelectorAll ( 'div' ) ; assert . equal ( divs [ 0 ] . foo , undefined ) ; assert . equal ( divs [ 1 ] . foo , 0 ) ; raf . tick ( 50 ) ; assert . equal ( divs [ 0 ] . foo , undefined ) ; assert . equal ( divs [ 1 ] . foo , 0.5 ) ; raf . tick ( 100 ) ; component . x = false ; assert . htmlEqual ( target . innerHTML , `
			<div>snaps if x changes</div>
			<div>transitions if x changes</div>
		` ) ; raf . tick ( 150 ) ; assert . equal ( divs [ 0 ] . foo , undefined ) ; assert . equal ( divs [ 1 ] . foo , 0.5 ) ; raf . tick ( 200 ) ; assert . htmlEqual ( target . innerHTML , '' ) ; component . y = false ; component . x = true ; component . y = true ; assert . htmlEqual ( target . innerHTML , `
			<div>snaps if x changes</div>
			<div>transitions if x changes</div>
		` ) ; divs = target . querySelectorAll ( 'div' ) ; raf . tick ( 250 ) ; assert . equal ( divs [ 0 ] . foo , 0.5 ) ; assert . equal ( divs [ 1 ] . foo , 0.5 ) ; raf . tick ( 300 ) ; assert . equal ( divs [ 0 ] . foo , 1 ) ; assert . equal ( divs [ 1 ] . foo , 1 ) ; component . y = false ; assert . htmlEqual ( target . innerHTML , `
			<div>snaps if x changes</div>
			<div>transitions if x changes</div>
		` ) ; raf . tick ( 320 ) ; assert . equal ( divs [ 0 ] . foo , 0.8 ) ; assert . equal ( divs [ 1 ] . foo , 0.8 ) ; raf . tick ( 400 ) ; assert . htmlEqual ( target . innerHTML , '' ) ; } } ;