| OLD | NEW |
| 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 | 5 |
| 6 /** | 6 /** |
| 7 * Returns a matcher that matches empty strings, maps or collections. | 7 * Returns a matcher that matches empty strings, maps or collections. |
| 8 */ | 8 */ |
| 9 final Matcher isEmpty = const _Empty(); | 9 final Matcher isEmpty = const _Empty(); |
| 10 | 10 |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 * | 208 * |
| 209 * For example, to test whether 'bar' is an instance of type | 209 * For example, to test whether 'bar' is an instance of type |
| 210 * 'Foo', we would write: | 210 * 'Foo', we would write: |
| 211 * | 211 * |
| 212 * expect(bar, new isInstanceOf<Foo>()); | 212 * expect(bar, new isInstanceOf<Foo>()); |
| 213 * | 213 * |
| 214 * To get better error message, supply a name when creating the | 214 * To get better error message, supply a name when creating the |
| 215 * Type wrapper; e.g.: | 215 * Type wrapper; e.g.: |
| 216 * | 216 * |
| 217 * expect(bar, new isInstanceOf<Foo>('Foo')); | 217 * expect(bar, new isInstanceOf<Foo>('Foo')); |
| 218 * |
| 219 * Note that this does not currently work in dart2js; it will |
| 220 * match any type, and isNot(new isInstanceof<T>()) will always |
| 221 * fail. This is because dart2js currently ignores template type |
| 222 * parameters. |
| 218 */ | 223 */ |
| 219 class isInstanceOf<T> extends BaseMatcher { | 224 class isInstanceOf<T> extends BaseMatcher { |
| 220 final String _name; | 225 final String _name; |
| 221 const isInstanceOf([name = 'specified type']) : this._name = name; | 226 const isInstanceOf([name = 'specified type']) : this._name = name; |
| 222 bool matches(obj, MatchState matchState) => obj is T; | 227 bool matches(obj, MatchState matchState) => obj is T; |
| 223 // The description here is lame :-( | 228 // The description here is lame :-( |
| 224 Description describe(Description description) => | 229 Description describe(Description description) => |
| 225 description.add('an instance of ${_name}'); | 230 description.add('an instance of ${_name}'); |
| 226 } | 231 } |
| 227 | 232 |
| (...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 617 final _matcher; | 622 final _matcher; |
| 618 final String _description; | 623 final String _description; |
| 619 | 624 |
| 620 const _Predicate(this._matcher, this._description); | 625 const _Predicate(this._matcher, this._description); |
| 621 | 626 |
| 622 bool matches(item, MatchState matchState) => _matcher(item); | 627 bool matches(item, MatchState matchState) => _matcher(item); |
| 623 | 628 |
| 624 Description describe(Description description) => | 629 Description describe(Description description) => |
| 625 description.add(_description); | 630 description.add(_description); |
| 626 } | 631 } |
| OLD | NEW |