| // Copyright (c) 2016, 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 'package:async_helper/async_helper.dart'; |
| import 'package:compiler/src/commandline_options.dart'; |
| import 'package:expect/expect.dart'; |
| import '../helpers/memory_compiler.dart'; |
| |
| main() { |
| asyncTest(() async { |
| print('--test from kernel------------------------------------------------'); |
| await test([]); |
| }); |
| } |
| |
| test(List<String> options) async { |
| DiagnosticCollector collector = new DiagnosticCollector(); |
| String fileName = 'sdk/tests/web_2/native/main.dart'; |
| Uri entryPoint = Uri.parse('memory:$fileName'); |
| await runCompiler( |
| entryPoint: entryPoint, |
| memorySourceFiles: { |
| fileName: ''' |
| import 'dart:html'; |
| import 'dart:_js_helper'; |
| |
| method(o) native; |
| |
| main() { |
| method(document); |
| } |
| ''' |
| }, |
| diagnosticHandler: collector, |
| options: [Flags.verbose]..addAll(options)); |
| int allNativeUsedCount = |
| collector.verboseInfos.where((CollectedMessage message) { |
| return message.text.startsWith('All native types marked as used due to '); |
| }).length; |
| Expect.equals( |
| 1, allNativeUsedCount, "Unexpected message count: $allNativeUsedCount"); |
| } |