mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 12:24:24 +00:00
5952d7a067
R=ricow@google.com, sigmund@google.com Review URL: https://codereview.chromium.org//218273002 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34569 260f80e4-7a28-3924-810f-c04153c831b5
57 lines
1.6 KiB
Dart
57 lines
1.6 KiB
Dart
// Copyright (c) 2013, 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.
|
|
|
|
/// A light-weight replacement for package:unittest. This library runs tests
|
|
/// synchronously, and avoids using reflection.
|
|
library light_unittest;
|
|
|
|
import 'dart:async';
|
|
|
|
import 'package:async_helper/async_helper.dart';
|
|
import '../pkg/expect/lib/expect.dart';
|
|
|
|
test(name, f) {
|
|
print('Testing $name');
|
|
try {
|
|
f();
|
|
print('PASS: $name');
|
|
} catch (e, trace) {
|
|
print('FAIL: $name.');
|
|
print(e);
|
|
print(trace);
|
|
asyncStart();
|
|
Timer.run(() { throw new StateError('FAILED: $name.\n$e\n$trace'); });
|
|
}
|
|
}
|
|
|
|
expect(actual, expected) {
|
|
if (expected is Expectation) {
|
|
expected.check(actual);
|
|
} else {
|
|
Expect.equals(expected, actual);
|
|
}
|
|
}
|
|
|
|
class Expectation {
|
|
final check;
|
|
Expectation(this.check);
|
|
}
|
|
|
|
equals(expected) {
|
|
if (expected is List) {
|
|
return new Expectation((actual) => Expect.listEquals(expected, actual));
|
|
} else if (expected is Map) {
|
|
return new Expectation((actual) => Expect.mapEquals(expected, actual));
|
|
} else if (expected is Set) {
|
|
return new Expectation((actual) => Expect.setEquals(expected, actual));
|
|
} else if (expected is String) {
|
|
return new Expectation((actual) => Expect.stringEquals(expected, actual));
|
|
} else {
|
|
return new Expectation((actual) => Expect.equals(expected, actual));
|
|
}
|
|
}
|
|
|
|
get throws => new Expectation((actual) => Expect.throws(actual));
|
|
|
|
get isTrue => new Expectation((actual) => Expect.isTrue(actual));
|