// Copyright (c) 2014, 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 constant folding on numbers. import 'package:expect/async_helper.dart'; import '../helpers/compiler_helper.dart'; const String TEST_1 = """ foo() { var a = 'Hello'; var b = 0; return a.codeUnitAt(b); } """; // No folding of index type error. const String TEST_2 = """ foo() { var a = 'Hello'; dynamic b = 1.5; return a.codeUnitAt(b); } """; // No folding of index range error. const String TEST_3 = """ foo() { var a = 'Hello'; dynamic b = 55; return a.codeUnitAt(b); } """; main() { runTests() async { await compileAndMatch(TEST_1, 'foo', RegExp(r'return 72')); await compileAndDoNotMatch(TEST_1, 'foo', RegExp(r'Hello')); await compileAndMatch(TEST_2, 'foo', RegExp(r'Hello')); await compileAndMatch(TEST_3, 'foo', RegExp(r'Hello')); } asyncTest(() async { print('--test from kernel------------------------------------------------'); await runTests(); }); }