Files
sdk/tests/compiler/dart2js/codegen/value_range3_test.dart
T
Johnni Winther 6616ddeb88 Move dart2js unittests to subfolders
* All helpers in /helpers/
* Tests of user-facing behavior in /end_to_end/
* Tests of internal models and unittests of internal classes in /model/

Change-Id: Ic7a7e58aa01f92f8572514ae81230804f36af67e
Reviewed-on: https://dart-review.googlesource.com/72644
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-09-10 08:22:53 +00:00

40 lines
1.0 KiB
Dart

// Copyright (c) 2013, 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 that global analysis in dart2js propagates positive integers.
import 'package:async_helper/async_helper.dart';
import 'package:expect/expect.dart';
import '../helpers/memory_compiler.dart';
const MEMORY_SOURCE_FILES = const {
'main.dart': '''
var a = [42];
main() {
var value = a[0];
if (value < 42) {
return new List(42)[value];
}
}
''',
};
main() {
runTest() async {
var result = await runCompiler(memorySourceFiles: MEMORY_SOURCE_FILES);
var compiler = result.compiler;
var element =
compiler.backendClosedWorldForTesting.elementEnvironment.mainFunction;
var code = compiler.backend.getGeneratedCode(element);
Expect.isFalse(code.contains('ioore'));
}
asyncTest(() async {
print('--test from kernel------------------------------------------------');
await runTest();
});
}