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

Side by Side Diff: test/report_test.dart

Issue 1401273002: Move DDC to analyzer-based checker (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: rebase Created 5 years, 2 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/codegen/expect/unittest/unittest.txt ('k') | test/testing.dart » ('j') | 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/devc.dart'; 10 import 'package:dev_compiler/devc.dart';
11 import 'package:dev_compiler/strong_mode.dart' show StrongModeOptions; 11 import 'package:dev_compiler/strong_mode.dart' show StrongModeOptions;
12 12
13 import 'package:dev_compiler/src/analysis_context.dart'; 13 import 'package:dev_compiler/src/analysis_context.dart';
14 import 'package:dev_compiler/src/options.dart'; 14 import 'package:dev_compiler/src/options.dart';
15 import 'package:dev_compiler/src/report.dart'; 15 import 'package:dev_compiler/src/report.dart';
16 import 'package:dev_compiler/src/summary.dart'; 16 import 'package:dev_compiler/src/summary.dart';
17 17
18 import 'testing.dart'; 18 import 'testing.dart';
19 19
20 void main() { 20 void main() {
21 test('toJson/parse', () { 21 test('toJson/parse', () {
22 var files = { 22 var files = {
23 '/main.dart': ''' 23 '/main.dart': '''
24 import 'package:foo/bar.dart'; 24 import 'package:foo/bar.dart';
25 25
26 test1() { 26 test1() {
27 x = /*severe:StaticTypeError*/"hi"; 27 x = "hi";
28 } 28 }
29 '''.replaceAll('\n ', '\n'), 29 '''.replaceAll('\n ', '\n'),
30 'package:foo/bar.dart': ''' 30 'package:foo/bar.dart': '''
31 num x; 31 List x;
32 test2() { 32 test2() {
33 int y = /*info:AssignmentCast*/x; 33 List<String> y = x;
34 } 34 }
35 '''.replaceAll('\n ', '\n'), 35 '''.replaceAll('\n ', '\n'),
36 }; 36 };
37 37
38 var provider = createTestResourceProvider(files); 38 var provider = createTestResourceProvider(files);
39 var uriResolver = new TestUriResolver(provider); 39 var uriResolver = new TestUriResolver(provider);
40 var srcOpts = new SourceResolverOptions(useMockSdk: true); 40 var srcOpts = new SourceResolverOptions(useMockSdk: true);
41 var context = createAnalysisContextWithSources( 41 var context = createAnalysisContextWithSources(
42 new StrongModeOptions(), srcOpts, 42 new StrongModeOptions(), srcOpts,
43 fileResolvers: [uriResolver]); 43 fileResolvers: [uriResolver]);
44 var reporter = new SummaryReporter(context); 44 var reporter = new SummaryReporter(context);
45 new BatchCompiler(context, new CompilerOptions(sourceOptions: srcOpts), 45 new BatchCompiler(context, new CompilerOptions(sourceOptions: srcOpts),
46 reporter: reporter).compileFromUriString('/main.dart'); 46 reporter: reporter).compileFromUriString('/main.dart');
47 47
48 _verifySummary(GlobalSummary summary) { 48 _verifySummary(GlobalSummary summary) {
49 var mainLib = summary.loose['file:///main.dart']; 49 var mainLib = summary.loose['file:///main.dart'];
50 expect(mainLib.messages.length, 2); 50 expect(mainLib.messages.length, 2);
51 var analyzerMsg = mainLib.messages[0]; 51 var analyzerMsg = mainLib.messages[0];
52 expect(analyzerMsg.kind, "AnalyzerMessage"); 52 expect(analyzerMsg.kind, "AnalyzerMessage");
53 53
54 var mainMessage = mainLib.messages[1]; 54 var mainMessage = mainLib.messages[1];
55 expect(mainMessage.kind, "StaticTypeError"); 55 expect(mainMessage.kind, "StaticTypeError");
56 expect(mainMessage.level, "error"); 56 expect(mainMessage.level, "error");
57 expect(mainMessage.span.text, '"hi"'); 57 expect(mainMessage.span.text, '"hi"');
58 expect( 58 expect(mainMessage.span.context, ' x = "hi";\n');
59 mainMessage.span.context, ' x = /*severe:StaticTypeError*/"hi";\n');
60 59
61 var barLib = summary.packages['foo'].libraries['package:foo/bar.dart']; 60 var barLib = summary.packages['foo'].libraries['package:foo/bar.dart'];
62 expect(barLib.messages.length, 1); 61 expect(barLib.messages.length, 1);
63 var barMessage = barLib.messages[0]; 62 var barMessage = barLib.messages[0];
64 expect(barMessage.kind, "AssignmentCast"); 63 expect(barMessage.kind, "DownCastComposite");
65 expect(barMessage.level, "info"); 64 expect(barMessage.level, "warning");
66 expect(barMessage.span.text, 'x'); 65 expect(barMessage.span.text, 'x');
67 expect(barMessage.span.context, ' int y = /*info:AssignmentCast*/x;\n'); 66 expect(barMessage.span.context, ' List<String> y = x;\n');
68 } 67 }
69 68
70 var original = reporter.result; 69 var original = reporter.result;
71 _verifySummary(original); 70 _verifySummary(original);
72 _verifySummary(GlobalSummary.parse(original.toJsonMap())); 71 _verifySummary(GlobalSummary.parse(original.toJsonMap()));
73 }); 72 });
74 } 73 }
OLDNEW
« no previous file with comments | « test/codegen/expect/unittest/unittest.txt ('k') | test/testing.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698