blob: d783665df19e784eb2f760bb88a243d1bdff859b [file] [log] [blame]
// 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();
}
}