| // 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. |
| |
| library dynamic_type_helper; |
| |
| import 'package:expect/expect.dart'; |
| |
| /// Checks that a dynamic type error is thrown when [f] is executed |
| /// and [expectTypeError] is `true`. |
| void testDynamicTypeError(bool expectTypeError, f(), [String? message]) { |
| if (expectTypeError) { |
| checkDynamicTypeError(f, message); |
| } else { |
| checkNoDynamicTypeError(f, message); |
| } |
| } |
| |
| /// Checks that a dynamic type error is thrown when f is executed. |
| void checkDynamicTypeError(f(), [String? message]) { |
| message = message != null ? ': $message' : ''; |
| try { |
| f(); |
| Expect.fail('Missing type error$message.'); |
| } on TypeError catch (e) {} |
| } |
| |
| /// Checks that no dynamic type error is thrown when [f] is executed. |
| void checkNoDynamicTypeError(f(), [String? message]) { |
| message = message != null ? ': $message' : ''; |
| try { |
| f(); |
| } on TypeError catch (e) { |
| Expect.fail('Unexpected type error$message.'); |
| } |
| } |