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

Side by Side Diff: pkg/unittest/matcher.dart

Issue 11301046: Restructure pkg/unittest and pkg/webdriver to follow the pub conventions. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // 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
3 // BSD-style license that can be found in the LICENSE file.
4
5 /**
6 * MatchState is a simple wrapper around an arbitrary object.
7 * [Matcher] [matches] methods can use this to store useful
8 * information upon match failures, and this information will
9 * be passed to [describeMismatch]. Each [Matcher] is responsible
10 * for its own use of this state, so the state created by [matches]
11 * should be consistent with that expected by [describeMismatch] in
12 * the same [Matcher] class, but can vary between classes. The inner
13 * state, if set, will typically be a [Map] with a number of key-value
14 * pairs containing relevant state information.
15 */
16
17 part of unittest;
18
19 class MatchState {
20 var state = null;
21
22 MatchState([this.state]);
23 }
24
25 /**
26 * BaseMatcher is the base class for all matchers. To implement a new
27 * matcher, either add a class that implements from IMatcher or
28 * a class that inherits from Matcher. Inheriting from Matcher has
29 * the benefit that a default implementation of describeMismatch will
30 * be provided.
31 */
32 abstract class BaseMatcher implements Matcher {
33 const BaseMatcher();
34
35 /**
36 * Tests the matcher against a given [item]
37 * and return true if the match succeeds; false otherwise.
38 * [matchState] may be used to return additional info for
39 * the use of [describeMismatch].
40 */
41 bool matches(item, MatchState matchState);
42
43 /**
44 * Creates a textual description of a matcher,
45 * by appending to [mismatchDescription].
46 */
47 Description describe(Description mismatchDescription);
48
49 /**
50 * Generates a description of the matcher failed for a particular
51 * [item], by appending the description to [mismatchDescription].
52 * It does not check whether the [item] fails the match, as it is
53 * only called after a failed match. There may be additional info
54 * about the mismatch in [matchState].
55 */
56 Description describeMismatch(item, Description mismatchDescription,
57 MatchState matchState, bool verbose) =>
58 mismatchDescription.add('was ').addDescriptionOf(item);
59 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698