Files
sdk/pkg/unittest/test/test_utils.dart
T
gram@google.com 59df9eecd7 Our nice new mismatched type error messages are garbled by minification.
Changing the unittest test to use a RegExp for verification instead of
a string literal.
Review URL: https://codereview.chromium.org//12221157

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18424 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 01:07:08 +00:00

61 lines
1.4 KiB
Dart

// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
part of unittestTests;
int errorCount;
String errorString;
var _testHandler = null;
class MyFailureHandler extends DefaultFailureHandler {
void fail(String reason) {
++errorCount;
errorString = reason;
}
}
void initUtils() {
if (_testHandler == null) {
_testHandler = new MyFailureHandler();
}
}
void shouldFail(value, Matcher matcher, expected, {bool isAsync: false}) {
configureExpectFailureHandler(_testHandler);
errorCount = 0;
errorString = '';
expect(value, matcher);
afterTest() {
configureExpectFailureHandler(null);
expect(errorCount, equals(1));
if (expected is String) {
expect(errorString, equalsIgnoringWhitespace(expected));
} else {
expect(errorString.replaceAll('\n',''), expected);
}
}
if (isAsync) {
Timer.run(expectAsync0(afterTest));
} else {
afterTest();
}
}
void shouldPass(value, Matcher matcher, {bool isAsync: false}) {
configureExpectFailureHandler(_testHandler);
errorCount = 0;
errorString = '';
expect(value, matcher);
afterTest() {
configureExpectFailureHandler(null);
expect(errorCount, equals(0));
}
if (isAsync) {
Timer.run(expectAsync0(afterTest));
} else {
afterTest();
}
}