| Index: dart/tests/light_unittest.dart
|
| diff --git a/dart/tests/light_unittest.dart b/dart/tests/light_unittest.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..02ed4332240f94b2b46f48a0c7d1ad7e810bdc99
|
| --- /dev/null
|
| +++ b/dart/tests/light_unittest.dart
|
| @@ -0,0 +1,65 @@
|
| +// 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 '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));
|
| +
|
| +expectAsync1(then) {
|
| + asyncStart();
|
| + return (x) {
|
| + asyncEnd();
|
| + return then(x);
|
| + };
|
| +}
|
|
|