| // Copyright (c) 2012, 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. |
| // Test basic integer operations. |
| |
| // @dart = 2.9 |
| |
| // [NNBD non-migrated]: This test has no language/ counterpart. The static |
| // errors are just redundant tests of the static type system, and the runtime |
| // errors are redundant with to_string_as_precision2_runtime_test.dart. |
| |
| import "package:expect/expect.dart"; |
| |
| main() { |
| var v = 0.0; |
| Expect.throwsRangeError(() => v.toStringAsPrecision(0)); |
| Expect.throwsRangeError(() => v.toStringAsPrecision(22)); |
| Expect.throwsArgumentError(() => v.toStringAsPrecision(null)); |
| v.toStringAsPrecision(1.5); |
| // ^^^ |
| // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE |
| // [cfe] The argument type 'double' can't be assigned to the parameter type 'int'. |
| v.toStringAsPrecision("string"); |
| // ^^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE |
| // [cfe] The argument type 'String' can't be assigned to the parameter type 'int'. |
| v.toStringAsPrecision("3"); |
| // ^^^ |
| // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE |
| // [cfe] The argument type 'String' can't be assigned to the parameter type 'int'. |
| } |