blob: 2f56ce88d659a50352da6612a016f191c6a64d1b [file] [log] [blame]
// 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'.
}