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

Side by Side Diff: pkg/analyzer/test/src/dart/analysis/base.dart

Issue 2657533004: Update MockSdk to be more consistent with the actual SDK, switch x_Driver tests to it. (Closed)
Patch Set: 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
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 'package:analyzer/dart/element/element.dart'; 5 import 'package:analyzer/dart/element/element.dart';
6 import 'package:analyzer/dart/element/visitor.dart'; 6 import 'package:analyzer/dart/element/visitor.dart';
7 import 'package:analyzer/file_system/file_system.dart'; 7 import 'package:analyzer/file_system/file_system.dart';
8 import 'package:analyzer/file_system/memory_file_system.dart'; 8 import 'package:analyzer/file_system/memory_file_system.dart';
9 import 'package:analyzer/source/package_map_resolver.dart'; 9 import 'package:analyzer/source/package_map_resolver.dart';
10 import 'package:analyzer/src/dart/analysis/byte_store.dart'; 10 import 'package:analyzer/src/dart/analysis/byte_store.dart';
11 import 'package:analyzer/src/dart/analysis/driver.dart'; 11 import 'package:analyzer/src/dart/analysis/driver.dart';
12 import 'package:analyzer/src/dart/analysis/file_state.dart'; 12 import 'package:analyzer/src/dart/analysis/file_state.dart';
13 import 'package:analyzer/src/dart/analysis/status.dart'; 13 import 'package:analyzer/src/dart/analysis/status.dart';
14 import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl; 14 import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl;
15 import 'package:analyzer/src/generated/sdk.dart';
15 import 'package:analyzer/src/generated/source.dart'; 16 import 'package:analyzer/src/generated/source.dart';
16 import 'package:test/test.dart'; 17 import 'package:test/test.dart';
17 18
18 import 'physical_sdk.dart'; 19 import '../../context/mock_sdk.dart';
19 20
20 /** 21 /**
21 * Finds an [Element] with the given [name]. 22 * Finds an [Element] with the given [name].
22 */ 23 */
23 Element findChildElement(Element root, String name, [ElementKind kind]) { 24 Element findChildElement(Element root, String name, [ElementKind kind]) {
24 Element result = null; 25 Element result = null;
25 root.accept(new _ElementVisitorFunctionWrapper((Element element) { 26 root.accept(new _ElementVisitorFunctionWrapper((Element element) {
26 if (element.name != name) { 27 if (element.name != name) {
27 return; 28 return;
28 } 29 }
29 if (kind != null && element.kind != kind) { 30 if (kind != null && element.kind != kind) {
30 return; 31 return;
31 } 32 }
32 result = element; 33 result = element;
33 })); 34 }));
34 return result; 35 return result;
35 } 36 }
36 37
37 typedef bool Predicate<E>(E argument); 38 typedef bool Predicate<E>(E argument);
38 39
39 /** 40 /**
40 * A function to be called for every [Element]. 41 * A function to be called for every [Element].
41 */ 42 */
42 typedef void _ElementVisitorFunction(Element element); 43 typedef void _ElementVisitorFunction(Element element);
43 44
44 class BaseAnalysisDriverTest { 45 class BaseAnalysisDriverTest {
45 final MemoryResourceProvider provider = new MemoryResourceProvider(); 46 final MemoryResourceProvider provider = new MemoryResourceProvider();
47 DartSdk sdk;
46 final ByteStore byteStore = new MemoryByteStore(); 48 final ByteStore byteStore = new MemoryByteStore();
47 final FileContentOverlay contentOverlay = new FileContentOverlay(); 49 final FileContentOverlay contentOverlay = new FileContentOverlay();
48 50
49 final StringBuffer logBuffer = new StringBuffer(); 51 final StringBuffer logBuffer = new StringBuffer();
50 PerformanceLog logger; 52 PerformanceLog logger;
51 53
52 AnalysisDriverScheduler scheduler; 54 AnalysisDriverScheduler scheduler;
53 AnalysisDriver driver; 55 AnalysisDriver driver;
54 final List<AnalysisStatus> allStatuses = <AnalysisStatus>[]; 56 final List<AnalysisStatus> allStatuses = <AnalysisStatus>[];
55 final List<AnalysisResult> allResults = <AnalysisResult>[]; 57 final List<AnalysisResult> allResults = <AnalysisResult>[];
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 if (c >= '0'.codeUnitAt(0) && c <= '9'.codeUnitAt(0)) { 92 if (c >= '0'.codeUnitAt(0) && c <= '9'.codeUnitAt(0)) {
91 length++; 93 length++;
92 continue; 94 continue;
93 } 95 }
94 break; 96 break;
95 } 97 }
96 return length; 98 return length;
97 } 99 }
98 100
99 void setUp() { 101 void setUp() {
102 sdk = new MockSdk(resourceProvider: provider);
100 testProject = _p('/test/lib'); 103 testProject = _p('/test/lib');
101 testFile = _p('/test/lib/test.dart'); 104 testFile = _p('/test/lib/test.dart');
102 logger = new PerformanceLog(logBuffer); 105 logger = new PerformanceLog(logBuffer);
103 scheduler = new AnalysisDriverScheduler(logger); 106 scheduler = new AnalysisDriverScheduler(logger);
104 driver = new AnalysisDriver( 107 driver = new AnalysisDriver(
105 scheduler, 108 scheduler,
106 logger, 109 logger,
107 provider, 110 provider,
108 byteStore, 111 byteStore,
109 contentOverlay, 112 contentOverlay,
(...skipping 20 matching lines...) Expand all
130 class _ElementVisitorFunctionWrapper extends GeneralizingElementVisitor { 133 class _ElementVisitorFunctionWrapper extends GeneralizingElementVisitor {
131 final _ElementVisitorFunction function; 134 final _ElementVisitorFunction function;
132 135
133 _ElementVisitorFunctionWrapper(this.function); 136 _ElementVisitorFunctionWrapper(this.function);
134 137
135 visitElement(Element element) { 138 visitElement(Element element) {
136 function(element); 139 function(element);
137 super.visitElement(element); 140 super.visitElement(element);
138 } 141 }
139 } 142 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/src/context/mock_sdk.dart ('k') | pkg/analyzer/test/src/dart/analysis/driver_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698