Index: pkg/async/test/result_test.dart |
diff --git a/pkg/async/test/result_test.dart b/pkg/async/test/result_test.dart |
index 53472ec905917cd5de0ac331da93213ab7c8f10a..d101b4894f7142a6ee98b6486a68561fb9232543 100644 |
--- a/pkg/async/test/result_test.dart |
+++ b/pkg/async/test/result_test.dart |
@@ -231,6 +231,26 @@ void main() { |
c.add(new Result.value(37)); |
c.close(); |
}); |
+ |
+ |
+ test("flatten error 1", () { |
+ Result<int> error = new Result<int>.error("BAD", stack); |
+ Result<int> flattened = Result.flatten(error); |
+ expectResult(flattened, error); |
+ }); |
+ |
+ test("flatten error 2", () { |
+ Result<int> error = new Result<int>.error("BAD", stack); |
+ Result<Result<int>> result = new Result<Result<int>>.value(error); |
+ Result<int> flattened = Result.flatten(result); |
+ expectResult(flattened, error); |
+ }); |
+ |
+ test("flatten value", () { |
+ Result<Result<int>> result = |
+ new Result<Result<int>>.value(new Result<int>.value(42)); |
+ expectResult(Result.flatten(result), new Result<int>.value(42)); |
+ }); |
} |
void expectResult(Result actual, Result expected) { |