@@ -679,6 +679,84 @@ describe('InputNumber', () => {
679679      inputElement  =  ReactDOM . findDOMNode ( inputNumber . input ) ; 
680680      expect ( inputNumber . state . value ) . to . be ( - 3.637978807091713e-12 ) ; 
681681    } ) ; 
682+ 
683+     it ( 'value can be changed when dynamic setting max' ,  ( )  =>  { 
684+       const  Demo  =  createReactClass ( { 
685+         getInitialState ( )  { 
686+           return  { 
687+             max : 10 , 
688+             value : 11 , 
689+           } ; 
690+         } , 
691+         onChange ( value )  { 
692+           this . setState ( {  value } ) ; 
693+         } , 
694+         changeMax ( )  { 
695+           this . setState ( { 
696+             value : 11 , 
697+             max : 20 , 
698+           } ) ; 
699+         } , 
700+         render ( )  { 
701+           return  ( 
702+             < div > 
703+               < InputNumber 
704+                 ref = "inputNum" 
705+                 max = { this . state . max } 
706+                 onChange = { this . onChange } 
707+                 value = { this . state . value } 
708+               /> 
709+               < button  onClick = { this . changeMax } > change max</ button > 
710+             </ div > 
711+           ) ; 
712+         } , 
713+       } ) ; 
714+       example  =  ReactDOM . render ( < Demo  /> ,  container ) ; 
715+       inputNumber  =  example . refs . inputNum ; 
716+       inputElement  =  ReactDOM . findDOMNode ( inputNumber . input ) ; 
717+       expect ( inputNumber . state . value ) . to . be ( 10 ) ; 
718+       Simulate . click ( findRenderedDOMComponentWithTag ( example ,  'button' ) ) ; 
719+       expect ( inputNumber . state . value ) . to . be ( 11 ) ; 
720+     } ) ; 
721+ 
722+     it ( 'value can be changed when dynamic setting min' ,  ( )  =>  { 
723+       const  Demo  =  createReactClass ( { 
724+         getInitialState ( )  { 
725+           return  { 
726+             min : 10 , 
727+             value : 9 , 
728+           } ; 
729+         } , 
730+         onChange ( value )  { 
731+           this . setState ( {  value } ) ; 
732+         } , 
733+         changeMax ( )  { 
734+           this . setState ( { 
735+             value : 9 , 
736+             min : 0 , 
737+           } ) ; 
738+         } , 
739+         render ( )  { 
740+           return  ( 
741+             < div > 
742+               < InputNumber 
743+                 ref = "inputNum" 
744+                 min = { this . state . min } 
745+                 onChange = { this . onChange } 
746+                 value = { this . state . value } 
747+               /> 
748+               < button  onClick = { this . changeMax } > change min</ button > 
749+             </ div > 
750+           ) ; 
751+         } , 
752+       } ) ; 
753+       example  =  ReactDOM . render ( < Demo  /> ,  container ) ; 
754+       inputNumber  =  example . refs . inputNum ; 
755+       inputElement  =  ReactDOM . findDOMNode ( inputNumber . input ) ; 
756+       expect ( inputNumber . state . value ) . to . be ( 10 ) ; 
757+       Simulate . click ( findRenderedDOMComponentWithTag ( example ,  'button' ) ) ; 
758+       expect ( inputNumber . state . value ) . to . be ( 9 ) ; 
759+     } ) ; 
682760  } ) ; 
683761
684762  describe ( 'decimal' ,  ( )  =>  { 
0 commit comments