| // 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. |
| * |
| * The source must be a non-empty sequence of base-radix digits, optionally |
| * prefixed with a minus or plus sign ('-' or '+'). |
| * |
| * The radix must be in the range 2..36. The digits used are first the decimal |
| * digits 0..9, and then the letters 'a'..'z' with values 10 through 35. Also |
| * accepts upper-case letters with the same values as the lower-case ones. |
| * ... |
| * @description Checks that radix argument must be in the range 2..36 |
| * @author sgrekhov@unipro.ru |
| */ |
| import "../../../Utils/expect.dart"; |
| |
| main() { |
| Expect.throws(() {int.parse("1", radix: 1);}); |
| Expect.throws(() {int.parse("1", radix: 0);}); |
| Expect.throws(() {int.parse("1", radix: -1);}); |
| Expect.throws(() {int.parse("1", radix: -20);}); |
| Expect.throws(() {int.parse("1", radix: 37);}); |
| Expect.throws(() {int.parse("1", radix: -37);}); |
| Expect.throws(() {int.parse("1", radix: 9007199254740991);}); |
| |
| for (int i = 2; i <= 36; i++) { |
| int.parse("1", radix: i); |
| } |
| } |