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

Side by Side Diff: test/report_test.dart

Issue 1174643003: expose strong checker API, for use by analyzer_cli (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 6 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
« no previous file with comments | « test/end_to_end_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 /// Tests for summary reporting. 5 /// Tests for summary reporting.
6 library dev_compiler.test.report_test; 6 library dev_compiler.test.report_test;
7 7
8 import 'package:test/test.dart'; 8 import 'package:test/test.dart';
9 9
10 import 'package:dev_compiler/src/testing.dart'; 10 import 'package:dev_compiler/devc.dart';
11 import 'package:dev_compiler/strong_mode.dart' show StrongModeOptions;
12
13 import 'package:dev_compiler/src/analysis_context.dart';
14 import 'package:dev_compiler/src/options.dart';
11 import 'package:dev_compiler/src/report.dart'; 15 import 'package:dev_compiler/src/report.dart';
12 import 'package:dev_compiler/src/summary.dart'; 16 import 'package:dev_compiler/src/summary.dart';
17 import 'package:dev_compiler/src/testing.dart';
13 18
14 void main() { 19 void main() {
15 test('toJson/parse', () { 20 test('toJson/parse', () {
16 var files = { 21 var files = {
17 '/main.dart': ''' 22 '/main.dart': '''
18 import 'package:foo/bar.dart'; 23 import 'package:foo/bar.dart';
19 24
20 test1() { 25 test1() {
21 x = /*severe:StaticTypeError*/"hi"; 26 x = /*severe:StaticTypeError*/"hi";
22 } 27 }
23 '''.replaceAll('\n ', '\n'), 28 '''.replaceAll('\n ', '\n'),
24 'package:foo/bar.dart': ''' 29 'package:foo/bar.dart': '''
25 num x; 30 num x;
26 test2() { 31 test2() {
27 int y = /*info:AssignmentCast*/x; 32 int y = /*info:AssignmentCast*/x;
28 } 33 }
29 '''.replaceAll('\n ', '\n'), 34 '''.replaceAll('\n ', '\n'),
30 }; 35 };
31 testChecker(files);
32 36
33 SummaryReporter reporter; 37 var provider = createTestResourceProvider(files);
34 testChecker(files, 38 var uriResolver = new TestUriResolver(provider);
35 createReporter: (x) => reporter = new SummaryReporter(x)); 39 var srcOpts = new SourceResolverOptions(
40 entryPointFile: '/main.dart', useMockSdk: true);
41 var context = createAnalysisContextWithSources(
42 new StrongModeOptions(), srcOpts, fileResolvers: [uriResolver]);
43 var reporter = new SummaryReporter(context);
44 new Compiler(new CompilerOptions(sourceOptions: srcOpts),
45 context: context, reporter: reporter).run();
36 46
37 _verifySummary(GlobalSummary summary) { 47 _verifySummary(GlobalSummary summary) {
38 var mainLib = summary.loose['file:///main.dart']; 48 var mainLib = summary.loose['file:///main.dart'];
39 expect(mainLib.messages.length, 1); 49 expect(mainLib.messages.length, 1);
40 50
41 var mainMessage = mainLib.messages[0]; 51 var mainMessage = mainLib.messages[0];
42 expect(mainMessage.kind, "StaticTypeError"); 52 expect(mainMessage.kind, "StaticTypeError");
43 expect(mainMessage.level, "severe"); 53 expect(mainMessage.level, "severe");
44 expect(mainMessage.span.text, '"hi"'); 54 expect(mainMessage.span.text, '"hi"');
45 expect( 55 expect(
46 mainMessage.span.context, ' x = /*severe:StaticTypeError*/"hi";\n'); 56 mainMessage.span.context, ' x = /*severe:StaticTypeError*/"hi";\n');
47 57
48 var barLib = summary.packages['foo'].libraries['package:foo/bar.dart']; 58 var barLib = summary.packages['foo'].libraries['package:foo/bar.dart'];
49 expect(barLib.messages.length, 1); 59 expect(barLib.messages.length, 1);
50 var barMessage = barLib.messages[0]; 60 var barMessage = barLib.messages[0];
51 expect(barMessage.kind, "AssignmentCast"); 61 expect(barMessage.kind, "AssignmentCast");
52 expect(barMessage.level, "info"); 62 expect(barMessage.level, "info");
53 expect(barMessage.span.text, 'x'); 63 expect(barMessage.span.text, 'x');
54 expect(barMessage.span.context, ' int y = /*info:AssignmentCast*/x;\n'); 64 expect(barMessage.span.context, ' int y = /*info:AssignmentCast*/x;\n');
55 } 65 }
56 66
57 var original = reporter.result; 67 var original = reporter.result;
58 _verifySummary(original); 68 _verifySummary(original);
59 _verifySummary(GlobalSummary.parse(original.toJsonMap())); 69 _verifySummary(GlobalSummary.parse(original.toJsonMap()));
60 }); 70 });
61 } 71 }
OLDNEW
« no previous file with comments | « test/end_to_end_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698