Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(520)

Side by Side Diff: pkg/dev_compiler/test/options/options_test.dart

Issue 2598593003: support --options flag and other analysis options flags in DDC (Closed)
Patch Set: merge Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 import 'dart:io';
6 import 'package:analyzer/analyzer.dart';
7 import 'package:analyzer/src/command_line/arguments.dart';
8 import 'package:analyzer/src/summary/summary_sdk.dart';
9 import 'package:path/path.dart' as path;
10 import 'package:test/test.dart';
11
12 import '../../lib/src/analyzer/context.dart';
13 import '../../lib/src/compiler/command.dart';
14 import '../../lib/src/compiler/compiler.dart';
15 import '../testing.dart' show repoDirectory, testDirectory;
16
17 /// The `test/options` directory.
18 final optionsDir = path.join(testDirectory, 'options');
19
20 /// Summary file for testing.
21 final sdkSummaryFile = path.join(repoDirectory, 'lib', 'sdk', 'ddc_sdk.sum');
22
23 final sdkSummaryArgs = ['--$sdkSummaryPathOption', sdkSummaryFile];
24
25 main() {
26 test('basic', () {
27 var options = new AnalyzerOptions.basic();
28 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir);
29 var processors = compiler.context.analysisOptions.errorProcessors;
30 expect(processors, hasLength(1));
31 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name);
32 });
33
34 test('basic sdk summary', () {
35 expect(new File(sdkSummaryFile).existsSync(), isTrue);
36 var options = new AnalyzerOptions.basic(dartSdkSummaryPath: sdkSummaryFile);
37 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir);
38 var context = compiler.context;
39 var sdk = context.sourceFactory.dartSdk;
40 expect(sdk, new isInstanceOf<SummaryBasedDartSdk>());
41 var processors = context.analysisOptions.errorProcessors;
42 expect(processors, hasLength(1));
43 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name);
44 });
45
46 test('fromArgs', () {
47 var args = <String>[];
48 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file
49 args.addAll(sdkSummaryArgs);
50 var argResults = ddcArgParser().parse(args);
51 var options = new AnalyzerOptions.fromArguments(argResults);
52 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir);
53 var processors = compiler.context.analysisOptions.errorProcessors;
54 expect(processors, hasLength(1));
55 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name);
56 });
57
58 test('fromArgs options file 2', () {
59 var optionsFile2 = path.join(optionsDir, 'analysis_options_2.yaml');
60 expect(new File(optionsFile2).existsSync(), isTrue);
61 var args = <String>['--$analysisOptionsFileOption', optionsFile2];
62 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file
63 args.addAll(sdkSummaryArgs);
64 var argResults = ddcArgParser().parse(args);
65 var options = new AnalyzerOptions.fromArguments(argResults);
66 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir);
67 var processors = compiler.context.analysisOptions.errorProcessors;
68 expect(processors, hasLength(1));
69 expect(processors[0].code, CompileTimeErrorCode.DUPLICATE_DEFINITION.name);
70 });
71
72 test('fromArgs options flag', () {
73 var args = <String>['--$enableStrictCallChecksFlag'];
74 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file
75 args.addAll(sdkSummaryArgs);
76 var argResults = ddcArgParser().parse(args);
77 var options = new AnalyzerOptions.fromArguments(argResults);
78 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir);
79 var analysisOptions = compiler.context.analysisOptions;
80 expect(analysisOptions.enableStrictCallChecks, isTrue);
81 });
82 }
OLDNEW
« no previous file with comments | « pkg/dev_compiler/test/options/analysis_options_2.yaml ('k') | pkg/dev_compiler/web/web_command.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698