Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(203)

Side by Side Diff: third_party/pkg/angular/test/directive/ng_model_validators_spec.dart

Issue 180873006: Update the Angular/DI tests to latest from github. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Review feedback Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 library ng_model_validators; 1 library ng_model_validators;
2 2
3 import '../_specs.dart'; 3 import '../_specs.dart';
4 4
5 main() => 5 main() =>
6 describe('ngModel validators', () { 6 describe('ngModel validators', () {
7 TestBed _; 7 TestBed _;
8 8
9 beforeEach(inject((TestBed tb) => _ = tb)); 9 beforeEach(inject((TestBed tb) => _ = tb));
10 10
11 describe('required', () { 11 describe('required', () {
12 it('should validate the input field if the required attribute is set', injec t((Scope scope) { 12 it('should validate the input field if the required attribute is set', injec t((RootScope scope) {
13 _.compile('<input type="text" ng-model="val" probe="i" required="true" />' ); 13 _.compile('<input type="text" ng-model="val" probe="i" required />');
14 Probe probe = _.rootScope.i; 14 Probe probe = _.rootScope.context['i'];
15 var model = probe.directive(NgModel); 15 var model = probe.directive(NgModel);
16 16
17 model.validate(); 17 model.validate();
18 expect(model.valid).toEqual(false); 18 expect(model.valid).toEqual(false);
19 expect(model.invalid).toEqual(true); 19 expect(model.invalid).toEqual(true);
20 20
21 _.rootScope.val = 'value'; 21 _.rootScope.context['val'] = 'value';
22 model.validate(); 22 model.validate();
23 23
24 expect(model.valid).toEqual(true); 24 expect(model.valid).toEqual(true);
25 expect(model.invalid).toEqual(false); 25 expect(model.invalid).toEqual(false);
26 })); 26 }));
27 27
28 it('should validate the input field depending on if ng-required is true', in ject((Scope scope) { 28
29 it('should validate a number input field if the required attribute is set', inject((RootScope scope) {
30 _.compile('<input type="number" ng-model="val" probe="i" required="true" / >');
31 Probe probe = _.rootScope.context['i'];
32 var model = probe.directive(NgModel);
33
34 model.validate();
35 expect(model.valid).toEqual(false);
36 expect(model.invalid).toEqual(true);
37
38 _.rootScope.context['val'] = 5;
39 model.validate();
40
41 expect(model.valid).toEqual(true);
42 expect(model.invalid).toEqual(false);
43 }));
44
45
46 it('should validate the input field depending on if ng-required is true', in ject((RootScope scope) {
29 _.compile('<input type="text" ng-model="val" probe="i" ng-required="requir eMe" />'); 47 _.compile('<input type="text" ng-model="val" probe="i" ng-required="requir eMe" />');
30 Probe probe = _.rootScope.i; 48 Probe probe = _.rootScope.context['i'];
31 var model = probe.directive(NgModel); 49 var model = probe.directive(NgModel);
32 50
51 _.rootScope.apply();
52
33 model.validate(); 53 model.validate();
34 expect(model.valid).toEqual(true); 54 expect(model.valid).toEqual(true);
35 expect(model.invalid).toEqual(false); 55 expect(model.invalid).toEqual(false);
36 56
37 _.rootScope.$apply(() { 57 _.rootScope.apply(() {
38 _.rootScope['requireMe'] = true; 58 _.rootScope.context['requireMe'] = true;
39 }); 59 });
40 60
41 model.validate(); 61 model.validate();
42 expect(model.valid).toEqual(false); 62 expect(model.valid).toEqual(false);
43 expect(model.invalid).toEqual(true); 63 expect(model.invalid).toEqual(true);
44 64
45 _.rootScope.$apply(() { 65 _.rootScope.apply(() {
46 _.rootScope['requireMe'] = false; 66 _.rootScope.context['requireMe'] = false;
47 }); 67 });
48 68
49 model.validate(); 69 model.validate();
50 expect(model.valid).toEqual(true); 70 expect(model.valid).toEqual(true);
51 expect(model.invalid).toEqual(false); 71 expect(model.invalid).toEqual(false);
52 })); 72 }));
53 }); 73 });
54 74
55 describe('[type="url"]', () { 75 describe('[type="url"]', () {
56 it('should validate the input field given a valid or invalid URL', inject((S cope scope) { 76 it('should validate the input field given a valid or invalid URL', inject((R ootScope scope) {
57 _.compile('<input type="url" ng-model="val" probe="i" />'); 77 _.compile('<input type="url" ng-model="val" probe="i" />');
58 Probe probe = _.rootScope.i; 78 Probe probe = _.rootScope.context['i'];
59 var model = probe.directive(NgModel); 79 var model = probe.directive(NgModel);
60 80
61 model.validate(); 81 model.validate();
62 expect(model.valid).toEqual(true); 82 expect(model.valid).toEqual(true);
63 expect(model.invalid).toEqual(false); 83 expect(model.invalid).toEqual(false);
64 84
65 _.rootScope.$apply(() { 85 _.rootScope.apply(() {
66 _.rootScope['val'] = 'googledotcom'; 86 _.rootScope.context['val'] = 'googledotcom';
67 }); 87 });
68 88
69 model.validate(); 89 model.validate();
70 expect(model.valid).toEqual(false); 90 expect(model.valid).toEqual(false);
71 expect(model.invalid).toEqual(true); 91 expect(model.invalid).toEqual(true);
72 92
73 _.rootScope.$apply(() { 93 _.rootScope.apply(() {
74 _.rootScope['val'] = 'http://www.google.com'; 94 _.rootScope.context['val'] = 'http://www.google.com';
75 }); 95 });
76 96
77 model.validate(); 97 model.validate();
78 expect(model.valid).toEqual(true); 98 expect(model.valid).toEqual(true);
79 expect(model.invalid).toEqual(false); 99 expect(model.invalid).toEqual(false);
80 })); 100 }));
81 }); 101 });
82 102
83 describe('[type="email"]', () { 103 describe('[type="email"]', () {
84 it('should validate the input field given a valid or invalid email address', inject((Scope scope) { 104 it('should validate the input field given a valid or invalid email address', inject((RootScope scope) {
85 _.compile('<input type="email" ng-model="val" probe="i" />'); 105 _.compile('<input type="email" ng-model="val" probe="i" />');
86 Probe probe = _.rootScope.i; 106 Probe probe = _.rootScope.context['i'];
87 var model = probe.directive(NgModel); 107 var model = probe.directive(NgModel);
88 108
89 model.validate(); 109 model.validate();
90 expect(model.valid).toEqual(true); 110 expect(model.valid).toEqual(true);
91 expect(model.invalid).toEqual(false); 111 expect(model.invalid).toEqual(false);
92 112
93 _.rootScope.$apply(() { 113 _.rootScope.apply(() {
94 _.rootScope['val'] = 'matiasatemail.com'; 114 _.rootScope.context['val'] = 'matiasatemail.com';
95 }); 115 });
96 116
97 model.validate(); 117 model.validate();
98 expect(model.valid).toEqual(false); 118 expect(model.valid).toEqual(false);
99 expect(model.invalid).toEqual(true); 119 expect(model.invalid).toEqual(true);
100 120
101 _.rootScope.$apply(() { 121 _.rootScope.apply(() {
102 _.rootScope['val'] = 'matias@gmail.com'; 122 _.rootScope.context['val'] = 'matias@gmail.com';
103 }); 123 });
104 124
105 model.validate(); 125 model.validate();
106 expect(model.valid).toEqual(true); 126 expect(model.valid).toEqual(true);
107 expect(model.invalid).toEqual(false); 127 expect(model.invalid).toEqual(false);
108 })); 128 }));
109 }); 129 });
110 130
111 describe('[type="number"]', () { 131 describe('[type="number"]', () {
112 it('should validate the input field given a valid or invalid number', inject ((Scope scope) { 132 it('should validate the input field given a valid or invalid number', inject ((RootScope scope) {
113 _.compile('<input type="number" ng-model="val" probe="i" />'); 133 _.compile('<input type="number" ng-model="val" probe="i" />');
114 Probe probe = _.rootScope.i; 134 Probe probe = _.rootScope.context['i'];
115 var model = probe.directive(NgModel); 135 var model = probe.directive(NgModel);
116 136
117 model.validate(); 137 model.validate();
118 expect(model.valid).toEqual(true); 138 expect(model.valid).toEqual(true);
119 expect(model.invalid).toEqual(false); 139 expect(model.invalid).toEqual(false);
120 140
121 _.rootScope.$apply(() { 141 _.rootScope.apply(() {
122 _.rootScope['val'] = '11'; 142 _.rootScope.context['val'] = '11';
123 }); 143 });
124 144
125 model.validate(); 145 model.validate();
126 expect(model.valid).toEqual(true); 146 expect(model.valid).toEqual(true);
127 expect(model.invalid).toEqual(false); 147 expect(model.invalid).toEqual(false);
128 148
129 149
130 _.rootScope.$apply(() { 150 _.rootScope.apply(() {
131 _.rootScope['val'] = 10; 151 _.rootScope.context['val'] = 10;
132 }); 152 });
133 153
134 model.validate(); 154 model.validate();
135 expect(model.valid).toEqual(true); 155 expect(model.valid).toEqual(true);
136 expect(model.invalid).toEqual(false); 156 expect(model.invalid).toEqual(false);
137 157
138 _.rootScope.$apply(() { 158 _.rootScope.apply(() {
139 _.rootScope['val'] = 'twelve'; 159 _.rootScope.context['val'] = 'twelve';
140 }); 160 });
141 161
142 model.validate(); 162 model.validate();
143 expect(model.valid).toEqual(false); 163 expect(model.valid).toEqual(false);
144 expect(model.invalid).toEqual(true); 164 expect(model.invalid).toEqual(true);
145 })); 165 }));
146 }); 166 });
147 167
148 describe('pattern', () { 168 describe('pattern', () {
149 it('should validate the input field if a ng-pattern attribute is provided', inject((Scope scope) { 169 it('should validate the input field if a ng-pattern attribute is provided', inject((RootScope scope) {
150 _.compile('<input type="text" ng-pattern="myPattern" ng-model="val" probe= "i" />'); 170 _.compile('<input type="text" ng-pattern="myPattern" ng-model="val" probe= "i" />');
151 Probe probe = _.rootScope.i; 171 Probe probe = _.rootScope.context['i'];
152 var model = probe.directive(NgModel); 172 var model = probe.directive(NgModel);
153 173
154 model.validate(); 174 model.validate();
155 expect(model.valid).toEqual(true); 175 expect(model.valid).toEqual(true);
156 expect(model.invalid).toEqual(false); 176 expect(model.invalid).toEqual(false);
157 177
158 _.rootScope.$apply(() { 178 _.rootScope.apply(() {
159 _.rootScope['val'] = "abc"; 179 _.rootScope.context['val'] = "abc";
160 _.rootScope['myPattern'] = "[a-z]+"; 180 _.rootScope.context['myPattern'] = "[a-z]+";
161 }); 181 });
162 182
163 model.validate(); 183 model.validate();
164 expect(model.valid).toEqual(true); 184 expect(model.valid).toEqual(true);
165 expect(model.invalid).toEqual(false); 185 expect(model.invalid).toEqual(false);
166 186
167 _.rootScope.$apply(() { 187 _.rootScope.apply(() {
168 _.rootScope['val'] = "abc"; 188 _.rootScope.context['val'] = "abc";
169 _.rootScope['myPattern'] = "[0-9]+"; 189 _.rootScope.context['myPattern'] = "[0-9]+";
170 }); 190 });
171 191
172 model.validate(); 192 model.validate();
173 expect(model.valid).toEqual(false); 193 expect(model.valid).toEqual(false);
174 expect(model.invalid).toEqual(true); 194 expect(model.invalid).toEqual(true);
175 195
176 _.rootScope.$apply(() { 196 _.rootScope.apply(() {
177 _.rootScope['val'] = "123"; 197 _.rootScope.context['val'] = "123";
178 _.rootScope['myPattern'] = "123"; 198 _.rootScope.context['myPattern'] = "123";
179 }); 199 });
180 200
181 model.validate(); 201 model.validate();
182 expect(model.valid).toEqual(true); 202 expect(model.valid).toEqual(true);
183 expect(model.invalid).toEqual(false); 203 expect(model.invalid).toEqual(false);
184 })); 204 }));
185 205
186 it('should validate the input field if a pattern attribute is provided', inj ect((Scope scope) { 206 it('should validate the input field if a pattern attribute is provided', inj ect((RootScope scope) {
187 _.compile('<input type="text" pattern="[0-5]+" ng-model="val" probe="i" /> '); 207 _.compile('<input type="text" pattern="[0-5]+" ng-model="val" probe="i" /> ');
188 Probe probe = _.rootScope.i; 208 Probe probe = _.rootScope.context['i'];
189 var model = probe.directive(NgModel); 209 var model = probe.directive(NgModel);
190 210
191 model.validate(); 211 model.validate();
192 expect(model.valid).toEqual(true); 212 expect(model.valid).toEqual(true);
193 expect(model.invalid).toEqual(false); 213 expect(model.invalid).toEqual(false);
194 214
195 _.rootScope.$apply(() { 215 _.rootScope.apply(() {
196 _.rootScope['val'] = "abc"; 216 _.rootScope.context['val'] = "abc";
197 }); 217 });
198 218
199 model.validate(); 219 model.validate();
200 expect(model.valid).toEqual(false); 220 expect(model.valid).toEqual(false);
201 expect(model.invalid).toEqual(true); 221 expect(model.invalid).toEqual(true);
202 222
203 _.rootScope.$apply(() { 223 _.rootScope.apply(() {
204 _.rootScope['val'] = "012345"; 224 _.rootScope.context['val'] = "012345";
205 }); 225 });
206 226
207 model.validate(); 227 model.validate();
208 expect(model.valid).toEqual(true); 228 expect(model.valid).toEqual(true);
209 expect(model.invalid).toEqual(false); 229 expect(model.invalid).toEqual(false);
210 230
211 _.rootScope.$apply(() { 231 _.rootScope.apply(() {
212 _.rootScope['val'] = "6789"; 232 _.rootScope.context['val'] = "6789";
213 }); 233 });
214 234
215 model.validate(); 235 model.validate();
216 expect(model.valid).toEqual(false); 236 expect(model.valid).toEqual(false);
217 expect(model.invalid).toEqual(true); 237 expect(model.invalid).toEqual(true);
218 })); 238 }));
219 }); 239 });
220 240
221 describe('minlength', () { 241 describe('minlength', () {
222 it('should validate the input field if a minlength attribute is provided', i nject((Scope scope) { 242 it('should validate the input field if a minlength attribute is provided', i nject((RootScope scope) {
223 _.compile('<input type="text" minlength="5" ng-model="val" probe="i" />'); 243 _.compile('<input type="text" minlength="5" ng-model="val" probe="i" />');
224 Probe probe = _.rootScope.i; 244 Probe probe = _.rootScope.context['i'];
225 var model = probe.directive(NgModel); 245 var model = probe.directive(NgModel);
226 246
227 model.validate(); 247 model.validate();
228 expect(model.valid).toEqual(true); 248 expect(model.valid).toEqual(true);
229 expect(model.invalid).toEqual(false); 249 expect(model.invalid).toEqual(false);
230 250
231 _.rootScope.$apply(() { 251 _.rootScope.apply(() {
232 _.rootScope['val'] = "abc"; 252 _.rootScope.context['val'] = "abc";
233 }); 253 });
234 254
235 model.validate(); 255 model.validate();
236 expect(model.valid).toEqual(false); 256 expect(model.valid).toEqual(false);
237 expect(model.invalid).toEqual(true); 257 expect(model.invalid).toEqual(true);
238 258
239 _.rootScope.$apply(() { 259 _.rootScope.apply(() {
240 _.rootScope['val'] = "abcdef"; 260 _.rootScope.context['val'] = "abcdef";
241 }); 261 });
242 262
243 model.validate(); 263 model.validate();
244 expect(model.valid).toEqual(true); 264 expect(model.valid).toEqual(true);
245 expect(model.invalid).toEqual(false); 265 expect(model.invalid).toEqual(false);
246 })); 266 }));
247 267
248 it('should validate the input field if a ng-minlength attribute is provided' , inject((Scope scope) { 268 it('should validate the input field if a ng-minlength attribute is provided' , inject((RootScope scope) {
249 _.compile('<input type="text" ng-minlength="len" ng-model="val" probe="i" />'); 269 _.compile('<input type="text" ng-minlength="len" ng-model="val" probe="i" />');
250 Probe probe = _.rootScope.i; 270 Probe probe = _.rootScope.context['i'];
251 var model = probe.directive(NgModel); 271 var model = probe.directive(NgModel);
252 272
253 model.validate(); 273 model.validate();
254 expect(model.valid).toEqual(true); 274 expect(model.valid).toEqual(true);
255 expect(model.invalid).toEqual(false); 275 expect(model.invalid).toEqual(false);
256 276
257 _.rootScope.$apply(() { 277 _.rootScope.apply(() {
258 _.rootScope['val'] = "abcdef"; 278 _.rootScope.context['val'] = "abcdef";
259 _.rootScope['len'] = 3; 279 _.rootScope.context['len'] = 3;
260 }); 280 });
261 281
262 model.validate(); 282 model.validate();
263 expect(model.valid).toEqual(true); 283 expect(model.valid).toEqual(true);
264 expect(model.invalid).toEqual(false); 284 expect(model.invalid).toEqual(false);
265 285
266 _.rootScope.$apply(() { 286 _.rootScope.apply(() {
267 _.rootScope['val'] = "abc"; 287 _.rootScope.context['val'] = "abc";
268 _.rootScope['len'] = 5; 288 _.rootScope.context['len'] = 5;
269 }); 289 });
270 290
271 model.validate(); 291 model.validate();
272 expect(model.valid).toEqual(false); 292 expect(model.valid).toEqual(false);
273 expect(model.invalid).toEqual(true); 293 expect(model.invalid).toEqual(true);
274 })); 294 }));
275 }); 295 });
276 296
277 describe('maxlength', () { 297 describe('maxlength', () {
278 it('should validate the input field if a maxlength attribute is provided', i nject((Scope scope) { 298 it('should validate the input field if a maxlength attribute is provided', i nject((RootScope scope) {
279 _.compile('<input type="text" maxlength="5" ng-model="val" probe="i" />'); 299 _.compile('<input type="text" maxlength="5" ng-model="val" probe="i" />');
280 Probe probe = _.rootScope.i; 300 Probe probe = _.rootScope.context['i'];
281 var model = probe.directive(NgModel); 301 var model = probe.directive(NgModel);
282 302
283 model.validate(); 303 model.validate();
284 expect(model.valid).toEqual(true); 304 expect(model.valid).toEqual(true);
285 expect(model.invalid).toEqual(false); 305 expect(model.invalid).toEqual(false);
286 306
287 _.rootScope.$apply(() { 307 _.rootScope.apply(() {
288 _.rootScope['val'] = "abcdef"; 308 _.rootScope.context['val'] = "abcdef";
289 }); 309 });
290 310
291 model.validate(); 311 model.validate();
292 expect(model.valid).toEqual(false); 312 expect(model.valid).toEqual(false);
293 expect(model.invalid).toEqual(true); 313 expect(model.invalid).toEqual(true);
294 314
295 _.rootScope.$apply(() { 315 _.rootScope.apply(() {
296 _.rootScope['val'] = "abc"; 316 _.rootScope.context['val'] = "abc";
297 }); 317 });
298 318
299 model.validate(); 319 model.validate();
300 expect(model.valid).toEqual(true); 320 expect(model.valid).toEqual(true);
301 expect(model.invalid).toEqual(false); 321 expect(model.invalid).toEqual(false);
302 })); 322 }));
303 323
304 it('should validate the input field if a ng-maxlength attribute is provided' , inject((Scope scope) { 324 it('should validate the input field if a ng-maxlength attribute is provided' , inject((RootScope scope) {
305 _.compile('<input type="text" ng-maxlength="len" ng-model="val" probe="i" />'); 325 _.compile('<input type="text" ng-maxlength="len" ng-model="val" probe="i" />');
306 Probe probe = _.rootScope.i; 326 Probe probe = _.rootScope.context['i'];
307 var model = probe.directive(NgModel); 327 var model = probe.directive(NgModel);
308 328
309 model.validate(); 329 model.validate();
310 expect(model.valid).toEqual(true); 330 expect(model.valid).toEqual(true);
311 expect(model.invalid).toEqual(false); 331 expect(model.invalid).toEqual(false);
312 332
313 _.rootScope.$apply(() { 333 _.rootScope.apply(() {
314 _.rootScope['val'] = "abcdef"; 334 _.rootScope.context['val'] = "abcdef";
315 _.rootScope['len'] = 6; 335 _.rootScope.context['len'] = 6;
316 }); 336 });
317 337
318 model.validate(); 338 model.validate();
319 expect(model.valid).toEqual(true); 339 expect(model.valid).toEqual(true);
320 expect(model.invalid).toEqual(false); 340 expect(model.invalid).toEqual(false);
321 341
322 _.rootScope.$apply(() { 342 _.rootScope.apply(() {
323 _.rootScope['val'] = "abc"; 343 _.rootScope.context['val'] = "abc";
324 _.rootScope['len'] = 1; 344 _.rootScope.context['len'] = 1;
325 }); 345 });
326 346
327 model.validate(); 347 model.validate();
328 expect(model.valid).toEqual(false); 348 expect(model.valid).toEqual(false);
329 expect(model.invalid).toEqual(true); 349 expect(model.invalid).toEqual(true);
330 })); 350 }));
331 }); 351 });
332 }); 352 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698