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

Side by Side Diff: test/codegen_expected/matcher/matcher.js

Issue 2234343003: fix #620, infer the input files from sources (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: fix Created 4 years, 4 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
OLDNEW
(Empty)
1 dart_library.library('matcher', null, /* Imports */[
2 'dart_sdk'
3 ], function load__matcher(exports, dart_sdk) {
4 'use strict';
5 const core = dart_sdk.core;
6 const mirrors = dart_sdk.mirrors;
7 const _interceptors = dart_sdk._interceptors;
8 const dart = dart_sdk.dart;
9 const dartx = dart_sdk.dartx;
10 const matcher = Object.create(null);
11 const mirror_matchers = Object.create(null);
12 const src__core_matchers = Object.create(null);
13 const src__description = Object.create(null);
14 const src__error_matchers = Object.create(null);
15 const src__interfaces = Object.create(null);
16 const src__iterable_matchers = Object.create(null);
17 const src__map_matchers = Object.create(null);
18 const src__numeric_matchers = Object.create(null);
19 const src__operator_matchers = Object.create(null);
20 const src__pretty_print = Object.create(null);
21 const src__string_matchers = Object.create(null);
22 const src__util = Object.create(null);
23 let dynamicTobool = () => (dynamicTobool = dart.constFn(dart.functionType(core .bool, [dart.dynamic])))();
24 let isInstanceOf = () => (isInstanceOf = dart.constFn(src__core_matchers.isIns tanceOf$()))();
25 let dynamicAnddynamicTobool = () => (dynamicAnddynamicTobool = dart.constFn(da rt.functionType(core.bool, [dart.dynamic, dart.dynamic])))();
26 let ListOfString = () => (ListOfString = dart.constFn(core.List$(core.String)) )();
27 let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSAr ray$(core.String)))();
28 let ListOfbool = () => (ListOfbool = dart.constFn(core.List$(core.bool)))();
29 let ListOfMatcher = () => (ListOfMatcher = dart.constFn(core.List$(src__interf aces.Matcher)))();
30 let dynamicToMatcher = () => (dynamicToMatcher = dart.constFn(dart.definiteFun ctionType(src__interfaces.Matcher, [dart.dynamic])))();
31 let dynamic__ToMatcher = () => (dynamic__ToMatcher = dart.constFn(dart.definit eFunctionType(src__interfaces.Matcher, [dart.dynamic], [core.int])))();
32 let Fn__ToMatcher = () => (Fn__ToMatcher = dart.constFn(dart.definiteFunctionT ype(src__interfaces.Matcher, [dynamicTobool()], [core.String])))();
33 let IterableAndFnAndStringToMatcher = () => (IterableAndFnAndStringToMatcher = dart.constFn(dart.definiteFunctionType(src__interfaces.Matcher, [core.Iterable, dynamicAnddynamicTobool(), core.String])))();
34 let IterableToMatcher = () => (IterableToMatcher = dart.constFn(dart.definiteF unctionType(src__interfaces.Matcher, [core.Iterable])))();
35 let dynamicAnddynamicToMatcher = () => (dynamicAnddynamicToMatcher = dart.cons tFn(dart.definiteFunctionType(src__interfaces.Matcher, [dart.dynamic, dart.dynam ic])))();
36 let numAndnumToMatcher = () => (numAndnumToMatcher = dart.constFn(dart.definit eFunctionType(src__interfaces.Matcher, [core.num, core.num])))();
37 let dynamic__ToMatcher$ = () => (dynamic__ToMatcher$ = dart.constFn(dart.defin iteFunctionType(src__interfaces.Matcher, [dart.dynamic], [dart.dynamic, dart.dyn amic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])))();
38 let StringToMatcher = () => (StringToMatcher = dart.constFn(dart.definiteFunct ionType(src__interfaces.Matcher, [core.String])))();
39 let StringToString = () => (StringToString = dart.constFn(dart.definiteFunctio nType(core.String, [core.String])))();
40 let ListOfStringToMatcher = () => (ListOfStringToMatcher = dart.constFn(dart.d efiniteFunctionType(src__interfaces.Matcher, [ListOfString()])))();
41 let MapAndMapTovoid = () => (MapAndMapTovoid = dart.constFn(dart.definiteFunct ionType(dart.void, [core.Map, core.Map])))();
42 let MatchToString = () => (MatchToString = dart.constFn(dart.definiteFunctionT ype(core.String, [core.Match])))();
43 let String__ToMatcher = () => (String__ToMatcher = dart.constFn(dart.definiteF unctionType(src__interfaces.Matcher, [core.String], [dart.dynamic])))();
44 let dynamicTobool$ = () => (dynamicTobool$ = dart.constFn(dart.definiteFunctio nType(core.bool, [dart.dynamic])))();
45 let dynamicAnddynamicAnddynamic__ToListOfMatcher = () => (dynamicAnddynamicAnd dynamic__ToListOfMatcher = dart.constFn(dart.definiteFunctionType(ListOfMatcher( ), [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.d ynamic, dart.dynamic])))();
46 let dynamicToString = () => (dynamicToString = dart.constFn(dart.definiteFunct ionType(core.String, [dart.dynamic])))();
47 let dynamicAndintAndSet__ToString = () => (dynamicAndintAndSet__ToString = dar t.constFn(dart.definiteFunctionType(core.String, [dart.dynamic, core.int, core.S et, core.bool])))();
48 let dynamic__ToString = () => (dynamic__ToString = dart.constFn(dart.definiteF unctionType(core.String, [dart.dynamic], {maxLineLength: core.int, maxItems: cor e.int})))();
49 let intToString = () => (intToString = dart.constFn(dart.definiteFunctionType( core.String, [core.int])))();
50 let StringTobool = () => (StringTobool = dart.constFn(dart.definiteFunctionTyp e(core.bool, [core.String])))();
51 src__interfaces.Matcher = class Matcher extends core.Object {
52 new() {
53 }
54 describeMismatch(item, mismatchDescription, matchState, verbose) {
55 return mismatchDescription;
56 }
57 };
58 dart.setSignature(src__interfaces.Matcher, {
59 constructors: () => ({new: dart.definiteFunctionType(src__interfaces.Matcher , [])}),
60 methods: () => ({describeMismatch: dart.definiteFunctionType(src__interfaces .Description, [dart.dynamic, src__interfaces.Description, core.Map, core.bool])} )
61 });
62 src__core_matchers._IsTrue = class _IsTrue extends src__interfaces.Matcher {
63 new() {
64 super.new();
65 }
66 matches(item, matchState) {
67 return dart.equals(item, true);
68 }
69 describe(description) {
70 return description.add('true');
71 }
72 };
73 dart.setSignature(src__core_matchers._IsTrue, {
74 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._IsT rue, [])}),
75 methods: () => ({
76 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
77 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
78 })
79 });
80 src__core_matchers.isTrue = dart.const(new src__core_matchers._IsTrue());
81 matcher.isTrue = src__core_matchers.isTrue;
82 src__core_matchers._IsFalse = class _IsFalse extends src__interfaces.Matcher {
83 new() {
84 super.new();
85 }
86 matches(item, matchState) {
87 return dart.equals(item, false);
88 }
89 describe(description) {
90 return description.add('false');
91 }
92 };
93 dart.setSignature(src__core_matchers._IsFalse, {
94 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._IsF alse, [])}),
95 methods: () => ({
96 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
97 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
98 })
99 });
100 src__core_matchers.isFalse = dart.const(new src__core_matchers._IsFalse());
101 matcher.isFalse = src__core_matchers.isFalse;
102 src__core_matchers._Empty = class _Empty extends src__interfaces.Matcher {
103 new() {
104 super.new();
105 }
106 matches(item, matchState) {
107 return core.bool._check(dart.dload(item, 'isEmpty'));
108 }
109 describe(description) {
110 return description.add('empty');
111 }
112 };
113 dart.setSignature(src__core_matchers._Empty, {
114 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._Emp ty, [])}),
115 methods: () => ({
116 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
117 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
118 })
119 });
120 src__core_matchers.isEmpty = dart.const(new src__core_matchers._Empty());
121 matcher.isEmpty = src__core_matchers.isEmpty;
122 src__core_matchers.same = function(expected) {
123 return new src__core_matchers._IsSameAs(expected);
124 };
125 dart.fn(src__core_matchers.same, dynamicToMatcher());
126 matcher.same = src__core_matchers.same;
127 src__core_matchers.equals = function(expected, limit) {
128 if (limit === void 0) limit = 100;
129 return typeof expected == 'string' ? new src__core_matchers._StringEqualsMat cher(expected) : new src__core_matchers._DeepMatcher(expected, limit);
130 };
131 dart.fn(src__core_matchers.equals, dynamic__ToMatcher());
132 matcher.equals = src__core_matchers.equals;
133 const _featureDescription = Symbol('_featureDescription');
134 const _featureName = Symbol('_featureName');
135 const _matcher = Symbol('_matcher');
136 src__core_matchers.CustomMatcher = class CustomMatcher extends src__interfaces .Matcher {
137 new(featureDescription, featureName, matcher) {
138 this[_featureDescription] = featureDescription;
139 this[_featureName] = featureName;
140 this[_matcher] = src__util.wrapMatcher(matcher);
141 super.new();
142 }
143 featureValueOf(actual) {
144 return actual;
145 }
146 matches(item, matchState) {
147 let f = this.featureValueOf(item);
148 if (dart.test(this[_matcher].matches(f, matchState))) return true;
149 src__util.addStateInfo(matchState, dart.map({feature: f}, core.String, dar t.dynamic));
150 return false;
151 }
152 describe(description) {
153 return description.add(this[_featureDescription]).add(' ').addDescriptionO f(this[_matcher]);
154 }
155 describeMismatch(item, mismatchDescription, matchState, verbose) {
156 mismatchDescription.add('has ').add(this[_featureName]).add(' with value ' ).addDescriptionOf(matchState[dartx.get]('feature'));
157 let innerDescription = new src__description.StringDescription();
158 this[_matcher].describeMismatch(matchState[dartx.get]('feature'), innerDes cription, core.Map._check(matchState[dartx.get]('state')), verbose);
159 if (dart.notNull(innerDescription.length) > 0) {
160 mismatchDescription.add(' which ').add(innerDescription.toString());
161 }
162 return mismatchDescription;
163 }
164 };
165 dart.setSignature(src__core_matchers.CustomMatcher, {
166 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers.Cust omMatcher, [core.String, core.String, dart.dynamic])}),
167 methods: () => ({
168 featureValueOf: dart.definiteFunctionType(dart.dynamic, [dart.dynamic]),
169 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
170 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
171 })
172 });
173 matcher.CustomMatcher = src__core_matchers.CustomMatcher;
174 const _name = Symbol('_name');
175 src__core_matchers.TypeMatcher = class TypeMatcher extends src__interfaces.Mat cher {
176 new(name) {
177 this[_name] = name;
178 super.new();
179 }
180 describe(description) {
181 return description.add(this[_name]);
182 }
183 };
184 dart.setSignature(src__core_matchers.TypeMatcher, {
185 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers.Type Matcher, [core.String])}),
186 methods: () => ({describe: dart.definiteFunctionType(src__interfaces.Descrip tion, [src__interfaces.Description])})
187 });
188 src__core_matchers._IsList = class _IsList extends src__core_matchers.TypeMatc her {
189 new() {
190 super.new("List");
191 }
192 matches(item, matchState) {
193 return core.List.is(item);
194 }
195 };
196 dart.setSignature(src__core_matchers._IsList, {
197 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._IsL ist, [])}),
198 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
199 });
200 src__core_matchers.isList = dart.const(new src__core_matchers._IsList());
201 matcher.isList = src__core_matchers.isList;
202 src__core_matchers.predicate = function(f, description) {
203 if (description === void 0) description = 'satisfies function';
204 return new src__core_matchers._Predicate(f, description);
205 };
206 dart.fn(src__core_matchers.predicate, Fn__ToMatcher());
207 matcher.predicate = src__core_matchers.predicate;
208 src__core_matchers._IsNotNull = class _IsNotNull extends src__interfaces.Match er {
209 new() {
210 super.new();
211 }
212 matches(item, matchState) {
213 return item != null;
214 }
215 describe(description) {
216 return description.add('not null');
217 }
218 };
219 dart.setSignature(src__core_matchers._IsNotNull, {
220 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._IsN otNull, [])}),
221 methods: () => ({
222 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
223 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
224 })
225 });
226 src__core_matchers.isNotNull = dart.const(new src__core_matchers._IsNotNull()) ;
227 matcher.isNotNull = src__core_matchers.isNotNull;
228 src__core_matchers.hasLength = function(matcher) {
229 return new src__core_matchers._HasLength(src__util.wrapMatcher(matcher));
230 };
231 dart.fn(src__core_matchers.hasLength, dynamicToMatcher());
232 matcher.hasLength = src__core_matchers.hasLength;
233 src__core_matchers.isInstanceOf$ = dart.generic(T => {
234 class isInstanceOf extends src__interfaces.Matcher {
235 new() {
236 super.new();
237 }
238 matches(obj, matchState) {
239 return T.is(obj);
240 }
241 describe(description) {
242 return description.add(dart.str`an instance of ${dart.wrapType(T)}`);
243 }
244 }
245 dart.addTypeTests(isInstanceOf);
246 dart.setSignature(isInstanceOf, {
247 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers.is InstanceOf$(T), [])}),
248 methods: () => ({
249 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
250 describe: dart.definiteFunctionType(src__interfaces.Description, [src__i nterfaces.Description])
251 })
252 });
253 return isInstanceOf;
254 });
255 src__core_matchers.isInstanceOf = isInstanceOf();
256 matcher.isInstanceOf$ = src__core_matchers.isInstanceOf$;
257 matcher.isInstanceOf = src__core_matchers.isInstanceOf;
258 src__core_matchers._IsNaN = class _IsNaN extends src__interfaces.Matcher {
259 new() {
260 super.new();
261 }
262 matches(item, matchState) {
263 return core.double.NAN[dartx.compareTo](core.num._check(item)) == 0;
264 }
265 describe(description) {
266 return description.add('NaN');
267 }
268 };
269 dart.setSignature(src__core_matchers._IsNaN, {
270 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._IsN aN, [])}),
271 methods: () => ({
272 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
273 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
274 })
275 });
276 src__core_matchers.isNaN = dart.const(new src__core_matchers._IsNaN());
277 matcher.isNaN = src__core_matchers.isNaN;
278 src__core_matchers._ReturnsNormally = class _ReturnsNormally extends src__inte rfaces.Matcher {
279 new() {
280 super.new();
281 }
282 matches(f, matchState) {
283 try {
284 dart.dcall(f);
285 return true;
286 } catch (e) {
287 let s = dart.stackTrace(e);
288 src__util.addStateInfo(matchState, dart.map({exception: e, stack: s}, co re.String, dart.dynamic));
289 return false;
290 }
291
292 }
293 describe(description) {
294 return description.add("return normally");
295 }
296 describeMismatch(item, mismatchDescription, matchState, verbose) {
297 mismatchDescription.add('threw ').addDescriptionOf(matchState[dartx.get](' exception'));
298 if (dart.test(verbose)) {
299 mismatchDescription.add(' at ').add(dart.toString(matchState[dartx.get]( 'stack')));
300 }
301 return mismatchDescription;
302 }
303 };
304 dart.setSignature(src__core_matchers._ReturnsNormally, {
305 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._Ret urnsNormally, [])}),
306 methods: () => ({
307 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
308 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
309 })
310 });
311 src__core_matchers.returnsNormally = dart.const(new src__core_matchers._Return sNormally());
312 matcher.returnsNormally = src__core_matchers.returnsNormally;
313 src__core_matchers._IsAnything = class _IsAnything extends src__interfaces.Mat cher {
314 new() {
315 super.new();
316 }
317 matches(item, matchState) {
318 return true;
319 }
320 describe(description) {
321 return description.add('anything');
322 }
323 };
324 dart.setSignature(src__core_matchers._IsAnything, {
325 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._IsA nything, [])}),
326 methods: () => ({
327 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
328 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
329 })
330 });
331 src__core_matchers.anything = dart.const(new src__core_matchers._IsAnything()) ;
332 matcher.anything = src__core_matchers.anything;
333 matcher.TypeMatcher = src__core_matchers.TypeMatcher;
334 src__core_matchers.contains = function(expected) {
335 return new src__core_matchers._Contains(expected);
336 };
337 dart.fn(src__core_matchers.contains, dynamicToMatcher());
338 matcher.contains = src__core_matchers.contains;
339 src__core_matchers._NotEmpty = class _NotEmpty extends src__interfaces.Matcher {
340 new() {
341 super.new();
342 }
343 matches(item, matchState) {
344 return core.bool._check(dart.dload(item, 'isNotEmpty'));
345 }
346 describe(description) {
347 return description.add('non-empty');
348 }
349 };
350 dart.setSignature(src__core_matchers._NotEmpty, {
351 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._Not Empty, [])}),
352 methods: () => ({
353 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
354 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
355 })
356 });
357 src__core_matchers.isNotEmpty = dart.const(new src__core_matchers._NotEmpty()) ;
358 matcher.isNotEmpty = src__core_matchers.isNotEmpty;
359 src__core_matchers._IsNull = class _IsNull extends src__interfaces.Matcher {
360 new() {
361 super.new();
362 }
363 matches(item, matchState) {
364 return item == null;
365 }
366 describe(description) {
367 return description.add('null');
368 }
369 };
370 dart.setSignature(src__core_matchers._IsNull, {
371 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._IsN ull, [])}),
372 methods: () => ({
373 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
374 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
375 })
376 });
377 src__core_matchers.isNull = dart.const(new src__core_matchers._IsNull());
378 matcher.isNull = src__core_matchers.isNull;
379 src__core_matchers._IsMap = class _IsMap extends src__core_matchers.TypeMatche r {
380 new() {
381 super.new("Map");
382 }
383 matches(item, matchState) {
384 return core.Map.is(item);
385 }
386 };
387 dart.setSignature(src__core_matchers._IsMap, {
388 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._IsM ap, [])}),
389 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
390 });
391 src__core_matchers.isMap = dart.const(new src__core_matchers._IsMap());
392 matcher.isMap = src__core_matchers.isMap;
393 src__core_matchers._IsNotNaN = class _IsNotNaN extends src__interfaces.Matcher {
394 new() {
395 super.new();
396 }
397 matches(item, matchState) {
398 return core.double.NAN[dartx.compareTo](core.num._check(item)) != 0;
399 }
400 describe(description) {
401 return description.add('not NaN');
402 }
403 };
404 dart.setSignature(src__core_matchers._IsNotNaN, {
405 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._IsN otNaN, [])}),
406 methods: () => ({
407 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
408 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
409 })
410 });
411 src__core_matchers.isNotNaN = dart.const(new src__core_matchers._IsNotNaN());
412 matcher.isNotNaN = src__core_matchers.isNotNaN;
413 src__core_matchers.isIn = function(expected) {
414 return new src__core_matchers._In(expected);
415 };
416 dart.fn(src__core_matchers.isIn, dynamicToMatcher());
417 matcher.isIn = src__core_matchers.isIn;
418 const _out = Symbol('_out');
419 src__description.StringDescription = class StringDescription extends core.Obje ct {
420 new(init) {
421 if (init === void 0) init = '';
422 this[_out] = new core.StringBuffer();
423 this[_out].write(init);
424 }
425 get length() {
426 return this[_out].length;
427 }
428 toString() {
429 return dart.toString(this[_out]);
430 }
431 add(text) {
432 this[_out].write(text);
433 return this;
434 }
435 replace(text) {
436 this[_out].clear();
437 return this.add(text);
438 }
439 addDescriptionOf(value) {
440 if (src__interfaces.Matcher.is(value)) {
441 value.describe(this);
442 } else {
443 this.add(src__pretty_print.prettyPrint(value, {maxLineLength: 80, maxIte ms: 25}));
444 }
445 return this;
446 }
447 addAll(start, separator, end, list) {
448 let separate = false;
449 this.add(start);
450 for (let item of list) {
451 if (separate) {
452 this.add(separator);
453 }
454 this.addDescriptionOf(item);
455 separate = true;
456 }
457 this.add(end);
458 return this;
459 }
460 };
461 src__description.StringDescription[dart.implements] = () => [src__interfaces.D escription];
462 dart.setSignature(src__description.StringDescription, {
463 constructors: () => ({new: dart.definiteFunctionType(src__description.String Description, [], [core.String])}),
464 methods: () => ({
465 add: dart.definiteFunctionType(src__interfaces.Description, [core.String]) ,
466 replace: dart.definiteFunctionType(src__interfaces.Description, [core.Stri ng]),
467 addDescriptionOf: dart.definiteFunctionType(src__interfaces.Description, [ dart.dynamic]),
468 addAll: dart.definiteFunctionType(src__interfaces.Description, [core.Strin g, core.String, core.String, core.Iterable])
469 })
470 });
471 matcher.StringDescription = src__description.StringDescription;
472 src__error_matchers._ConcurrentModificationError = class _ConcurrentModificati onError extends src__core_matchers.TypeMatcher {
473 new() {
474 super.new("ConcurrentModificationError");
475 }
476 matches(item, matchState) {
477 return core.ConcurrentModificationError.is(item);
478 }
479 };
480 dart.setSignature(src__error_matchers._ConcurrentModificationError, {
481 constructors: () => ({new: dart.definiteFunctionType(src__error_matchers._Co ncurrentModificationError, [])}),
482 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
483 });
484 src__error_matchers.isConcurrentModificationError = dart.const(new src__error_ matchers._ConcurrentModificationError());
485 matcher.isConcurrentModificationError = src__error_matchers.isConcurrentModifi cationError;
486 src__error_matchers._CyclicInitializationError = class _CyclicInitializationEr ror extends src__core_matchers.TypeMatcher {
487 new() {
488 super.new("CyclicInitializationError");
489 }
490 matches(item, matchState) {
491 return core.CyclicInitializationError.is(item);
492 }
493 };
494 dart.setSignature(src__error_matchers._CyclicInitializationError, {
495 constructors: () => ({new: dart.definiteFunctionType(src__error_matchers._Cy clicInitializationError, [])}),
496 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
497 });
498 src__error_matchers.isCyclicInitializationError = dart.const(new src__error_ma tchers._CyclicInitializationError());
499 matcher.isCyclicInitializationError = src__error_matchers.isCyclicInitializati onError;
500 src__error_matchers._ArgumentError = class _ArgumentError extends src__core_ma tchers.TypeMatcher {
501 new() {
502 super.new("ArgumentError");
503 }
504 matches(item, matchState) {
505 return core.ArgumentError.is(item);
506 }
507 };
508 dart.setSignature(src__error_matchers._ArgumentError, {
509 constructors: () => ({new: dart.definiteFunctionType(src__error_matchers._Ar gumentError, [])}),
510 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
511 });
512 src__error_matchers.isArgumentError = dart.const(new src__error_matchers._Argu mentError());
513 matcher.isArgumentError = src__error_matchers.isArgumentError;
514 src__error_matchers._Exception = class _Exception extends src__core_matchers.T ypeMatcher {
515 new() {
516 super.new("Exception");
517 }
518 matches(item, matchState) {
519 return core.Exception.is(item);
520 }
521 };
522 dart.setSignature(src__error_matchers._Exception, {
523 constructors: () => ({new: dart.definiteFunctionType(src__error_matchers._Ex ception, [])}),
524 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
525 });
526 src__error_matchers.isException = dart.const(new src__error_matchers._Exceptio n());
527 matcher.isException = src__error_matchers.isException;
528 src__error_matchers._NullThrownError = class _NullThrownError extends src__cor e_matchers.TypeMatcher {
529 new() {
530 super.new("NullThrownError");
531 }
532 matches(item, matchState) {
533 return core.NullThrownError.is(item);
534 }
535 };
536 dart.setSignature(src__error_matchers._NullThrownError, {
537 constructors: () => ({new: dart.definiteFunctionType(src__error_matchers._Nu llThrownError, [])}),
538 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
539 });
540 src__error_matchers.isNullThrownError = dart.const(new src__error_matchers._Nu llThrownError());
541 matcher.isNullThrownError = src__error_matchers.isNullThrownError;
542 src__error_matchers._RangeError = class _RangeError extends src__core_matchers .TypeMatcher {
543 new() {
544 super.new("RangeError");
545 }
546 matches(item, matchState) {
547 return core.RangeError.is(item);
548 }
549 };
550 dart.setSignature(src__error_matchers._RangeError, {
551 constructors: () => ({new: dart.definiteFunctionType(src__error_matchers._Ra ngeError, [])}),
552 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
553 });
554 src__error_matchers.isRangeError = dart.const(new src__error_matchers._RangeEr ror());
555 matcher.isRangeError = src__error_matchers.isRangeError;
556 src__error_matchers._FormatException = class _FormatException extends src__cor e_matchers.TypeMatcher {
557 new() {
558 super.new("FormatException");
559 }
560 matches(item, matchState) {
561 return core.FormatException.is(item);
562 }
563 };
564 dart.setSignature(src__error_matchers._FormatException, {
565 constructors: () => ({new: dart.definiteFunctionType(src__error_matchers._Fo rmatException, [])}),
566 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
567 });
568 src__error_matchers.isFormatException = dart.const(new src__error_matchers._Fo rmatException());
569 matcher.isFormatException = src__error_matchers.isFormatException;
570 src__error_matchers._StateError = class _StateError extends src__core_matchers .TypeMatcher {
571 new() {
572 super.new("StateError");
573 }
574 matches(item, matchState) {
575 return core.StateError.is(item);
576 }
577 };
578 dart.setSignature(src__error_matchers._StateError, {
579 constructors: () => ({new: dart.definiteFunctionType(src__error_matchers._St ateError, [])}),
580 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
581 });
582 src__error_matchers.isStateError = dart.const(new src__error_matchers._StateEr ror());
583 matcher.isStateError = src__error_matchers.isStateError;
584 src__error_matchers._NoSuchMethodError = class _NoSuchMethodError extends src_ _core_matchers.TypeMatcher {
585 new() {
586 super.new("NoSuchMethodError");
587 }
588 matches(item, matchState) {
589 return core.NoSuchMethodError.is(item);
590 }
591 };
592 dart.setSignature(src__error_matchers._NoSuchMethodError, {
593 constructors: () => ({new: dart.definiteFunctionType(src__error_matchers._No SuchMethodError, [])}),
594 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
595 });
596 src__error_matchers.isNoSuchMethodError = dart.const(new src__error_matchers._ NoSuchMethodError());
597 matcher.isNoSuchMethodError = src__error_matchers.isNoSuchMethodError;
598 src__error_matchers._UnimplementedError = class _UnimplementedError extends sr c__core_matchers.TypeMatcher {
599 new() {
600 super.new("UnimplementedError");
601 }
602 matches(item, matchState) {
603 return core.UnimplementedError.is(item);
604 }
605 };
606 dart.setSignature(src__error_matchers._UnimplementedError, {
607 constructors: () => ({new: dart.definiteFunctionType(src__error_matchers._Un implementedError, [])}),
608 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
609 });
610 src__error_matchers.isUnimplementedError = dart.const(new src__error_matchers. _UnimplementedError());
611 matcher.isUnimplementedError = src__error_matchers.isUnimplementedError;
612 src__error_matchers._UnsupportedError = class _UnsupportedError extends src__c ore_matchers.TypeMatcher {
613 new() {
614 super.new("UnsupportedError");
615 }
616 matches(item, matchState) {
617 return core.UnsupportedError.is(item);
618 }
619 };
620 dart.setSignature(src__error_matchers._UnsupportedError, {
621 constructors: () => ({new: dart.definiteFunctionType(src__error_matchers._Un supportedError, [])}),
622 methods: () => ({matches: dart.definiteFunctionType(core.bool, [dart.dynamic , core.Map])})
623 });
624 src__error_matchers.isUnsupportedError = dart.const(new src__error_matchers._U nsupportedError());
625 matcher.isUnsupportedError = src__error_matchers.isUnsupportedError;
626 matcher.Matcher = src__interfaces.Matcher;
627 src__interfaces.Description = class Description extends core.Object {};
628 matcher.Description = src__interfaces.Description;
629 src__iterable_matchers.pairwiseCompare = function(expected, comparator, descri ption) {
630 return new src__iterable_matchers._PairwiseCompare(expected, comparator, des cription);
631 };
632 dart.fn(src__iterable_matchers.pairwiseCompare, IterableAndFnAndStringToMatche r());
633 matcher.pairwiseCompare = src__iterable_matchers.pairwiseCompare;
634 src__iterable_matchers.anyElement = function(matcher) {
635 return new src__iterable_matchers._AnyElement(src__util.wrapMatcher(matcher) );
636 };
637 dart.fn(src__iterable_matchers.anyElement, dynamicToMatcher());
638 matcher.anyElement = src__iterable_matchers.anyElement;
639 src__iterable_matchers.orderedEquals = function(expected) {
640 return new src__iterable_matchers._OrderedEquals(expected);
641 };
642 dart.fn(src__iterable_matchers.orderedEquals, IterableToMatcher());
643 matcher.orderedEquals = src__iterable_matchers.orderedEquals;
644 src__iterable_matchers.unorderedEquals = function(expected) {
645 return new src__iterable_matchers._UnorderedEquals(expected);
646 };
647 dart.fn(src__iterable_matchers.unorderedEquals, IterableToMatcher());
648 matcher.unorderedEquals = src__iterable_matchers.unorderedEquals;
649 src__iterable_matchers.unorderedMatches = function(expected) {
650 return new src__iterable_matchers._UnorderedMatches(expected);
651 };
652 dart.fn(src__iterable_matchers.unorderedMatches, IterableToMatcher());
653 matcher.unorderedMatches = src__iterable_matchers.unorderedMatches;
654 src__iterable_matchers.everyElement = function(matcher) {
655 return new src__iterable_matchers._EveryElement(src__util.wrapMatcher(matche r));
656 };
657 dart.fn(src__iterable_matchers.everyElement, dynamicToMatcher());
658 matcher.everyElement = src__iterable_matchers.everyElement;
659 src__map_matchers.containsValue = function(value) {
660 return new src__map_matchers._ContainsValue(value);
661 };
662 dart.fn(src__map_matchers.containsValue, dynamicToMatcher());
663 matcher.containsValue = src__map_matchers.containsValue;
664 src__map_matchers.containsPair = function(key, value) {
665 return new src__map_matchers._ContainsMapping(key, src__util.wrapMatcher(val ue));
666 };
667 dart.fn(src__map_matchers.containsPair, dynamicAnddynamicToMatcher());
668 matcher.containsPair = src__map_matchers.containsPair;
669 const _value = Symbol('_value');
670 const _equalValue = Symbol('_equalValue');
671 const _lessThanValue = Symbol('_lessThanValue');
672 const _greaterThanValue = Symbol('_greaterThanValue');
673 const _comparisonDescription = Symbol('_comparisonDescription');
674 const _valueInDescription = Symbol('_valueInDescription');
675 src__numeric_matchers._OrderingComparison = class _OrderingComparison extends src__interfaces.Matcher {
676 new(value, equalValue, lessThanValue, greaterThanValue, comparisonDescriptio n, valueInDescription) {
677 if (valueInDescription === void 0) valueInDescription = true;
678 this[_value] = value;
679 this[_equalValue] = equalValue;
680 this[_lessThanValue] = lessThanValue;
681 this[_greaterThanValue] = greaterThanValue;
682 this[_comparisonDescription] = comparisonDescription;
683 this[_valueInDescription] = valueInDescription;
684 super.new();
685 }
686 matches(item, matchState) {
687 if (dart.equals(item, this[_value])) {
688 return this[_equalValue];
689 } else if (dart.test(dart.dsend(item, '<', this[_value]))) {
690 return this[_lessThanValue];
691 } else {
692 return this[_greaterThanValue];
693 }
694 }
695 describe(description) {
696 if (dart.test(this[_valueInDescription])) {
697 return description.add(this[_comparisonDescription]).add(' ').addDescrip tionOf(this[_value]);
698 } else {
699 return description.add(this[_comparisonDescription]);
700 }
701 }
702 describeMismatch(item, mismatchDescription, matchState, verbose) {
703 mismatchDescription.add('is not ');
704 return this.describe(mismatchDescription);
705 }
706 };
707 dart.setSignature(src__numeric_matchers._OrderingComparison, {
708 constructors: () => ({new: dart.definiteFunctionType(src__numeric_matchers._ OrderingComparison, [dart.dynamic, core.bool, core.bool, core.bool, core.String] , [core.bool])}),
709 methods: () => ({
710 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
711 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
712 })
713 });
714 src__numeric_matchers.isPositive = dart.const(new src__numeric_matchers._Order ingComparison(0, false, false, true, 'a positive value', false));
715 matcher.isPositive = src__numeric_matchers.isPositive;
716 src__numeric_matchers.isZero = dart.const(new src__numeric_matchers._OrderingC omparison(0, true, false, false, 'a value equal to'));
717 matcher.isZero = src__numeric_matchers.isZero;
718 src__numeric_matchers.inOpenClosedRange = function(low, high) {
719 return new src__numeric_matchers._InRange(low, high, false, true);
720 };
721 dart.fn(src__numeric_matchers.inOpenClosedRange, numAndnumToMatcher());
722 matcher.inOpenClosedRange = src__numeric_matchers.inOpenClosedRange;
723 src__numeric_matchers.inClosedOpenRange = function(low, high) {
724 return new src__numeric_matchers._InRange(low, high, true, false);
725 };
726 dart.fn(src__numeric_matchers.inClosedOpenRange, numAndnumToMatcher());
727 matcher.inClosedOpenRange = src__numeric_matchers.inClosedOpenRange;
728 src__numeric_matchers.lessThanOrEqualTo = function(value) {
729 return new src__numeric_matchers._OrderingComparison(value, true, true, fals e, 'a value less than or equal to');
730 };
731 dart.fn(src__numeric_matchers.lessThanOrEqualTo, dynamicToMatcher());
732 matcher.lessThanOrEqualTo = src__numeric_matchers.lessThanOrEqualTo;
733 src__numeric_matchers.isNegative = dart.const(new src__numeric_matchers._Order ingComparison(0, false, true, false, 'a negative value', false));
734 matcher.isNegative = src__numeric_matchers.isNegative;
735 src__numeric_matchers.inInclusiveRange = function(low, high) {
736 return new src__numeric_matchers._InRange(low, high, true, true);
737 };
738 dart.fn(src__numeric_matchers.inInclusiveRange, numAndnumToMatcher());
739 matcher.inInclusiveRange = src__numeric_matchers.inInclusiveRange;
740 src__numeric_matchers.lessThan = function(value) {
741 return new src__numeric_matchers._OrderingComparison(value, false, true, fal se, 'a value less than');
742 };
743 dart.fn(src__numeric_matchers.lessThan, dynamicToMatcher());
744 matcher.lessThan = src__numeric_matchers.lessThan;
745 src__numeric_matchers.greaterThan = function(value) {
746 return new src__numeric_matchers._OrderingComparison(value, false, false, tr ue, 'a value greater than');
747 };
748 dart.fn(src__numeric_matchers.greaterThan, dynamicToMatcher());
749 matcher.greaterThan = src__numeric_matchers.greaterThan;
750 src__numeric_matchers.isNonNegative = dart.const(new src__numeric_matchers._Or deringComparison(0, true, false, true, 'a non-negative value', false));
751 matcher.isNonNegative = src__numeric_matchers.isNonNegative;
752 src__numeric_matchers.inExclusiveRange = function(low, high) {
753 return new src__numeric_matchers._InRange(low, high, false, false);
754 };
755 dart.fn(src__numeric_matchers.inExclusiveRange, numAndnumToMatcher());
756 matcher.inExclusiveRange = src__numeric_matchers.inExclusiveRange;
757 src__numeric_matchers.closeTo = function(value, delta) {
758 return new src__numeric_matchers._IsCloseTo(value, delta);
759 };
760 dart.fn(src__numeric_matchers.closeTo, numAndnumToMatcher());
761 matcher.closeTo = src__numeric_matchers.closeTo;
762 src__numeric_matchers.greaterThanOrEqualTo = function(value) {
763 return new src__numeric_matchers._OrderingComparison(value, true, false, tru e, 'a value greater than or equal to');
764 };
765 dart.fn(src__numeric_matchers.greaterThanOrEqualTo, dynamicToMatcher());
766 matcher.greaterThanOrEqualTo = src__numeric_matchers.greaterThanOrEqualTo;
767 src__numeric_matchers.isNonZero = dart.const(new src__numeric_matchers._Orderi ngComparison(0, false, true, true, 'a value not equal to'));
768 matcher.isNonZero = src__numeric_matchers.isNonZero;
769 src__numeric_matchers.isNonPositive = dart.const(new src__numeric_matchers._Or deringComparison(0, true, true, false, 'a non-positive value', false));
770 matcher.isNonPositive = src__numeric_matchers.isNonPositive;
771 src__operator_matchers.allOf = function(arg0, arg1, arg2, arg3, arg4, arg5, ar g6) {
772 if (arg1 === void 0) arg1 = null;
773 if (arg2 === void 0) arg2 = null;
774 if (arg3 === void 0) arg3 = null;
775 if (arg4 === void 0) arg4 = null;
776 if (arg5 === void 0) arg5 = null;
777 if (arg6 === void 0) arg6 = null;
778 return new src__operator_matchers._AllOf(src__operator_matchers._wrapArgs(ar g0, arg1, arg2, arg3, arg4, arg5, arg6));
779 };
780 dart.fn(src__operator_matchers.allOf, dynamic__ToMatcher$());
781 matcher.allOf = src__operator_matchers.allOf;
782 src__operator_matchers.isNot = function(matcher) {
783 return new src__operator_matchers._IsNot(src__util.wrapMatcher(matcher));
784 };
785 dart.fn(src__operator_matchers.isNot, dynamicToMatcher());
786 matcher.isNot = src__operator_matchers.isNot;
787 src__operator_matchers.anyOf = function(arg0, arg1, arg2, arg3, arg4, arg5, ar g6) {
788 if (arg1 === void 0) arg1 = null;
789 if (arg2 === void 0) arg2 = null;
790 if (arg3 === void 0) arg3 = null;
791 if (arg4 === void 0) arg4 = null;
792 if (arg5 === void 0) arg5 = null;
793 if (arg6 === void 0) arg6 = null;
794 return new src__operator_matchers._AnyOf(src__operator_matchers._wrapArgs(ar g0, arg1, arg2, arg3, arg4, arg5, arg6));
795 };
796 dart.fn(src__operator_matchers.anyOf, dynamic__ToMatcher$());
797 matcher.anyOf = src__operator_matchers.anyOf;
798 src__string_matchers.endsWith = function(suffixString) {
799 return new src__string_matchers._StringEndsWith(suffixString);
800 };
801 dart.fn(src__string_matchers.endsWith, StringToMatcher());
802 matcher.endsWith = src__string_matchers.endsWith;
803 src__string_matchers.startsWith = function(prefixString) {
804 return new src__string_matchers._StringStartsWith(prefixString);
805 };
806 dart.fn(src__string_matchers.startsWith, StringToMatcher());
807 matcher.startsWith = src__string_matchers.startsWith;
808 src__string_matchers.matches = function(re) {
809 return new src__string_matchers._MatchesRegExp(re);
810 };
811 dart.fn(src__string_matchers.matches, dynamicToMatcher());
812 matcher.matches = src__string_matchers.matches;
813 src__string_matchers.collapseWhitespace = function(string) {
814 let result = new core.StringBuffer();
815 let skipSpace = true;
816 for (let i = 0; i < dart.notNull(string[dartx.length]); i++) {
817 let character = string[dartx.get](i);
818 if (dart.test(src__string_matchers._isWhitespace(character))) {
819 if (!skipSpace) {
820 result.write(' ');
821 skipSpace = true;
822 }
823 } else {
824 result.write(character);
825 skipSpace = false;
826 }
827 }
828 return result.toString()[dartx.trim]();
829 };
830 dart.fn(src__string_matchers.collapseWhitespace, StringToString());
831 matcher.collapseWhitespace = src__string_matchers.collapseWhitespace;
832 src__string_matchers.equalsIgnoringCase = function(value) {
833 return new src__string_matchers._IsEqualIgnoringCase(value);
834 };
835 dart.fn(src__string_matchers.equalsIgnoringCase, StringToMatcher());
836 matcher.equalsIgnoringCase = src__string_matchers.equalsIgnoringCase;
837 src__string_matchers.equalsIgnoringWhitespace = function(value) {
838 return new src__string_matchers._IsEqualIgnoringWhitespace(value);
839 };
840 dart.fn(src__string_matchers.equalsIgnoringWhitespace, StringToMatcher());
841 matcher.equalsIgnoringWhitespace = src__string_matchers.equalsIgnoringWhitespa ce;
842 src__string_matchers.stringContainsInOrder = function(substrings) {
843 return new src__string_matchers._StringContainsInOrder(substrings);
844 };
845 dart.fn(src__string_matchers.stringContainsInOrder, ListOfStringToMatcher());
846 matcher.stringContainsInOrder = src__string_matchers.stringContainsInOrder;
847 src__util.addStateInfo = function(matchState, values) {
848 let innerState = core.Map.from(matchState);
849 matchState[dartx.clear]();
850 matchState[dartx.set]('state', innerState);
851 matchState[dartx.addAll](values);
852 };
853 dart.fn(src__util.addStateInfo, MapAndMapTovoid());
854 matcher.addStateInfo = src__util.addStateInfo;
855 src__util.wrapMatcher = function(x) {
856 if (src__interfaces.Matcher.is(x)) {
857 return x;
858 } else if (src__util._Predicate.is(x)) {
859 return src__core_matchers.predicate(x);
860 } else {
861 return src__core_matchers.equals(x);
862 }
863 };
864 dart.fn(src__util.wrapMatcher, dynamicToMatcher());
865 matcher.wrapMatcher = src__util.wrapMatcher;
866 src__util.escape = function(str) {
867 str = str[dartx.replaceAll]('\\', '\\\\');
868 return str[dartx.replaceAllMapped](src__util._escapeRegExp, dart.fn(match => {
869 let mapped = src__util._escapeMap[dartx.get](match.get(0));
870 if (mapped != null) return mapped;
871 return src__util._getHexLiteral(match.get(0));
872 }, MatchToString()));
873 };
874 dart.fn(src__util.escape, StringToString());
875 matcher.escape = src__util.escape;
876 mirror_matchers.hasProperty = function(name, matcher) {
877 if (matcher === void 0) matcher = null;
878 return new mirror_matchers._HasProperty(name, matcher == null ? null : src__ util.wrapMatcher(matcher));
879 };
880 dart.fn(mirror_matchers.hasProperty, String__ToMatcher());
881 const _name$ = Symbol('_name');
882 const _matcher$ = Symbol('_matcher');
883 mirror_matchers._HasProperty = class _HasProperty extends src__interfaces.Matc her {
884 new(name, matcher) {
885 if (matcher === void 0) matcher = null;
886 this[_name$] = name;
887 this[_matcher$] = matcher;
888 super.new();
889 }
890 matches(item, matchState) {
891 let mirror = mirrors.reflect(item);
892 let classMirror = mirror.type;
893 let symbol = core.Symbol.new(this[_name$]);
894 let candidate = classMirror.declarations[dartx.get](symbol);
895 if (candidate == null) {
896 src__util.addStateInfo(matchState, dart.map({reason: dart.str`has no pro perty named "${this[_name$]}"`}, core.String, core.String));
897 return false;
898 }
899 let isInstanceField = mirrors.VariableMirror.is(candidate) && !dart.test(c andidate.isStatic);
900 let isInstanceGetter = mirrors.MethodMirror.is(candidate) && dart.test(can didate.isGetter) && !dart.test(candidate.isStatic);
901 if (!(isInstanceField || isInstanceGetter)) {
902 src__util.addStateInfo(matchState, dart.map({reason: dart.str`has a memb er named "${this[_name$]}", but it is not an instance property`}, core.String, c ore.String));
903 return false;
904 }
905 if (this[_matcher$] == null) return true;
906 let result = mirror.getField(symbol);
907 let resultMatches = this[_matcher$].matches(result.reflectee, matchState);
908 if (!dart.test(resultMatches)) {
909 src__util.addStateInfo(matchState, dart.map({value: result.reflectee}, c ore.String, dart.dynamic));
910 }
911 return resultMatches;
912 }
913 describe(description) {
914 description.add(dart.str`has property "${this[_name$]}"`);
915 if (this[_matcher$] != null) {
916 description.add(' which matches ').addDescriptionOf(this[_matcher$]);
917 }
918 return description;
919 }
920 describeMismatch(item, mismatchDescription, matchState, verbose) {
921 let reason = matchState == null ? null : matchState[dartx.get]('reason');
922 if (reason != null) {
923 mismatchDescription.add(core.String._check(reason));
924 } else {
925 mismatchDescription.add(dart.str`has property "${this[_name$]}" with val ue `).addDescriptionOf(matchState[dartx.get]('value'));
926 let innerDescription = new src__description.StringDescription();
927 this[_matcher$].describeMismatch(matchState[dartx.get]('value'), innerDe scription, core.Map._check(matchState[dartx.get]('state')), verbose);
928 if (dart.notNull(innerDescription.length) > 0) {
929 mismatchDescription.add(' which ').add(innerDescription.toString());
930 }
931 }
932 return mismatchDescription;
933 }
934 };
935 dart.setSignature(mirror_matchers._HasProperty, {
936 constructors: () => ({new: dart.definiteFunctionType(mirror_matchers._HasPro perty, [core.String], [src__interfaces.Matcher])}),
937 methods: () => ({
938 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
939 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
940 })
941 });
942 const _expected = Symbol('_expected');
943 src__core_matchers._IsSameAs = class _IsSameAs extends src__interfaces.Matcher {
944 new(expected) {
945 this[_expected] = expected;
946 super.new();
947 }
948 matches(item, matchState) {
949 return core.identical(item, this[_expected]);
950 }
951 describe(description) {
952 return description.add('same instance as ').addDescriptionOf(this[_expecte d]);
953 }
954 };
955 dart.setSignature(src__core_matchers._IsSameAs, {
956 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._IsS ameAs, [dart.dynamic])}),
957 methods: () => ({
958 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
959 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
960 })
961 });
962 const _limit = Symbol('_limit');
963 const _compareIterables = Symbol('_compareIterables');
964 const _compareSets = Symbol('_compareSets');
965 const _recursiveMatch = Symbol('_recursiveMatch');
966 const _match = Symbol('_match');
967 src__core_matchers._DeepMatcher = class _DeepMatcher extends src__interfaces.M atcher {
968 new(expected, limit) {
969 if (limit === void 0) limit = 1000;
970 this[_expected] = expected;
971 this[_limit] = limit;
972 this.count = null;
973 super.new();
974 }
975 [_compareIterables](expected, actual, matcher, depth, location) {
976 if (!core.Iterable.is(actual)) return ['is not Iterable', location];
977 let expectedIterator = dart.dload(expected, 'iterator');
978 let actualIterator = dart.dload(actual, 'iterator');
979 for (let index = 0;; index++) {
980 let expectedNext = dart.dsend(expectedIterator, 'moveNext');
981 let actualNext = dart.dsend(actualIterator, 'moveNext');
982 if (!dart.test(expectedNext) && !dart.test(actualNext)) return null;
983 let newLocation = dart.str`${location}[${index}]`;
984 if (!dart.test(expectedNext)) return JSArrayOfString().of(['longer than expected', newLocation]);
985 if (!dart.test(actualNext)) return JSArrayOfString().of(['shorter than e xpected', newLocation]);
986 let rp = dart.dcall(matcher, dart.dload(expectedIterator, 'current'), da rt.dload(actualIterator, 'current'), newLocation, depth);
987 if (rp != null) return core.List._check(rp);
988 }
989 }
990 [_compareSets](expected, actual, matcher, depth, location) {
991 if (!core.Iterable.is(actual)) return ['is not Iterable', location];
992 actual = dart.dsend(actual, 'toSet');
993 for (let expectedElement of expected) {
994 if (dart.test(dart.dsend(actual, 'every', dart.fn(actualElement => dart. dcall(matcher, expectedElement, actualElement, location, depth) != null, dynamic Tobool$())))) {
995 return [dart.str`does not contain ${expectedElement}`, location];
996 }
997 }
998 if (dart.test(dart.dsend(dart.dload(actual, 'length'), '>', expected.lengt h))) {
999 return ['larger than expected', location];
1000 } else if (dart.test(dart.dsend(dart.dload(actual, 'length'), '<', expecte d.length))) {
1001 return ['smaller than expected', location];
1002 } else {
1003 return null;
1004 }
1005 }
1006 [_recursiveMatch](expected, actual, location, depth) {
1007 if (src__interfaces.Matcher.is(expected)) {
1008 let matchState = dart.map();
1009 if (dart.test(expected.matches(actual, matchState))) return null;
1010 let description = new src__description.StringDescription();
1011 expected.describe(description);
1012 return JSArrayOfString().of([dart.str`does not match ${description}`, lo cation]);
1013 } else {
1014 try {
1015 if (dart.equals(expected, actual)) return null;
1016 } catch (e) {
1017 return JSArrayOfString().of([dart.str`== threw "${e}"`, location]);
1018 }
1019
1020 }
1021 if (dart.notNull(depth) > dart.notNull(this[_limit])) return JSArrayOfStri ng().of(['recursion depth limit exceeded', location]);
1022 if (depth == 0 || dart.notNull(this[_limit]) > 1) {
1023 if (core.Set.is(expected)) {
1024 return this[_compareSets](expected, actual, dart.bind(this, _recursive Match), dart.notNull(depth) + 1, location);
1025 } else if (core.Iterable.is(expected)) {
1026 return this[_compareIterables](expected, actual, dart.bind(this, _recu rsiveMatch), dart.notNull(depth) + 1, location);
1027 } else if (core.Map.is(expected)) {
1028 if (!core.Map.is(actual)) return JSArrayOfString().of(['expected a map ', location]);
1029 let err = dart.equals(expected[dartx.length], dart.dload(actual, 'leng th')) ? '' : 'has different length and ';
1030 for (let key of expected[dartx.keys]) {
1031 if (!dart.test(dart.dsend(actual, 'containsKey', key))) {
1032 return JSArrayOfString().of([dart.str`${err}is missing map key '${ key}'`, location]);
1033 }
1034 }
1035 for (let key of core.Iterable._check(dart.dload(actual, 'keys'))) {
1036 if (!dart.test(expected[dartx.containsKey](key))) {
1037 return JSArrayOfString().of([dart.str`${err}has extra map key '${k ey}'`, location]);
1038 }
1039 }
1040 for (let key of expected[dartx.keys]) {
1041 let rp = this[_recursiveMatch](expected[dartx.get](key), dart.dindex (actual, key), dart.str`${location}['${key}']`, dart.notNull(depth) + 1);
1042 if (rp != null) return rp;
1043 }
1044 return null;
1045 }
1046 }
1047 let description = new src__description.StringDescription();
1048 if (dart.notNull(depth) > 0) {
1049 description.add('was ').addDescriptionOf(actual).add(' instead of ').add DescriptionOf(expected);
1050 return JSArrayOfString().of([description.toString(), location]);
1051 }
1052 return JSArrayOfString().of(["", location]);
1053 }
1054 [_match](expected, actual, matchState) {
1055 let rp = this[_recursiveMatch](expected, actual, '', 0);
1056 if (rp == null) return null;
1057 let reason = null;
1058 if (dart.test(dart.dsend(dart.dload(rp[dartx.get](0), 'length'), '>', 0))) {
1059 if (dart.test(dart.dsend(dart.dload(rp[dartx.get](1), 'length'), '>', 0) )) {
1060 reason = dart.str`${rp[dartx.get](0)} at location ${rp[dartx.get](1)}` ;
1061 } else {
1062 reason = rp[dartx.get](0);
1063 }
1064 } else {
1065 reason = '';
1066 }
1067 src__util.addStateInfo(matchState, dart.map({reason: reason}, core.String, dart.dynamic));
1068 return core.String._check(reason);
1069 }
1070 matches(item, matchState) {
1071 return this[_match](this[_expected], item, matchState) == null;
1072 }
1073 describe(description) {
1074 return description.addDescriptionOf(this[_expected]);
1075 }
1076 describeMismatch(item, mismatchDescription, matchState, verbose) {
1077 let reason = matchState[dartx.get]('reason');
1078 if (dart.equals(dart.dload(reason, 'length'), 0) && dart.notNull(mismatchD escription.length) > 0) {
1079 mismatchDescription.add('is ').addDescriptionOf(item);
1080 } else {
1081 mismatchDescription.add(core.String._check(reason));
1082 }
1083 return mismatchDescription;
1084 }
1085 };
1086 dart.setSignature(src__core_matchers._DeepMatcher, {
1087 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._Dee pMatcher, [dart.dynamic], [core.int])}),
1088 methods: () => ({
1089 [_compareIterables]: dart.definiteFunctionType(core.List, [dart.dynamic, d art.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
1090 [_compareSets]: dart.definiteFunctionType(core.List, [core.Set, dart.dynam ic, dart.dynamic, dart.dynamic, dart.dynamic]),
1091 [_recursiveMatch]: dart.definiteFunctionType(core.List, [dart.dynamic, dar t.dynamic, core.String, core.int]),
1092 [_match]: dart.definiteFunctionType(core.String, [dart.dynamic, dart.dynam ic, core.Map]),
1093 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1094 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1095 })
1096 });
1097 const _value$ = Symbol('_value');
1098 src__core_matchers._StringEqualsMatcher = class _StringEqualsMatcher extends s rc__interfaces.Matcher {
1099 new(value) {
1100 this[_value$] = value;
1101 super.new();
1102 }
1103 get showActualValue() {
1104 return true;
1105 }
1106 matches(item, matchState) {
1107 return dart.equals(this[_value$], item);
1108 }
1109 describe(description) {
1110 return description.addDescriptionOf(this[_value$]);
1111 }
1112 describeMismatch(item, mismatchDescription, matchState, verbose) {
1113 if (!(typeof item == 'string')) {
1114 return mismatchDescription.addDescriptionOf(item).add('is not a string') ;
1115 } else {
1116 let buff = new core.StringBuffer();
1117 buff.write('is different.');
1118 let escapedItem = src__util.escape(core.String._check(item));
1119 let escapedValue = src__util.escape(this[_value$]);
1120 let minLength = dart.notNull(escapedItem[dartx.length]) < dart.notNull(e scapedValue[dartx.length]) ? escapedItem[dartx.length] : escapedValue[dartx.leng th];
1121 let start = 0;
1122 for (; start < dart.notNull(minLength); start++) {
1123 if (escapedValue[dartx.codeUnitAt](start) != escapedItem[dartx.codeUni tAt](start)) {
1124 break;
1125 }
1126 }
1127 if (start == minLength) {
1128 if (dart.notNull(escapedValue[dartx.length]) < dart.notNull(escapedIte m[dartx.length])) {
1129 buff.write(' Both strings start the same, but the given value also' + ' has the following trailing characters: ');
1130 src__core_matchers._StringEqualsMatcher._writeTrailing(buff, escaped Item, escapedValue[dartx.length]);
1131 } else {
1132 buff.write(' Both strings start the same, but the given value is' + ' missing the following trailing characters: ');
1133 src__core_matchers._StringEqualsMatcher._writeTrailing(buff, escaped Value, escapedItem[dartx.length]);
1134 }
1135 } else {
1136 buff.write('\nExpected: ');
1137 src__core_matchers._StringEqualsMatcher._writeLeading(buff, escapedVal ue, start);
1138 src__core_matchers._StringEqualsMatcher._writeTrailing(buff, escapedVa lue, start);
1139 buff.write('\n Actual: ');
1140 src__core_matchers._StringEqualsMatcher._writeLeading(buff, escapedIte m, start);
1141 src__core_matchers._StringEqualsMatcher._writeTrailing(buff, escapedIt em, start);
1142 buff.write('\n ');
1143 for (let i = start > 10 ? 14 : start; i > 0; i--)
1144 buff.write(' ');
1145 buff.write(dart.str`^\n Differ at offset ${start}`);
1146 }
1147 return mismatchDescription.replace(buff.toString());
1148 }
1149 }
1150 static _writeLeading(buff, s, start) {
1151 if (dart.notNull(start) > 10) {
1152 buff.write('... ');
1153 buff.write(s[dartx.substring](dart.notNull(start) - 10, start));
1154 } else {
1155 buff.write(s[dartx.substring](0, start));
1156 }
1157 }
1158 static _writeTrailing(buff, s, start) {
1159 if (dart.notNull(start) + 10 > dart.notNull(s[dartx.length])) {
1160 buff.write(s[dartx.substring](start));
1161 } else {
1162 buff.write(s[dartx.substring](start, dart.notNull(start) + 10));
1163 buff.write(' ...');
1164 }
1165 }
1166 };
1167 dart.setSignature(src__core_matchers._StringEqualsMatcher, {
1168 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._Str ingEqualsMatcher, [core.String])}),
1169 methods: () => ({
1170 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1171 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1172 }),
1173 statics: () => ({
1174 _writeLeading: dart.definiteFunctionType(dart.void, [core.StringBuffer, co re.String, core.int]),
1175 _writeTrailing: dart.definiteFunctionType(dart.void, [core.StringBuffer, c ore.String, core.int])
1176 }),
1177 names: ['_writeLeading', '_writeTrailing']
1178 });
1179 src__core_matchers._HasLength = class _HasLength extends src__interfaces.Match er {
1180 new(matcher) {
1181 if (matcher === void 0) matcher = null;
1182 this[_matcher] = matcher;
1183 super.new();
1184 }
1185 matches(item, matchState) {
1186 try {
1187 if (dart.test(dart.dsend(dart.dsend(dart.dload(item, 'length'), '*', dar t.dload(item, 'length')), '>=', 0))) {
1188 return this[_matcher].matches(dart.dload(item, 'length'), matchState);
1189 }
1190 } catch (e) {
1191 }
1192
1193 return false;
1194 }
1195 describe(description) {
1196 return description.add('an object with length of ').addDescriptionOf(this[ _matcher]);
1197 }
1198 describeMismatch(item, mismatchDescription, matchState, verbose) {
1199 try {
1200 if (dart.test(dart.dsend(dart.dsend(dart.dload(item, 'length'), '*', dar t.dload(item, 'length')), '>=', 0))) {
1201 return mismatchDescription.add('has length of ').addDescriptionOf(dart .dload(item, 'length'));
1202 }
1203 } catch (e) {
1204 }
1205
1206 return mismatchDescription.add('has no length property');
1207 }
1208 };
1209 dart.setSignature(src__core_matchers._HasLength, {
1210 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._Has Length, [], [src__interfaces.Matcher])}),
1211 methods: () => ({
1212 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1213 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1214 })
1215 });
1216 src__core_matchers._Contains = class _Contains extends src__interfaces.Matcher {
1217 new(expected) {
1218 this[_expected] = expected;
1219 super.new();
1220 }
1221 matches(item, matchState) {
1222 if (typeof item == 'string') {
1223 return dart.notNull(item[dartx.indexOf](core.Pattern._check(this[_expect ed]))) >= 0;
1224 } else if (core.Iterable.is(item)) {
1225 if (src__interfaces.Matcher.is(this[_expected])) {
1226 return item[dartx.any](dart.fn(e => core.bool._check(dart.dsend(this[_ expected], 'matches', e, matchState)), dynamicTobool$()));
1227 } else {
1228 return item[dartx.contains](this[_expected]);
1229 }
1230 } else if (core.Map.is(item)) {
1231 return item[dartx.containsKey](this[_expected]);
1232 }
1233 return false;
1234 }
1235 describe(description) {
1236 return description.add('contains ').addDescriptionOf(this[_expected]);
1237 }
1238 describeMismatch(item, mismatchDescription, matchState, verbose) {
1239 if (typeof item == 'string' || core.Iterable.is(item) || core.Map.is(item) ) {
1240 return super.describeMismatch(item, mismatchDescription, matchState, ver bose);
1241 } else {
1242 return mismatchDescription.add('is not a string, map or iterable');
1243 }
1244 }
1245 };
1246 dart.setSignature(src__core_matchers._Contains, {
1247 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._Con tains, [dart.dynamic])}),
1248 methods: () => ({
1249 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1250 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1251 })
1252 });
1253 src__core_matchers._In = class _In extends src__interfaces.Matcher {
1254 new(expected) {
1255 this[_expected] = expected;
1256 super.new();
1257 }
1258 matches(item, matchState) {
1259 if (typeof this[_expected] == 'string') {
1260 return core.bool._check(dart.dsend(dart.dsend(this[_expected], 'indexOf' , item), '>=', 0));
1261 } else if (core.Iterable.is(this[_expected])) {
1262 return core.bool._check(dart.dsend(this[_expected], 'any', dart.fn(e => dart.equals(e, item), dynamicTobool$())));
1263 } else if (core.Map.is(this[_expected])) {
1264 return core.bool._check(dart.dsend(this[_expected], 'containsKey', item) );
1265 }
1266 return false;
1267 }
1268 describe(description) {
1269 return description.add('is in ').addDescriptionOf(this[_expected]);
1270 }
1271 };
1272 dart.setSignature(src__core_matchers._In, {
1273 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._In, [dart.dynamic])}),
1274 methods: () => ({
1275 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1276 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1277 })
1278 });
1279 src__core_matchers._PredicateFunction = dart.typedef('_PredicateFunction', () => dart.functionType(core.bool, [dart.dynamic]));
1280 const _description = Symbol('_description');
1281 src__core_matchers._Predicate = class _Predicate extends src__interfaces.Match er {
1282 new(matcher, description) {
1283 this[_matcher] = matcher;
1284 this[_description] = description;
1285 super.new();
1286 }
1287 matches(item, matchState) {
1288 return dart.dcall(this[_matcher], item);
1289 }
1290 describe(description) {
1291 return description.add(this[_description]);
1292 }
1293 };
1294 dart.setSignature(src__core_matchers._Predicate, {
1295 constructors: () => ({new: dart.definiteFunctionType(src__core_matchers._Pre dicate, [src__core_matchers._PredicateFunction, core.String])}),
1296 methods: () => ({
1297 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1298 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1299 })
1300 });
1301 const _matcher$0 = Symbol('_matcher');
1302 src__iterable_matchers._IterableMatcher = class _IterableMatcher extends src__ interfaces.Matcher {
1303 new() {
1304 super.new();
1305 }
1306 describeMismatch(item, mismatchDescription, matchState, verbose) {
1307 if (!core.Iterable.is(item)) {
1308 return mismatchDescription.addDescriptionOf(item).add(' not an Iterable' );
1309 } else {
1310 return super.describeMismatch(item, mismatchDescription, matchState, ver bose);
1311 }
1312 }
1313 };
1314 dart.setSignature(src__iterable_matchers._IterableMatcher, {
1315 constructors: () => ({new: dart.definiteFunctionType(src__iterable_matchers. _IterableMatcher, [])})
1316 });
1317 src__iterable_matchers._EveryElement = class _EveryElement extends src__iterab le_matchers._IterableMatcher {
1318 new(matcher) {
1319 this[_matcher$0] = matcher;
1320 super.new();
1321 }
1322 matches(item, matchState) {
1323 if (!core.Iterable.is(item)) {
1324 return false;
1325 }
1326 let i = 0;
1327 for (let element of core.Iterable._check(item)) {
1328 if (!dart.test(this[_matcher$0].matches(element, matchState))) {
1329 src__util.addStateInfo(matchState, dart.map({index: i, element: elemen t}, core.String, dart.dynamic));
1330 return false;
1331 }
1332 ++i;
1333 }
1334 return true;
1335 }
1336 describe(description) {
1337 return description.add('every element(').addDescriptionOf(this[_matcher$0] ).add(')');
1338 }
1339 describeMismatch(item, mismatchDescription, matchState, verbose) {
1340 if (matchState[dartx.get]('index') != null) {
1341 let index = matchState[dartx.get]('index');
1342 let element = matchState[dartx.get]('element');
1343 mismatchDescription.add('has value ').addDescriptionOf(element).add(' wh ich ');
1344 let subDescription = new src__description.StringDescription();
1345 this[_matcher$0].describeMismatch(element, subDescription, core.Map._che ck(matchState[dartx.get]('state')), verbose);
1346 if (dart.notNull(subDescription.length) > 0) {
1347 mismatchDescription.add(subDescription.toString());
1348 } else {
1349 mismatchDescription.add("doesn't match ");
1350 this[_matcher$0].describe(mismatchDescription);
1351 }
1352 mismatchDescription.add(dart.str` at index ${index}`);
1353 return mismatchDescription;
1354 }
1355 return super.describeMismatch(item, mismatchDescription, matchState, verbo se);
1356 }
1357 };
1358 dart.setSignature(src__iterable_matchers._EveryElement, {
1359 constructors: () => ({new: dart.definiteFunctionType(src__iterable_matchers. _EveryElement, [src__interfaces.Matcher])}),
1360 methods: () => ({
1361 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1362 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1363 })
1364 });
1365 src__iterable_matchers._AnyElement = class _AnyElement extends src__iterable_m atchers._IterableMatcher {
1366 new(matcher) {
1367 this[_matcher$0] = matcher;
1368 super.new();
1369 }
1370 matches(item, matchState) {
1371 return core.bool._check(dart.dsend(item, 'any', dart.fn(e => this[_matcher $0].matches(e, matchState), dynamicTobool$())));
1372 }
1373 describe(description) {
1374 return description.add('some element ').addDescriptionOf(this[_matcher$0]) ;
1375 }
1376 };
1377 dart.setSignature(src__iterable_matchers._AnyElement, {
1378 constructors: () => ({new: dart.definiteFunctionType(src__iterable_matchers. _AnyElement, [src__interfaces.Matcher])}),
1379 methods: () => ({
1380 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1381 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1382 })
1383 });
1384 const _expected$ = Symbol('_expected');
1385 src__iterable_matchers._OrderedEquals = class _OrderedEquals extends src__inte rfaces.Matcher {
1386 new(expected) {
1387 this[_expected$] = expected;
1388 this[_matcher$0] = null;
1389 super.new();
1390 this[_matcher$0] = src__core_matchers.equals(this[_expected$], 1);
1391 }
1392 matches(item, matchState) {
1393 return core.Iterable.is(item) && dart.test(this[_matcher$0].matches(item, matchState));
1394 }
1395 describe(description) {
1396 return description.add('equals ').addDescriptionOf(this[_expected$]).add(' ordered');
1397 }
1398 describeMismatch(item, mismatchDescription, matchState, verbose) {
1399 if (!core.Iterable.is(item)) {
1400 return mismatchDescription.add('is not an Iterable');
1401 } else {
1402 return this[_matcher$0].describeMismatch(item, mismatchDescription, matc hState, verbose);
1403 }
1404 }
1405 };
1406 dart.setSignature(src__iterable_matchers._OrderedEquals, {
1407 constructors: () => ({new: dart.definiteFunctionType(src__iterable_matchers. _OrderedEquals, [core.Iterable])}),
1408 methods: () => ({
1409 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1410 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1411 })
1412 });
1413 const _expectedValues = Symbol('_expectedValues');
1414 const _test = Symbol('_test');
1415 src__iterable_matchers._UnorderedMatches = class _UnorderedMatches extends src __interfaces.Matcher {
1416 new(expected) {
1417 this[_expected$] = expected[dartx.map](src__interfaces.Matcher)(src__util. wrapMatcher)[dartx.toList]();
1418 super.new();
1419 }
1420 [_test](item) {
1421 if (!core.Iterable.is(item)) return 'not iterable';
1422 item = dart.dsend(item, 'toList');
1423 if (dart.notNull(this[_expected$][dartx.length]) > dart.notNull(core.num._ check(dart.dload(item, 'length')))) {
1424 return dart.str`has too few elements (${dart.dload(item, 'length')} < ${ this[_expected$][dartx.length]})`;
1425 } else if (dart.notNull(this[_expected$][dartx.length]) < dart.notNull(cor e.num._check(dart.dload(item, 'length')))) {
1426 return dart.str`has too many elements (${dart.dload(item, 'length')} > $ {this[_expected$][dartx.length]})`;
1427 }
1428 let matched = ListOfbool().filled(core.int._check(dart.dload(item, 'length ')), false);
1429 let expectedPosition = 0;
1430 for (let expectedMatcher of this[_expected$]) {
1431 let actualPosition = 0;
1432 let gotMatch = false;
1433 for (let actualElement of core.Iterable._check(item)) {
1434 if (!dart.test(matched[dartx.get](actualPosition))) {
1435 if (dart.test(expectedMatcher.matches(actualElement, dart.map()))) {
1436 matched[dartx.set](actualPosition, gotMatch = true);
1437 break;
1438 }
1439 }
1440 ++actualPosition;
1441 }
1442 if (!gotMatch) {
1443 return dart.toString(new src__description.StringDescription().add('has no match for ').addDescriptionOf(expectedMatcher).add(dart.str` at index ${expe ctedPosition}`));
1444 }
1445 ++expectedPosition;
1446 }
1447 return null;
1448 }
1449 matches(item, mismatchState) {
1450 return this[_test](item) == null;
1451 }
1452 describe(description) {
1453 return description.add('matches ').addAll('[', ', ', ']', this[_expected$] ).add(' unordered');
1454 }
1455 describeMismatch(item, mismatchDescription, matchState, verbose) {
1456 return mismatchDescription.add(this[_test](item));
1457 }
1458 };
1459 dart.setSignature(src__iterable_matchers._UnorderedMatches, {
1460 constructors: () => ({new: dart.definiteFunctionType(src__iterable_matchers. _UnorderedMatches, [core.Iterable])}),
1461 methods: () => ({
1462 [_test]: dart.definiteFunctionType(core.String, [dart.dynamic]),
1463 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1464 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1465 })
1466 });
1467 src__iterable_matchers._UnorderedEquals = class _UnorderedEquals extends src__ iterable_matchers._UnorderedMatches {
1468 new(expected) {
1469 this[_expectedValues] = expected[dartx.toList]();
1470 super.new(expected[dartx.map](src__interfaces.Matcher)(src__core_matchers. equals));
1471 }
1472 describe(description) {
1473 return description.add('equals ').addDescriptionOf(this[_expectedValues]). add(' unordered');
1474 }
1475 };
1476 dart.setSignature(src__iterable_matchers._UnorderedEquals, {
1477 constructors: () => ({new: dart.definiteFunctionType(src__iterable_matchers. _UnorderedEquals, [core.Iterable])})
1478 });
1479 src__iterable_matchers._Comparator = dart.typedef('_Comparator', () => dart.fu nctionType(core.bool, [dart.dynamic, dart.dynamic]));
1480 const _comparator = Symbol('_comparator');
1481 const _description$ = Symbol('_description');
1482 src__iterable_matchers._PairwiseCompare = class _PairwiseCompare extends src__ iterable_matchers._IterableMatcher {
1483 new(expected, comparator, description) {
1484 this[_expected$] = expected;
1485 this[_comparator] = comparator;
1486 this[_description$] = description;
1487 super.new();
1488 }
1489 matches(item, matchState) {
1490 if (!core.Iterable.is(item)) return false;
1491 if (!dart.equals(dart.dload(item, 'length'), this[_expected$][dartx.length ])) return false;
1492 let iterator = dart.dload(item, 'iterator');
1493 let i = 0;
1494 for (let e of this[_expected$]) {
1495 dart.dsend(iterator, 'moveNext');
1496 if (!dart.test(dart.dcall(this[_comparator], e, dart.dload(iterator, 'cu rrent')))) {
1497 src__util.addStateInfo(matchState, dart.map({index: i, expected: e, ac tual: dart.dload(iterator, 'current')}, core.String, dart.dynamic));
1498 return false;
1499 }
1500 i++;
1501 }
1502 return true;
1503 }
1504 describe(description) {
1505 return description.add(dart.str`pairwise ${this[_description$]} `).addDesc riptionOf(this[_expected$]);
1506 }
1507 describeMismatch(item, mismatchDescription, matchState, verbose) {
1508 if (!core.Iterable.is(item)) {
1509 return mismatchDescription.add('is not an Iterable');
1510 } else if (!dart.equals(dart.dload(item, 'length'), this[_expected$][dartx .length])) {
1511 return mismatchDescription.add(dart.str`has length ${dart.dload(item, 'l ength')} instead of ${this[_expected$][dartx.length]}`);
1512 } else {
1513 return mismatchDescription.add('has ').addDescriptionOf(matchState[dartx .get]("actual")).add(dart.str` which is not ${this[_description$]} `).addDescrip tionOf(matchState[dartx.get]("expected")).add(dart.str` at index ${matchState[da rtx.get]("index")}`);
1514 }
1515 }
1516 };
1517 dart.setSignature(src__iterable_matchers._PairwiseCompare, {
1518 constructors: () => ({new: dart.definiteFunctionType(src__iterable_matchers. _PairwiseCompare, [core.Iterable, src__iterable_matchers._Comparator, core.Strin g])}),
1519 methods: () => ({
1520 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1521 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1522 })
1523 });
1524 const _value$0 = Symbol('_value');
1525 src__map_matchers._ContainsValue = class _ContainsValue extends src__interface s.Matcher {
1526 new(value) {
1527 this[_value$0] = value;
1528 super.new();
1529 }
1530 matches(item, matchState) {
1531 return core.bool._check(dart.dsend(item, 'containsValue', this[_value$0])) ;
1532 }
1533 describe(description) {
1534 return description.add('contains value ').addDescriptionOf(this[_value$0]) ;
1535 }
1536 };
1537 dart.setSignature(src__map_matchers._ContainsValue, {
1538 constructors: () => ({new: dart.definiteFunctionType(src__map_matchers._Cont ainsValue, [dart.dynamic])}),
1539 methods: () => ({
1540 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1541 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1542 })
1543 });
1544 const _key = Symbol('_key');
1545 const _valueMatcher = Symbol('_valueMatcher');
1546 src__map_matchers._ContainsMapping = class _ContainsMapping extends src__inter faces.Matcher {
1547 new(key, valueMatcher) {
1548 this[_key] = key;
1549 this[_valueMatcher] = valueMatcher;
1550 super.new();
1551 }
1552 matches(item, matchState) {
1553 return dart.test(dart.dsend(item, 'containsKey', this[_key])) && dart.test (this[_valueMatcher].matches(dart.dindex(item, this[_key]), matchState));
1554 }
1555 describe(description) {
1556 return description.add('contains pair ').addDescriptionOf(this[_key]).add( ' => ').addDescriptionOf(this[_valueMatcher]);
1557 }
1558 describeMismatch(item, mismatchDescription, matchState, verbose) {
1559 if (!dart.test(dart.dsend(item, 'containsKey', this[_key]))) {
1560 return mismatchDescription.add(" doesn't contain key ").addDescriptionOf (this[_key]);
1561 } else {
1562 mismatchDescription.add(' contains key ').addDescriptionOf(this[_key]).a dd(' but with value ');
1563 this[_valueMatcher].describeMismatch(dart.dindex(item, this[_key]), mism atchDescription, matchState, verbose);
1564 return mismatchDescription;
1565 }
1566 }
1567 };
1568 dart.setSignature(src__map_matchers._ContainsMapping, {
1569 constructors: () => ({new: dart.definiteFunctionType(src__map_matchers._Cont ainsMapping, [dart.dynamic, src__interfaces.Matcher])}),
1570 methods: () => ({
1571 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1572 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1573 })
1574 });
1575 src__numeric_matchers._isNumeric = function(value) {
1576 return typeof value == 'number';
1577 };
1578 dart.fn(src__numeric_matchers._isNumeric, dynamicTobool$());
1579 const _delta = Symbol('_delta');
1580 src__numeric_matchers._IsCloseTo = class _IsCloseTo extends src__interfaces.Ma tcher {
1581 new(value, delta) {
1582 this[_value] = value;
1583 this[_delta] = delta;
1584 super.new();
1585 }
1586 matches(item, matchState) {
1587 if (!dart.test(src__numeric_matchers._isNumeric(item))) {
1588 return false;
1589 }
1590 let diff = dart.dsend(item, '-', this[_value]);
1591 if (dart.test(dart.dsend(diff, '<', 0))) diff = dart.dsend(diff, 'unary-') ;
1592 return core.bool._check(dart.dsend(diff, '<=', this[_delta]));
1593 }
1594 describe(description) {
1595 return description.add('a numeric value within ').addDescriptionOf(this[_d elta]).add(' of ').addDescriptionOf(this[_value]);
1596 }
1597 describeMismatch(item, mismatchDescription, matchState, verbose) {
1598 if (!(typeof item == 'number')) {
1599 return mismatchDescription.add(' not numeric');
1600 } else {
1601 let diff = dart.dsend(item, '-', this[_value]);
1602 if (dart.test(dart.dsend(diff, '<', 0))) diff = dart.dsend(diff, 'unary- ');
1603 return mismatchDescription.add(' differs by ').addDescriptionOf(diff);
1604 }
1605 }
1606 };
1607 dart.setSignature(src__numeric_matchers._IsCloseTo, {
1608 constructors: () => ({new: dart.definiteFunctionType(src__numeric_matchers._ IsCloseTo, [core.num, core.num])}),
1609 methods: () => ({
1610 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1611 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1612 })
1613 });
1614 const _low = Symbol('_low');
1615 const _high = Symbol('_high');
1616 const _lowMatchValue = Symbol('_lowMatchValue');
1617 const _highMatchValue = Symbol('_highMatchValue');
1618 src__numeric_matchers._InRange = class _InRange extends src__interfaces.Matche r {
1619 new(low, high, lowMatchValue, highMatchValue) {
1620 this[_low] = low;
1621 this[_high] = high;
1622 this[_lowMatchValue] = lowMatchValue;
1623 this[_highMatchValue] = highMatchValue;
1624 super.new();
1625 }
1626 matches(value, matchState) {
1627 if (!(typeof value == 'number')) {
1628 return false;
1629 }
1630 if (dart.test(dart.dsend(value, '<', this[_low])) || dart.test(dart.dsend( value, '>', this[_high]))) {
1631 return false;
1632 }
1633 if (dart.equals(value, this[_low])) {
1634 return this[_lowMatchValue];
1635 }
1636 if (dart.equals(value, this[_high])) {
1637 return this[_highMatchValue];
1638 }
1639 return true;
1640 }
1641 describe(description) {
1642 return description.add("be in range from " + dart.str`${this[_low]} (${dar t.test(this[_lowMatchValue]) ? 'inclusive' : 'exclusive'}) to ` + dart.str`${thi s[_high]} (${dart.test(this[_highMatchValue]) ? 'inclusive' : 'exclusive'})`);
1643 }
1644 describeMismatch(item, mismatchDescription, matchState, verbose) {
1645 if (!(typeof item == 'number')) {
1646 return mismatchDescription.addDescriptionOf(item).add(' not numeric');
1647 } else {
1648 return super.describeMismatch(item, mismatchDescription, matchState, ver bose);
1649 }
1650 }
1651 };
1652 dart.setSignature(src__numeric_matchers._InRange, {
1653 constructors: () => ({new: dart.definiteFunctionType(src__numeric_matchers._ InRange, [core.num, core.num, core.bool, core.bool])}),
1654 methods: () => ({
1655 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1656 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1657 })
1658 });
1659 const _matcher$1 = Symbol('_matcher');
1660 src__operator_matchers._IsNot = class _IsNot extends src__interfaces.Matcher {
1661 new(matcher) {
1662 this[_matcher$1] = matcher;
1663 super.new();
1664 }
1665 matches(item, matchState) {
1666 return !dart.test(this[_matcher$1].matches(item, matchState));
1667 }
1668 describe(description) {
1669 return description.add('not ').addDescriptionOf(this[_matcher$1]);
1670 }
1671 };
1672 dart.setSignature(src__operator_matchers._IsNot, {
1673 constructors: () => ({new: dart.definiteFunctionType(src__operator_matchers. _IsNot, [src__interfaces.Matcher])}),
1674 methods: () => ({
1675 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1676 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1677 })
1678 });
1679 const _matchers = Symbol('_matchers');
1680 src__operator_matchers._AllOf = class _AllOf extends src__interfaces.Matcher {
1681 new(matchers) {
1682 this[_matchers] = matchers;
1683 super.new();
1684 }
1685 matches(item, matchState) {
1686 for (let matcher of this[_matchers]) {
1687 if (!dart.test(matcher.matches(item, matchState))) {
1688 src__util.addStateInfo(matchState, dart.map({matcher: matcher}, core.S tring, src__interfaces.Matcher));
1689 return false;
1690 }
1691 }
1692 return true;
1693 }
1694 describeMismatch(item, mismatchDescription, matchState, verbose) {
1695 let matcher = matchState[dartx.get]('matcher');
1696 dart.dsend(matcher, 'describeMismatch', item, mismatchDescription, matchSt ate[dartx.get]('state'), verbose);
1697 return mismatchDescription;
1698 }
1699 describe(description) {
1700 return description.addAll('(', ' and ', ')', this[_matchers]);
1701 }
1702 };
1703 dart.setSignature(src__operator_matchers._AllOf, {
1704 constructors: () => ({new: dart.definiteFunctionType(src__operator_matchers. _AllOf, [core.List$(src__interfaces.Matcher)])}),
1705 methods: () => ({
1706 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1707 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1708 })
1709 });
1710 src__operator_matchers._AnyOf = class _AnyOf extends src__interfaces.Matcher {
1711 new(matchers) {
1712 this[_matchers] = matchers;
1713 super.new();
1714 }
1715 matches(item, matchState) {
1716 for (let matcher of this[_matchers]) {
1717 if (dart.test(matcher.matches(item, matchState))) {
1718 return true;
1719 }
1720 }
1721 return false;
1722 }
1723 describe(description) {
1724 return description.addAll('(', ' or ', ')', this[_matchers]);
1725 }
1726 };
1727 dart.setSignature(src__operator_matchers._AnyOf, {
1728 constructors: () => ({new: dart.definiteFunctionType(src__operator_matchers. _AnyOf, [core.List$(src__interfaces.Matcher)])}),
1729 methods: () => ({
1730 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1731 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1732 })
1733 });
1734 src__operator_matchers._wrapArgs = function(arg0, arg1, arg2, arg3, arg4, arg5 , arg6) {
1735 let args = null;
1736 if (core.List.is(arg0)) {
1737 if (arg1 != null || arg2 != null || arg3 != null || arg4 != null || arg5 ! = null || arg6 != null) {
1738 dart.throw(new core.ArgumentError('If arg0 is a List, all other argument s must be' + ' null.'));
1739 }
1740 args = arg0;
1741 } else {
1742 args = [arg0, arg1, arg2, arg3, arg4, arg5, arg6][dartx.where](dart.fn(e = > e != null, dynamicTobool$()));
1743 }
1744 return args[dartx.map](src__interfaces.Matcher)(dart.fn(e => src__util.wrapM atcher(e), dynamicToMatcher()))[dartx.toList]();
1745 };
1746 dart.fn(src__operator_matchers._wrapArgs, dynamicAnddynamicAnddynamic__ToListO fMatcher());
1747 src__pretty_print.prettyPrint = function(object, opts) {
1748 let maxLineLength = opts && 'maxLineLength' in opts ? opts.maxLineLength : n ull;
1749 let maxItems = opts && 'maxItems' in opts ? opts.maxItems : null;
1750 function _prettyPrint(object, indent, seen, top) {
1751 if (src__interfaces.Matcher.is(object)) {
1752 let description = new src__description.StringDescription();
1753 object.describe(description);
1754 return dart.str`<${description}>`;
1755 }
1756 if (dart.test(seen.contains(object))) return "(recursive)";
1757 seen = seen.union(core.Set.from([object]));
1758 function pp(child) {
1759 return _prettyPrint(child, dart.notNull(indent) + 2, seen, false);
1760 }
1761 dart.fn(pp, dynamicToString());
1762 if (core.Iterable.is(object)) {
1763 let type = core.List.is(object) ? "" : dart.notNull(src__pretty_print._t ypeName(object)) + ":";
1764 let strings = object[dartx.map](core.String)(pp)[dartx.toList]();
1765 if (maxItems != null && dart.notNull(strings[dartx.length]) > dart.notNu ll(maxItems)) {
1766 strings[dartx.replaceRange](dart.notNull(maxItems) - 1, strings[dartx. length], JSArrayOfString().of(['...']));
1767 }
1768 let singleLine = dart.str`${type}[${strings[dartx.join](', ')}]`;
1769 if ((maxLineLength == null || dart.notNull(singleLine[dartx.length]) + d art.notNull(indent) <= dart.notNull(maxLineLength)) && !dart.test(singleLine[dar tx.contains]("\n"))) {
1770 return singleLine;
1771 }
1772 return dart.str`${type}[\n` + dart.notNull(strings[dartx.map](core.Strin g)(dart.fn(string => dart.notNull(src__pretty_print._indent(dart.notNull(indent) + 2)) + dart.notNull(string), StringToString()))[dartx.join](",\n")) + "\n" + d art.notNull(src__pretty_print._indent(indent)) + "]";
1773 } else if (core.Map.is(object)) {
1774 let strings = object[dartx.keys][dartx.map](core.String)(dart.fn(key => dart.str`${pp(key)}: ${pp(object[dartx.get](key))}`, dynamicToString()))[dartx.t oList]();
1775 if (maxItems != null && dart.notNull(strings[dartx.length]) > dart.notNu ll(maxItems)) {
1776 strings[dartx.replaceRange](dart.notNull(maxItems) - 1, strings[dartx. length], JSArrayOfString().of(['...']));
1777 }
1778 let singleLine = dart.str`{${strings[dartx.join](", ")}}`;
1779 if ((maxLineLength == null || dart.notNull(singleLine[dartx.length]) + d art.notNull(indent) <= dart.notNull(maxLineLength)) && !dart.test(singleLine[dar tx.contains]("\n"))) {
1780 return singleLine;
1781 }
1782 return "{\n" + dart.notNull(strings[dartx.map](core.String)(dart.fn(stri ng => dart.notNull(src__pretty_print._indent(dart.notNull(indent) + 2)) + dart.n otNull(string), StringToString()))[dartx.join](",\n")) + "\n" + dart.notNull(src __pretty_print._indent(indent)) + "}";
1783 } else if (typeof object == 'string') {
1784 let lines = object[dartx.split]("\n");
1785 return "'" + dart.notNull(lines[dartx.map](core.String)(src__pretty_prin t._escapeString)[dartx.join](dart.str`\\n'\n${src__pretty_print._indent(dart.not Null(indent) + 2)}'`)) + "'";
1786 } else {
1787 let value = dart.toString(object)[dartx.replaceAll]("\n", dart.notNull(s rc__pretty_print._indent(indent)) + "\n");
1788 let defaultToString = value[dartx.startsWith]("Instance of ");
1789 if (dart.test(top)) value = dart.str`<${value}>`;
1790 if (typeof object == 'number' || typeof object == 'boolean' || core.Func tion.is(object) || object == null || dart.test(defaultToString)) {
1791 return value;
1792 } else {
1793 return dart.str`${src__pretty_print._typeName(object)}:${value}`;
1794 }
1795 }
1796 }
1797 dart.fn(_prettyPrint, dynamicAndintAndSet__ToString());
1798 return _prettyPrint(object, 0, core.Set.new(), true);
1799 };
1800 dart.fn(src__pretty_print.prettyPrint, dynamic__ToString());
1801 src__pretty_print._indent = function(length) {
1802 return ListOfString().filled(length, ' ')[dartx.join]('');
1803 };
1804 dart.fn(src__pretty_print._indent, intToString());
1805 src__pretty_print._typeName = function(x) {
1806 try {
1807 if (x == null) return "null";
1808 let type = dart.toString(dart.runtimeType(x));
1809 return dart.test(type[dartx.startsWith]("_")) ? "?" : type;
1810 } catch (e) {
1811 return "?";
1812 }
1813
1814 };
1815 dart.fn(src__pretty_print._typeName, dynamicToString());
1816 src__pretty_print._escapeString = function(source) {
1817 return src__util.escape(source)[dartx.replaceAll]("'", "\\'");
1818 };
1819 dart.fn(src__pretty_print._escapeString, StringToString());
1820 const _value$1 = Symbol('_value');
1821 const _matchValue = Symbol('_matchValue');
1822 src__string_matchers._StringMatcher = class _StringMatcher extends src__interf aces.Matcher {
1823 new() {
1824 super.new();
1825 }
1826 describeMismatch(item, mismatchDescription, matchState, verbose) {
1827 if (!(typeof item == 'string')) {
1828 return mismatchDescription.addDescriptionOf(item).add(' not a string');
1829 } else {
1830 return super.describeMismatch(item, mismatchDescription, matchState, ver bose);
1831 }
1832 }
1833 };
1834 dart.setSignature(src__string_matchers._StringMatcher, {
1835 constructors: () => ({new: dart.definiteFunctionType(src__string_matchers._S tringMatcher, [])})
1836 });
1837 src__string_matchers._IsEqualIgnoringCase = class _IsEqualIgnoringCase extends src__string_matchers._StringMatcher {
1838 new(value) {
1839 this[_value$1] = value;
1840 this[_matchValue] = value[dartx.toLowerCase]();
1841 super.new();
1842 }
1843 matches(item, matchState) {
1844 return typeof item == 'string' && this[_matchValue] == item[dartx.toLowerC ase]();
1845 }
1846 describe(description) {
1847 return description.addDescriptionOf(this[_value$1]).add(' ignoring case');
1848 }
1849 };
1850 dart.setSignature(src__string_matchers._IsEqualIgnoringCase, {
1851 constructors: () => ({new: dart.definiteFunctionType(src__string_matchers._I sEqualIgnoringCase, [core.String])}),
1852 methods: () => ({
1853 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1854 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1855 })
1856 });
1857 src__string_matchers._IsEqualIgnoringWhitespace = class _IsEqualIgnoringWhites pace extends src__string_matchers._StringMatcher {
1858 new(value) {
1859 this[_value$1] = value;
1860 this[_matchValue] = src__string_matchers.collapseWhitespace(value);
1861 super.new();
1862 }
1863 matches(item, matchState) {
1864 return typeof item == 'string' && this[_matchValue] == src__string_matcher s.collapseWhitespace(item);
1865 }
1866 describe(description) {
1867 return description.addDescriptionOf(this[_matchValue]).add(' ignoring whit espace');
1868 }
1869 describeMismatch(item, mismatchDescription, matchState, verbose) {
1870 if (typeof item == 'string') {
1871 return mismatchDescription.add('is ').addDescriptionOf(src__string_match ers.collapseWhitespace(item)).add(' with whitespace compressed');
1872 } else {
1873 return super.describeMismatch(item, mismatchDescription, matchState, ver bose);
1874 }
1875 }
1876 };
1877 dart.setSignature(src__string_matchers._IsEqualIgnoringWhitespace, {
1878 constructors: () => ({new: dart.definiteFunctionType(src__string_matchers._I sEqualIgnoringWhitespace, [core.String])}),
1879 methods: () => ({
1880 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1881 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1882 })
1883 });
1884 const _prefix = Symbol('_prefix');
1885 src__string_matchers._StringStartsWith = class _StringStartsWith extends src__ string_matchers._StringMatcher {
1886 new(prefix) {
1887 this[_prefix] = prefix;
1888 super.new();
1889 }
1890 matches(item, matchState) {
1891 return typeof item == 'string' && dart.test(item[dartx.startsWith](this[_p refix]));
1892 }
1893 describe(description) {
1894 return description.add('a string starting with ').addDescriptionOf(this[_p refix]);
1895 }
1896 };
1897 dart.setSignature(src__string_matchers._StringStartsWith, {
1898 constructors: () => ({new: dart.definiteFunctionType(src__string_matchers._S tringStartsWith, [core.String])}),
1899 methods: () => ({
1900 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1901 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1902 })
1903 });
1904 const _suffix = Symbol('_suffix');
1905 src__string_matchers._StringEndsWith = class _StringEndsWith extends src__stri ng_matchers._StringMatcher {
1906 new(suffix) {
1907 this[_suffix] = suffix;
1908 super.new();
1909 }
1910 matches(item, matchState) {
1911 return typeof item == 'string' && dart.test(item[dartx.endsWith](this[_suf fix]));
1912 }
1913 describe(description) {
1914 return description.add('a string ending with ').addDescriptionOf(this[_suf fix]);
1915 }
1916 };
1917 dart.setSignature(src__string_matchers._StringEndsWith, {
1918 constructors: () => ({new: dart.definiteFunctionType(src__string_matchers._S tringEndsWith, [core.String])}),
1919 methods: () => ({
1920 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1921 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1922 })
1923 });
1924 const _substrings = Symbol('_substrings');
1925 src__string_matchers._StringContainsInOrder = class _StringContainsInOrder ext ends src__string_matchers._StringMatcher {
1926 new(substrings) {
1927 this[_substrings] = substrings;
1928 super.new();
1929 }
1930 matches(item, matchState) {
1931 if (!(typeof item == 'string')) {
1932 return false;
1933 }
1934 let from_index = 0;
1935 for (let s of this[_substrings]) {
1936 from_index = core.int._check(dart.dsend(item, 'indexOf', s, from_index)) ;
1937 if (dart.notNull(from_index) < 0) return false;
1938 }
1939 return true;
1940 }
1941 describe(description) {
1942 return description.addAll('a string containing ', ', ', ' in order', this[ _substrings]);
1943 }
1944 };
1945 dart.setSignature(src__string_matchers._StringContainsInOrder, {
1946 constructors: () => ({new: dart.definiteFunctionType(src__string_matchers._S tringContainsInOrder, [core.List$(core.String)])}),
1947 methods: () => ({
1948 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1949 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1950 })
1951 });
1952 const _regexp = Symbol('_regexp');
1953 src__string_matchers._MatchesRegExp = class _MatchesRegExp extends src__string _matchers._StringMatcher {
1954 new(re) {
1955 this[_regexp] = null;
1956 super.new();
1957 if (typeof re == 'string') {
1958 this[_regexp] = core.RegExp.new(re);
1959 } else if (core.RegExp.is(re)) {
1960 this[_regexp] = re;
1961 } else {
1962 dart.throw(new core.ArgumentError('matches requires a regexp or string') );
1963 }
1964 }
1965 matches(item, matchState) {
1966 return typeof item == 'string' ? this[_regexp].hasMatch(item) : false;
1967 }
1968 describe(description) {
1969 return description.add(dart.str`match '${this[_regexp].pattern}'`);
1970 }
1971 };
1972 dart.setSignature(src__string_matchers._MatchesRegExp, {
1973 constructors: () => ({new: dart.definiteFunctionType(src__string_matchers._M atchesRegExp, [dart.dynamic])}),
1974 methods: () => ({
1975 matches: dart.definiteFunctionType(core.bool, [dart.dynamic, core.Map]),
1976 describe: dart.definiteFunctionType(src__interfaces.Description, [src__int erfaces.Description])
1977 })
1978 });
1979 src__string_matchers._isWhitespace = function(ch) {
1980 return ch == ' ' || ch == '\n' || ch == '\r' || ch == '\t';
1981 };
1982 dart.fn(src__string_matchers._isWhitespace, StringTobool());
1983 src__util._Predicate = dart.typedef('_Predicate', () => dart.functionType(core .bool, [dart.dynamic]));
1984 src__util._escapeMap = dart.const(dart.map({'\n': '\\n', '\r': '\\r', '\f': '\ \f', '\b': '\\b', '\t': '\\t', '\v': '\\v', '': '\\x7F'}, core.String, core.Str ing));
1985 dart.defineLazy(src__util, {
1986 get _escapeRegExp() {
1987 return core.RegExp.new(dart.str`[\\x00-\\x07\\x0E-\\x1F${src__util._escape Map[dartx.keys][dartx.map](core.String)(src__util._getHexLiteral)[dartx.join]()} ]`);
1988 }
1989 });
1990 src__util._getHexLiteral = function(input) {
1991 let rune = input[dartx.runes].single;
1992 return '\\x' + dart.notNull(rune[dartx.toRadixString](16)[dartx.toUpperCase] ()[dartx.padLeft](2, '0'));
1993 };
1994 dart.fn(src__util._getHexLiteral, StringToString());
1995 // Exports:
1996 exports.matcher = matcher;
1997 exports.mirror_matchers = mirror_matchers;
1998 exports.src__core_matchers = src__core_matchers;
1999 exports.src__description = src__description;
2000 exports.src__error_matchers = src__error_matchers;
2001 exports.src__interfaces = src__interfaces;
2002 exports.src__iterable_matchers = src__iterable_matchers;
2003 exports.src__map_matchers = src__map_matchers;
2004 exports.src__numeric_matchers = src__numeric_matchers;
2005 exports.src__operator_matchers = src__operator_matchers;
2006 exports.src__pretty_print = src__pretty_print;
2007 exports.src__string_matchers = src__string_matchers;
2008 exports.src__util = src__util;
2009 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698