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

Side by Side Diff: pkg/matcher/lib/src/map_matchers.dart

Issue 306283002: pkg/matcher: cleanup, updates, deprecations, fixes (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of matcher; 5 library matcher.map_matchers;
6 6
7 /** 7 import 'expect.dart';
8 * Returns a matcher which matches maps containing the given [value]. 8 import 'interfaces.dart';
9 */ 9
10 /// Returns a matcher which matches maps containing the given [value].
10 Matcher containsValue(value) => new _ContainsValue(value); 11 Matcher containsValue(value) => new _ContainsValue(value);
11 12
12 class _ContainsValue extends Matcher { 13 class _ContainsValue extends Matcher {
13 final _value; 14 final _value;
14 15
15 const _ContainsValue(this._value); 16 const _ContainsValue(this._value);
16 17
17 bool matches(item, Map matchState) => item.containsValue(_value); 18 bool matches(item, Map matchState) => item.containsValue(_value);
18 Description describe(Description description) => 19 Description describe(Description description) =>
19 description.add('contains value ').addDescriptionOf(_value); 20 description.add('contains value ').addDescriptionOf(_value);
20 } 21 }
21 22
22 /** 23 /// Returns a matcher which matches maps containing the key-value pair
23 * Returns a matcher which matches maps containing the key-value pair 24 /// with [key] => [value].
24 * with [key] => [value].
25 */
26 Matcher containsPair(key, value) => 25 Matcher containsPair(key, value) =>
27 new _ContainsMapping(key, wrapMatcher(value)); 26 new _ContainsMapping(key, wrapMatcher(value));
28 27
29 class _ContainsMapping extends Matcher { 28 class _ContainsMapping extends Matcher {
30 final _key; 29 final _key;
31 final Matcher _valueMatcher; 30 final Matcher _valueMatcher;
32 31
33 const _ContainsMapping(this._key, Matcher this._valueMatcher); 32 const _ContainsMapping(this._key, Matcher this._valueMatcher);
34 33
35 bool matches(item, Map matchState) => 34 bool matches(item, Map matchState) =>
(...skipping 12 matching lines...) Expand all
48 .addDescriptionOf(_key); 47 .addDescriptionOf(_key);
49 } else { 48 } else {
50 mismatchDescription.add(' contains key ').addDescriptionOf(_key). 49 mismatchDescription.add(' contains key ').addDescriptionOf(_key).
51 add(' but with value '); 50 add(' but with value ');
52 _valueMatcher.describeMismatch(item[_key], mismatchDescription, 51 _valueMatcher.describeMismatch(item[_key], mismatchDescription,
53 matchState, verbose); 52 matchState, verbose);
54 return mismatchDescription; 53 return mismatchDescription;
55 } 54 }
56 } 55 }
57 } 56 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698