@@ -43,6 +43,38 @@ test("can update property", function(){
4343 equal ( element . disabled , false , 'disabled property is set' ) ;
4444} ) ;
4545
46+ test ( "input.maxLength" , function ( ) {
47+ var element = domHelper . createElement ( 'input' ) ;
48+ var morph = domHelper . createAttrMorph ( element , 'maxLength' ) ;
49+ // different browsers have different defaults FF: -1, Chrome/Blink: 524288;
50+ var MAX_LENGTH = element . maxLength ;
51+
52+ morph . setContent ( null ) ;
53+ equal ( element . maxLength , MAX_LENGTH , 'property is w/e is default' ) ;
54+
55+ morph . setContent ( 1 ) ;
56+ equal ( element . maxLength , 1 , 'should be 1' ) ;
57+
58+ morph . setContent ( null ) ;
59+ equal ( element . maxLength , 0 , 'property 0, result of element.maxLength = ""' ) ;
60+ } ) ;
61+
62+ test ( "input.maxlength (all lowercase)" , function ( ) {
63+ var element = domHelper . createElement ( 'input' ) ;
64+ var morph = domHelper . createAttrMorph ( element , 'maxlength' ) ;
65+ // different browsers have different defaults FF: -1, Chrome/Blink: 524288;
66+ var DEFAULT_MAX_LENGTH = element . maxLength ;
67+
68+ morph . setContent ( null ) ;
69+ equal ( element . maxLength , DEFAULT_MAX_LENGTH , 'property is w/e is default' ) ;
70+
71+ morph . setContent ( 1 ) ;
72+ equal ( element . maxLength , 1 , 'property is w/e is default' ) ;
73+
74+ morph . setContent ( null ) ;
75+ equal ( element . maxLength , DEFAULT_MAX_LENGTH , 'property is w/e is default' ) ;
76+ } ) ;
77+
4678test ( "does not add undefined properties on initial render" , function ( ) {
4779 var element = domHelper . createElement ( 'div' ) ;
4880 var morph = domHelper . createAttrMorph ( element , 'id' ) ;
0 commit comments