OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import 'dart:io'; | 5 import 'dart:io'; |
6 import 'package:analyzer/analyzer.dart'; | 6 import 'package:analyzer/analyzer.dart'; |
7 import 'package:analyzer/src/command_line/arguments.dart'; | 7 import 'package:analyzer/src/command_line/arguments.dart'; |
8 import 'package:analyzer/src/summary/summary_sdk.dart'; | 8 import 'package:analyzer/src/summary/summary_sdk.dart'; |
9 import 'package:path/path.dart' as path; | 9 import 'package:path/path.dart' as path; |
10 import 'package:test/test.dart'; | 10 import 'package:test/test.dart'; |
11 | 11 |
12 import '../../lib/src/analyzer/context.dart'; | 12 import '../../lib/src/analyzer/context.dart'; |
13 import '../../lib/src/compiler/command.dart'; | 13 import '../../lib/src/compiler/command.dart'; |
14 import '../../lib/src/compiler/compiler.dart'; | 14 import '../../lib/src/compiler/compiler.dart'; |
15 import '../testing.dart' show repoDirectory, testDirectory; | 15 import '../testing.dart' show repoDirectory, testDirectory; |
16 | 16 |
17 /// The `test/options` directory. | 17 /// The `test/options` directory. |
18 final optionsDir = path.join(testDirectory, 'options'); | 18 final optionsDir = path.join(testDirectory, 'options'); |
19 | 19 |
20 /// Summary file for testing. | 20 /// Summary file for testing. |
21 final sdkSummaryFile = path.join(repoDirectory, 'lib', 'sdk', 'ddc_sdk.sum'); | 21 final sdkSummaryFile = path.join(repoDirectory, 'lib', 'sdk', 'ddc_sdk.sum'); |
22 | 22 |
23 final sdkSummaryArgs = ['--$sdkSummaryPathOption', sdkSummaryFile]; | 23 final sdkSummaryArgs = ['--$sdkSummaryPathOption', sdkSummaryFile]; |
24 | 24 |
25 main() { | 25 main() { |
26 test('basic', () { | 26 test('basic', () { |
27 var options = new AnalyzerOptions.basic(); | 27 var options = new AnalyzerOptions.basic(); |
28 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); | 28 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); |
29 var processors = compiler.context.analysisOptions.errorProcessors; | 29 var processors = compiler.driver.analysisOptions.errorProcessors; |
30 expect(processors, hasLength(1)); | 30 expect(processors, hasLength(1)); |
31 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name); | 31 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name); |
32 }); | 32 }); |
33 | 33 |
34 test('basic sdk summary', () { | 34 test('basic sdk summary', () { |
35 expect(new File(sdkSummaryFile).existsSync(), isTrue); | 35 expect(new File(sdkSummaryFile).existsSync(), isTrue); |
36 var options = new AnalyzerOptions.basic(dartSdkSummaryPath: sdkSummaryFile); | 36 var options = new AnalyzerOptions.basic(dartSdkSummaryPath: sdkSummaryFile); |
37 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); | 37 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); |
38 var context = compiler.context; | 38 var driver = compiler.driver; |
39 var sdk = context.sourceFactory.dartSdk; | 39 var sdk = driver.sourceFactory.dartSdk; |
40 expect(sdk, new isInstanceOf<SummaryBasedDartSdk>()); | 40 expect(sdk, new isInstanceOf<SummaryBasedDartSdk>()); |
41 var processors = context.analysisOptions.errorProcessors; | 41 var processors = driver.analysisOptions.errorProcessors; |
42 expect(processors, hasLength(1)); | 42 expect(processors, hasLength(1)); |
43 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name); | 43 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name); |
44 }); | 44 }); |
45 | 45 |
46 test('fromArgs', () { | 46 test('fromArgs', () { |
47 var args = <String>[]; | 47 var args = <String>[]; |
48 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file | 48 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file |
49 args.addAll(sdkSummaryArgs); | 49 args.addAll(sdkSummaryArgs); |
50 var argResults = ddcArgParser().parse(args); | 50 var argResults = ddcArgParser().parse(args); |
51 var options = new AnalyzerOptions.fromArguments(argResults); | 51 var options = new AnalyzerOptions.fromArguments(argResults); |
52 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); | 52 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); |
53 var processors = compiler.context.analysisOptions.errorProcessors; | 53 var processors = compiler.driver.analysisOptions.errorProcessors; |
54 expect(processors, hasLength(1)); | 54 expect(processors, hasLength(1)); |
55 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name); | 55 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name); |
56 }); | 56 }); |
57 | 57 |
58 test('fromArgs options file 2', () { | 58 test('fromArgs options file 2', () { |
59 var optionsFile2 = path.join(optionsDir, 'analysis_options_2.yaml'); | 59 var optionsFile2 = path.join(optionsDir, 'analysis_options_2.yaml'); |
60 expect(new File(optionsFile2).existsSync(), isTrue); | 60 expect(new File(optionsFile2).existsSync(), isTrue); |
61 var args = <String>['--$analysisOptionsFileOption', optionsFile2]; | 61 var args = <String>['--$analysisOptionsFileOption', optionsFile2]; |
62 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file | 62 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file |
63 args.addAll(sdkSummaryArgs); | 63 args.addAll(sdkSummaryArgs); |
64 var argResults = ddcArgParser().parse(args); | 64 var argResults = ddcArgParser().parse(args); |
65 var options = new AnalyzerOptions.fromArguments(argResults); | 65 var options = new AnalyzerOptions.fromArguments(argResults); |
66 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); | 66 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); |
67 var processors = compiler.context.analysisOptions.errorProcessors; | 67 var processors = compiler.driver.analysisOptions.errorProcessors; |
68 expect(processors, hasLength(1)); | 68 expect(processors, hasLength(1)); |
69 expect(processors[0].code, CompileTimeErrorCode.DUPLICATE_DEFINITION.name); | 69 expect(processors[0].code, CompileTimeErrorCode.DUPLICATE_DEFINITION.name); |
70 }); | 70 }); |
71 | 71 |
72 test('fromArgs options flag', () { | 72 test('fromArgs options flag', () { |
73 var args = <String>['--$enableStrictCallChecksFlag']; | 73 var args = <String>['--$enableStrictCallChecksFlag']; |
74 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file | 74 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file |
75 args.addAll(sdkSummaryArgs); | 75 args.addAll(sdkSummaryArgs); |
76 var argResults = ddcArgParser().parse(args); | 76 var argResults = ddcArgParser().parse(args); |
77 var options = new AnalyzerOptions.fromArguments(argResults); | 77 var options = new AnalyzerOptions.fromArguments(argResults); |
78 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); | 78 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); |
79 var analysisOptions = compiler.context.analysisOptions; | 79 var analysisOptions = compiler.driver.analysisOptions; |
80 expect(analysisOptions.enableStrictCallChecks, isTrue); | 80 expect(analysisOptions.enableStrictCallChecks, isTrue); |
81 }); | 81 }); |
82 } | 82 } |
OLD | NEW |