| Index: test/result_test.dart
|
| diff --git a/test/result_test.dart b/test/result_test.dart
|
| index 656d56383848d54e63dce84b2340c07508b35f00..848c4552db3ceb03dc5cfc38ca592f92720ab9aa 100644
|
| --- a/test/result_test.dart
|
| +++ b/test/result_test.dart
|
| @@ -257,6 +257,54 @@ void main() {
|
| new Result<Result<int>>.value(new Result<int>.value(42));
|
| expectResult(Result.flatten(result), new Result<int>.value(42));
|
| });
|
| +
|
| + test("handle unary", () {
|
| + var result = new Result.error("error", stack);
|
| + bool called = false;
|
| + result.handle((error) {
|
| + called = true;
|
| + expect(error, "error");
|
| + });
|
| + expect(called, isTrue);
|
| + });
|
| +
|
| + test("handle binary", () {
|
| + var result = new Result.error("error", stack);
|
| + bool called = false;
|
| + result.handle((error, stackTrace) {
|
| + called = true;
|
| + expect(error, "error");
|
| + expect(stackTrace, same(stack));
|
| + });
|
| + expect(called, isTrue);
|
| + });
|
| +
|
| + test("handle unary and binary", () {
|
| + var result = new Result.error("error", stack);
|
| + bool called = false;
|
| + result.handle((error, [stackTrace]) {
|
| + called = true;
|
| + expect(error, "error");
|
| + expect(stackTrace, same(stack));
|
| + });
|
| + expect(called, isTrue);
|
| + });
|
| +
|
| + test("handle neither unary nor binary", () {
|
| + var result = new Result.error("error", stack);
|
| + expect(() => result.handle(() => fail("unreachable")),
|
| + throws);
|
| + expect(() => result.handle((a, b, c) => fail("unreachable")),
|
| + throws);
|
| + expect(() => result.handle((a, b, {c}) => fail("unreachable")),
|
| + throws);
|
| + expect(() => result.handle((a, {b}) => fail("unreachable")),
|
| + throws);
|
| + expect(() => result.handle(({a, b}) => fail("unreachable")),
|
| + throws);
|
| + expect(() => result.handle(({a}) => fail("unreachable")),
|
| + throws);
|
| + });
|
| }
|
|
|
| void expectResult(Result actual, Result expected) {
|
|
|