| // Copyright (c) 2016, 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. |
| |
| /// @assertion int parse(String source, {int radix, int onError(String source)}) |
| /// Parse source as a, possibly signed, integer literal and return its value. |
| /// ... |
| /// If the source is not a valid integer literal, optionally prefixed by a sign, |
| /// the onError is called with the source as argument, and its return value is |
| /// used instead. If no onError is provided, a FormatException is thrown. |
| /// |
| /// The onError handler can be chosen to return null. This is preferable to to |
| /// throwing and then immediately catching the FormatException. Example: |
| /// |
| /// var value = int.parse(text, onError: (source) => null); |
| /// if (value == null) ... handle the problem |
| /// The onError function is only invoked if source is a String. It is not invoked |
| /// if the source is, for example, null. |
| /// @description Checks that the onError function is only invoked if source is |
| /// a String. It is not invoked if the source is, for example, null |
| /// @author sgrekhov@unipro.ru |
| |
| import "../../../Utils/expect.dart"; |
| |
| dynamic getNull() => null; |
| |
| main() { |
| Expect.throws(() => int.parse(getNull())); |
| |
| dynamic val = 5; |
| Expect.throws(() => int.parse(val)); |
| } |