// Copyright (c) 2015, 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. import "dart:async"; import "package:expect/expect.dart"; const String exceptionString = "exceptionalString"; throwString() async { try { throw exceptionString; } catch (e) { await 1; throw e; } } rethrowString() async { try { throw exceptionString; } catch (e) { await 1; rethrow; } } testThrow() { Future f = throwString(); f.then((v) { Expect.fail("Exception not thrown"); }, onError: (e) { Expect.equals(exceptionString, e); }); } testRethrow() { Future f = rethrowString(); f.then((v) { Expect.fail("Exception not thrown"); }, onError: (e) { Expect.equals(exceptionString, e); }); } main() { testThrow(); testRethrow(); }