// Copyright (c) 2015, 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. // @dart = 2.7 import 'native_testing.dart'; // Negative constant numbers must be generated as negation, not just a literal // with a sign, i.e. // // (-5).toString() // // not // // -5 .toString() // // The unparethesized version is `-(5 .toString())`, which creates the string // `"5"`, then converts it to a number for negation, giving a number result // instead of a string result. @pragma('dart2js:noInline') checkString(r) { Expect.isTrue( r is String, 'Expected string, found ${r} of type ${r.runtimeType}'); } test1() { checkString(JS('', '#.toString()', -5)); } test2() { checkString(JS('', '#.toString()', -1.5)); } test3() { checkString(JS('', '#.toString()', -0.0)); } main() { test1(); test2(); test3(); }