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

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

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

Powered by Google App Engine
This is Rietveld 408576698