@@ -78,72 +78,62 @@ describe("two-way binding via ng-model", () => {
78
78
assert . strictEqual ( 42 , accessor . view . value ) ;
79
79
80
80
accessor . writeValue ( "blah" ) ;
81
- assert . strictEqual ( 0 , accessor . view . value , "default to 0 on parse errors" ) ;
81
+ assert . notEqual ( accessor . view . value , accessor . view . value , "defaults to NaN on parse errors" ) ;
82
82
} ) ;
83
83
84
84
it ( "converts strings to bools" , ( ) => {
85
85
const accessor = new TestCheckedValueAccessor ( ) ;
86
86
87
87
accessor . writeValue ( null ) ;
88
- assert . strictEqual ( false , accessor . view . checked , "default to false on empty" ) ;
88
+ assert . strictEqual ( null , accessor . view . checked , "default to null on empty" ) ;
89
89
90
90
accessor . writeValue ( "true" ) ;
91
91
assert . strictEqual ( true , accessor . view . checked ) ;
92
92
93
- accessor . writeValue ( "blah" ) ;
94
- assert . strictEqual ( false , accessor . view . checked , "default to false on parse errors" ) ;
93
+ assert . throws ( ( ) => accessor . writeValue ( "blah" ) ) ;
95
94
} ) ;
96
95
97
96
it ( "converts strings to dates" , ( ) => {
98
97
const now = new Date ( ) ;
99
98
const accessor = new TestDateValueAccessor ( ) ;
100
99
101
100
accessor . writeValue ( null ) ;
102
- assert . equal ( formatDate ( now ) , formatDate ( accessor . view . date ) , "default to now on empty" ) ;
101
+ assert . equal ( null , accessor . view . date , "default to null on empty" ) ;
103
102
104
103
accessor . writeValue ( "2010-03-17" ) ;
105
104
assert . equal ( formatDate ( new Date ( 2010 , 2 , 17 ) ) , formatDate ( accessor . view . date ) ) ;
106
-
107
- accessor . writeValue ( "a fortnight ago" ) ;
108
- assert . equal ( formatDate ( now ) , formatDate ( accessor . view . date ) , "default to now on parse error" ) ;
109
105
} ) ;
110
106
111
107
it ( "converts strings to int selection" , ( ) => {
112
108
const accessor = new TestSelectedIndexValueAccessor ( ) ;
113
109
114
110
accessor . writeValue ( null ) ;
115
111
accessor . ngAfterViewInit ( ) ;
116
- assert . strictEqual ( 0 , accessor . view . selectedIndex , "default to 0 on empty" ) ;
112
+ assert . strictEqual ( null , accessor . view . selectedIndex , "default to null on empty" ) ;
117
113
118
114
accessor . writeValue ( "3" ) ;
119
115
accessor . ngAfterViewInit ( ) ;
120
116
assert . strictEqual ( 3 , accessor . view . selectedIndex ) ;
121
117
122
118
accessor . writeValue ( "blah" ) ;
123
119
accessor . ngAfterViewInit ( ) ;
124
- assert . strictEqual ( 0 , accessor . view . selectedIndex , "default to 0 on parse errors" ) ;
120
+ assert . notEqual ( accessor . view . selectedIndex , accessor . view . selectedIndex ,
121
+ "default to NaN on parse errors" ) ;
125
122
} ) ;
126
123
127
124
it ( "converts strings to times" , ( ) => {
128
- const now = new Date ( ) ;
129
125
const accessor = new TestTimeValueAccessor ( ) ;
130
126
131
- accessor . writeValue ( null ) ;
132
- assert . equal ( formatTime ( now ) , formatTime ( accessor . view . time ) , "default to now on empty" ) ;
133
-
134
- accessor . writeValue ( "2010/03/17 12:54" ) ;
135
- assert . equal ( formatTime ( new Date ( 2010 , 2 , 17 , 12 , 54 ) ) , formatTime ( accessor . view . time ) ) ;
136
-
137
- accessor . writeValue ( "three hours from now" ) ;
138
- assert . equal ( formatTime ( now ) , formatTime ( accessor . view . time ) , "default to now on parse error" ) ;
127
+ assert . throws ( ( ) => accessor . writeValue ( null ) ) ;
128
+ assert . throws ( ( ) => accessor . writeValue ( "2010/03/17 12:54" ) ) ;
129
+ assert . throws ( ( ) => accessor . writeValue ( "three hours from now" ) ) ;
139
130
} ) ;
140
131
141
132
it ( "converts values to text" , ( ) => {
142
- const now = new Date ( ) ;
143
133
const accessor = new TestTextValueAccessor ( ) ;
144
134
145
135
accessor . writeValue ( null ) ;
146
- assert . equal ( "" , accessor . view . text ) ;
136
+ assert . equal ( null , accessor . view . text , "defaults to null on empty" ) ;
147
137
148
138
accessor . writeValue ( "blah" ) ;
149
139
assert . equal ( "blah" , accessor . view . text ) ;
0 commit comments