| 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 part of matcher; | 5 part of matcher; |
| 6 | 6 |
| 7 /** The objects thrown by the default failure handler. */ | 7 /** The objects thrown by the default failure handler. */ |
| 8 class TestFailure { | 8 class TestFailure { |
| 9 String _message; | 9 String _message; |
| 10 | 10 |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 return _assertFailureHandler; | 130 return _assertFailureHandler; |
| 131 } | 131 } |
| 132 | 132 |
| 133 // The error message formatter for failed asserts. | 133 // The error message formatter for failed asserts. |
| 134 ErrorFormatter _assertErrorFormatter = null; | 134 ErrorFormatter _assertErrorFormatter = null; |
| 135 | 135 |
| 136 // The default error formatter implementation. | 136 // The default error formatter implementation. |
| 137 String _defaultErrorFormatter(actual, Matcher matcher, String reason, | 137 String _defaultErrorFormatter(actual, Matcher matcher, String reason, |
| 138 MatchState matchState, bool verbose) { | 138 MatchState matchState, bool verbose) { |
| 139 var description = new StringDescription(); | 139 var description = new StringDescription(); |
| 140 description.add('Expected: ').addDescriptionOf(matcher). | 140 description.add('Expected: ').addDescriptionOf(matcher).add('\n'); |
| 141 add('\n but: '); | 141 |
| 142 matcher.describeMismatch(actual, description, matchState, verbose); | 142 var mismatchDescription = new StringDescription(); |
| 143 description.add('.\n'); | 143 matcher.describeMismatch(actual, mismatchDescription, matchState, verbose); |
| 144 if (verbose) { | 144 description.add(' But: ') |
| 145 if (actual is Iterable) { | 145 .add(mismatchDescription.toString()).add('.\n'); |
| 146 description.add('Actual: ').addDescriptionOf(actual).add('\n'); | 146 |
| 147 } else if (actual is Map) { | 147 if (!mismatchDescription.toString().startsWith("was ")) { |
| 148 description.add('Actual: '); | 148 description.add('Actual: ').addDescriptionOf(actual); |
| 149 var count = 25; | |
| 150 for (var k in actual.keys) { | |
| 151 if (count == 0) { | |
| 152 description.add('...\n'); | |
| 153 break; | |
| 154 } | |
| 155 description.addDescriptionOf(k); | |
| 156 description.add(' : '); | |
| 157 description.addDescriptionOf(actual[k]); | |
| 158 description.add('\n'); | |
| 159 --count; | |
| 160 } | |
| 161 } | |
| 162 } | 149 } |
| 163 if (reason != null) { | 150 if (reason != null) { |
| 164 description.add(reason).add('\n'); | 151 description.add(reason).add('\n'); |
| 165 } | 152 } |
| 166 return description.toString(); | 153 return description.toString(); |
| 167 } | 154 } |
| 168 | 155 |
| 169 /** | 156 /** |
| 170 * Changes or resets to default the failure message formatter for expect(). | 157 * Changes or resets to default the failure message formatter for expect(). |
| 171 * [formatter] is a reference to the new formatter; if this is omitted or | 158 * [formatter] is a reference to the new formatter; if this is omitted or |
| 172 * null then the failure formatter is reset to the default. The new | 159 * null then the failure formatter is reset to the default. The new |
| 173 * formatter is returned; this allows custom expect handlers to easily | 160 * formatter is returned; this allows custom expect handlers to easily |
| 174 * get a reference to the default formatter. | 161 * get a reference to the default formatter. |
| 175 */ | 162 */ |
| 176 ErrorFormatter configureExpectFormatter([ErrorFormatter formatter = null]) { | 163 ErrorFormatter configureExpectFormatter([ErrorFormatter formatter = null]) { |
| 177 if (formatter == null) { | 164 if (formatter == null) { |
| 178 formatter = _defaultErrorFormatter; | 165 formatter = _defaultErrorFormatter; |
| 179 } | 166 } |
| 180 return _assertErrorFormatter = formatter; | 167 return _assertErrorFormatter = formatter; |
| 181 } | 168 } |
| 182 | 169 |
| OLD | NEW |