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 library matcher.interfaces; | |
6 | |
7 // To decouple the reporting of errors, and allow for extensibility of | 5 // To decouple the reporting of errors, and allow for extensibility of |
8 // matchers, we make use of some interfaces. | 6 // matchers, we make use of some interfaces. |
9 | 7 |
10 /// Matchers build up their error messages by appending to | 8 /// Matchers build up their error messages by appending to |
11 /// Description objects. This interface is implemented by | 9 /// Description objects. This interface is implemented by |
12 /// StringDescription. This interface is unlikely to need | 10 /// StringDescription. This interface is unlikely to need |
13 /// other implementations, but could be useful to replace in | 11 /// other implementations, but could be useful to replace in |
14 /// some cases - e.g. language conversion. | 12 /// some cases - e.g. language conversion. |
15 abstract class Description { | 13 abstract class Description { |
16 int get length; | 14 int get length; |
(...skipping 30 matching lines...) Expand all Loading... |
47 Description describe(Description description); | 45 Description describe(Description description); |
48 | 46 |
49 /// This builds a textual description of a specific mismatch. [item] | 47 /// This builds a textual description of a specific mismatch. [item] |
50 /// is the value that was tested by [matches]; [matchState] is | 48 /// is the value that was tested by [matches]; [matchState] is |
51 /// the [Map] that was passed to and supplemented by [matches] | 49 /// the [Map] that was passed to and supplemented by [matches] |
52 /// with additional information about the mismatch, and [mismatchDescription] | 50 /// with additional information about the mismatch, and [mismatchDescription] |
53 /// is the [Description] that is being built to decribe the mismatch. | 51 /// is the [Description] that is being built to decribe the mismatch. |
54 /// A few matchers make use of the [verbose] flag to provide detailed | 52 /// A few matchers make use of the [verbose] flag to provide detailed |
55 /// information that is not typically included but can be of help in | 53 /// information that is not typically included but can be of help in |
56 /// diagnosing failures, such as stack traces. | 54 /// diagnosing failures, such as stack traces. |
57 Description describeMismatch( | 55 Description describeMismatch(item, Description mismatchDescription, |
58 item, Description mismatchDescription, Map matchState, bool verbose) => | 56 Map matchState, bool verbose) => |
59 mismatchDescription; | 57 mismatchDescription; |
60 } | 58 } |
OLD | NEW |