59df9eecd7
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
61 lines
1.4 KiB
Dart
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();
|
|
}
|
|
}
|