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

Side by Side Diff: pkg/analyzer/test/src/context/builder_test.dart

Issue 2153463002: Fixes for ContextBuilder and tests to make them pass on Windows. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Update status file. Created 4 years, 5 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 | « pkg/analyzer/lib/src/context/builder.dart ('k') | pkg/pkg.status » ('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) 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 library analyzer.test.src.context.context_builder_test; 5 library analyzer.test.src.context.context_builder_test;
6 6
7 import 'dart:io' as io; 7 import 'dart:io' as io;
8 8
9 import 'package:analyzer/file_system/file_system.dart'; 9 import 'package:analyzer/file_system/file_system.dart';
10 import 'package:analyzer/file_system/memory_file_system.dart'; 10 import 'package:analyzer/file_system/memory_file_system.dart';
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 String rootPath = tempDir.path; 227 String rootPath = tempDir.path;
228 String projectPath = pathContext.join(rootPath, 'project'); 228 String projectPath = pathContext.join(rootPath, 'project');
229 String packageFilePath = pathContext.join(projectPath, '.packages'); 229 String packageFilePath = pathContext.join(projectPath, '.packages');
230 String packageA = pathContext.join(rootPath, 'pkgs', 'a'); 230 String packageA = pathContext.join(rootPath, 'pkgs', 'a');
231 String embedderPath = pathContext.join(packageA, '_embedder.yaml'); 231 String embedderPath = pathContext.join(packageA, '_embedder.yaml');
232 String packageB = pathContext.join(rootPath, 'pkgs', 'b'); 232 String packageB = pathContext.join(rootPath, 'pkgs', 'b');
233 String extensionPath = pathContext.join(packageB, '_sdkext'); 233 String extensionPath = pathContext.join(packageB, '_sdkext');
234 createFile( 234 createFile(
235 packageFilePath, 235 packageFilePath,
236 ''' 236 '''
237 a:$packageA 237 a:${pathContext.toUri(packageA)}
238 b:$packageB 238 b:${pathContext.toUri(packageB)}
239 '''); 239 ''');
240 String asyncPath = pathContext.join(packageA, 'sdk', 'async.dart'); 240 String asyncPath = pathContext.join(packageA, 'sdk', 'async.dart');
241 String corePath = pathContext.join(packageA, 'sdk', 'core.dart'); 241 String corePath = pathContext.join(packageA, 'sdk', 'core.dart');
242 createFile( 242 createFile(
243 embedderPath, 243 embedderPath,
244 ''' 244 '''
245 embedded_libs: 245 embedded_libs:
246 "dart:async": ${pathContext.relative(asyncPath, from: packageA)} 246 "dart:async": ${_relativeUri(asyncPath, from: packageA)}
247 "dart:core": ${pathContext.relative(corePath, from: packageA)} 247 "dart:core": ${_relativeUri(corePath, from: packageA)}
248 '''); 248 ''');
249 String fooPath = pathContext.join(packageB, 'ext', 'foo.dart'); 249 String fooPath = pathContext.join(packageB, 'ext', 'foo.dart');
250 createFile( 250 createFile(
251 extensionPath, 251 extensionPath,
252 '''{ 252 '''{
253 "dart:foo": "${pathContext.relative(fooPath, from: packageB)}" 253 "dart:foo": "${_relativeUri(fooPath, from: packageB)}"
254 }'''); 254 }''');
255 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); 255 AnalysisOptionsImpl options = new AnalysisOptionsImpl();
256 256
257 SourceFactory factory = builder.createSourceFactory(projectPath, options); 257 SourceFactory factory = builder.createSourceFactory(projectPath, options);
258 258
259 Source asyncSource = factory.forUri('dart:async'); 259 Source asyncSource = factory.forUri('dart:async');
260 expect(asyncSource, isNotNull); 260 expect(asyncSource, isNotNull);
261 expect(asyncSource.fullName, asyncPath); 261 expect(asyncSource.fullName, asyncPath);
262 262
263 Source fooSource = factory.forUri('dart:foo'); 263 Source fooSource = factory.forUri('dart:foo');
264 expect(fooSource, isNotNull); 264 expect(fooSource, isNotNull);
265 expect(fooSource.fullName, fooPath); 265 expect(fooSource.fullName, fooPath);
266 266
267 Source packageSource = factory.forUri('package:b/b.dart'); 267 Source packageSource = factory.forUri('package:b/b.dart');
268 expect(packageSource, isNotNull); 268 expect(packageSource, isNotNull);
269 expect(packageSource.fullName, '$packageB/b.dart'); 269 expect(packageSource.fullName, pathContext.join(packageB, 'b.dart'));
270 }); 270 });
271 } 271 }
272 272
273 void test_createSourceFactory_noProvider_packages_embedder_noExtensions() { 273 void test_createSourceFactory_noProvider_packages_embedder_noExtensions() {
274 withTempDir((io.Directory tempDir) { 274 withTempDir((io.Directory tempDir) {
275 createDefaultSdk(tempDir); 275 createDefaultSdk(tempDir);
276 String rootPath = tempDir.path; 276 String rootPath = tempDir.path;
277 String projectPath = pathContext.join(rootPath, 'project'); 277 String projectPath = pathContext.join(rootPath, 'project');
278 String packageFilePath = pathContext.join(projectPath, '.packages'); 278 String packageFilePath = pathContext.join(projectPath, '.packages');
279 String packageA = pathContext.join(rootPath, 'pkgs', 'a'); 279 String packageA = pathContext.join(rootPath, 'pkgs', 'a');
280 String embedderPath = pathContext.join(packageA, '_embedder.yaml'); 280 String embedderPath = pathContext.join(packageA, '_embedder.yaml');
281 String packageB = pathContext.join(rootPath, 'pkgs', 'b'); 281 String packageB = pathContext.join(rootPath, 'pkgs', 'b');
282 createFile( 282 createFile(
283 packageFilePath, 283 packageFilePath,
284 ''' 284 '''
285 a:$packageA 285 a:${pathContext.toUri(packageA)}
286 b:$packageB 286 b:${pathContext.toUri(packageB)}
287 '''); 287 ''');
288 String asyncPath = pathContext.join(packageA, 'sdk', 'async.dart'); 288 String asyncPath = pathContext.join(packageA, 'sdk', 'async.dart');
289 String corePath = pathContext.join(packageA, 'sdk', 'core.dart'); 289 String corePath = pathContext.join(packageA, 'sdk', 'core.dart');
290 createFile( 290 createFile(
291 embedderPath, 291 embedderPath,
292 ''' 292 '''
293 embedded_libs: 293 embedded_libs:
294 "dart:async": ${pathContext.relative(asyncPath, from: packageA)} 294 "dart:async": ${_relativeUri(asyncPath, from: packageA)}
295 "dart:core": ${pathContext.relative(corePath, from: packageA)} 295 "dart:core": ${_relativeUri(corePath, from: packageA)}
296 '''); 296 ''');
297 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); 297 AnalysisOptionsImpl options = new AnalysisOptionsImpl();
298 298
299 SourceFactory factory = builder.createSourceFactory(projectPath, options); 299 SourceFactory factory = builder.createSourceFactory(projectPath, options);
300 300
301 Source dartSource = factory.forUri('dart:async'); 301 Source dartSource = factory.forUri('dart:async');
302 expect(dartSource, isNotNull); 302 expect(dartSource, isNotNull);
303 expect(dartSource.fullName, asyncPath); 303 expect(dartSource.fullName, asyncPath);
304 304
305 Source packageSource = factory.forUri('package:b/b.dart'); 305 Source packageSource = factory.forUri('package:b/b.dart');
306 expect(packageSource, isNotNull); 306 expect(packageSource, isNotNull);
307 expect(packageSource.fullName, '$packageB/b.dart'); 307 expect(packageSource.fullName, pathContext.join(packageB, 'b.dart'));
308 }); 308 });
309 } 309 }
310 310
311 @failingTest 311 @failingTest
312 void test_createSourceFactory_noProvider_packages_noEmbedder_extensions() { 312 void test_createSourceFactory_noProvider_packages_noEmbedder_extensions() {
313 fail('Incomplete test'); 313 fail('Incomplete test');
314 } 314 }
315 315
316 void test_createSourceFactory_noProvider_packages_noEmbedder_noExtensions() { 316 void test_createSourceFactory_noProvider_packages_noEmbedder_noExtensions() {
317 withTempDir((io.Directory tempDir) { 317 withTempDir((io.Directory tempDir) {
318 createDefaultSdk(tempDir); 318 createDefaultSdk(tempDir);
319 String rootPath = tempDir.path; 319 String rootPath = tempDir.path;
320 String projectPath = pathContext.join(rootPath, 'project'); 320 String projectPath = pathContext.join(rootPath, 'project');
321 String packageFilePath = pathContext.join(projectPath, '.packages'); 321 String packageFilePath = pathContext.join(projectPath, '.packages');
322 String packageA = pathContext.join(rootPath, 'pkgs', 'a');
323 String packageB = pathContext.join(rootPath, 'pkgs', 'b');
322 createFile( 324 createFile(
323 packageFilePath, 325 packageFilePath,
324 r''' 326 '''
325 a:file:///pkgs/a 327 a:${pathContext.toUri(packageA)}
326 b:file:///pkgs/b 328 b:${pathContext.toUri(packageB)}
327 '''); 329 ''');
328 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); 330 AnalysisOptionsImpl options = new AnalysisOptionsImpl();
329 331
330 SourceFactory factory = builder.createSourceFactory(projectPath, options); 332 SourceFactory factory = builder.createSourceFactory(projectPath, options);
331 333
332 Source dartSource = factory.forUri('dart:core'); 334 Source dartSource = factory.forUri('dart:core');
333 expect(dartSource, isNotNull); 335 expect(dartSource, isNotNull);
334 expect(dartSource.fullName, '$defaultSdkPath/lib/core/core.dart'); 336 expect(dartSource.fullName, '$defaultSdkPath/lib/core/core.dart');
335 337
336 Source packageSource = factory.forUri('package:a/a.dart'); 338 Source packageSource = factory.forUri('package:a/a.dart');
337 expect(packageSource, isNotNull); 339 expect(packageSource, isNotNull);
338 expect(packageSource.fullName, '/pkgs/a/a.dart'); 340 expect(packageSource.fullName, pathContext.join(packageA, 'a.dart'));
339 }); 341 });
340 } 342 }
341 343
342 @failingTest 344 @failingTest
343 void test_createSourceFactory_provider() { 345 void test_createSourceFactory_provider() {
344 fail('Incomplete test'); 346 fail('Incomplete test');
345 } 347 }
346 348
347 /** 349 /**
348 * Execute the [test] function with a temporary [directory]. The test function 350 * Execute the [test] function with a temporary [directory]. The test function
349 * can perform any disk operations within the directory and the directory (and 351 * can perform any disk operations within the directory and the directory (and
350 * its content) will be removed after the function returns. 352 * its content) will be removed after the function returns.
351 */ 353 */
352 void withTempDir(test(io.Directory directory)) { 354 void withTempDir(test(io.Directory directory)) {
353 io.Directory directory = 355 io.Directory directory =
354 io.Directory.systemTemp.createTempSync('analyzer_'); 356 io.Directory.systemTemp.createTempSync('analyzer_');
355 try { 357 try {
356 test(directory); 358 test(directory);
357 } finally { 359 } finally {
358 directory.deleteSync(recursive: true); 360 directory.deleteSync(recursive: true);
359 } 361 }
360 } 362 }
363
364 Uri _relativeUri(String path, {String from}) {
365 String relativePath = pathContext.relative(path, from: from);
366 return pathContext.toUri(relativePath);
367 }
361 } 368 }
362 369
363 @reflectiveTest 370 @reflectiveTest
364 class ContextBuilderTest_WithoutDisk extends EngineTestCase { 371 class ContextBuilderTest_WithoutDisk extends EngineTestCase {
365 /** 372 /**
366 * The resource provider to be used by tests. 373 * The resource provider to be used by tests.
367 */ 374 */
368 MemoryResourceProvider resourceProvider; 375 MemoryResourceProvider resourceProvider;
369 376
370 /** 377 /**
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 void test_getOptionsFile_inRoot_old() { 475 void test_getOptionsFile_inRoot_old() {
469 String path = '/some/directory/path'; 476 String path = '/some/directory/path';
470 String filePath = '$path/${AnalysisEngine.ANALYSIS_OPTIONS_FILE}'; 477 String filePath = '$path/${AnalysisEngine.ANALYSIS_OPTIONS_FILE}';
471 resourceProvider.newFile(filePath, ''); 478 resourceProvider.newFile(filePath, '');
472 479
473 File result = builder.getOptionsFile(path); 480 File result = builder.getOptionsFile(path);
474 expect(result, isNotNull); 481 expect(result, isNotNull);
475 expect(result.path, filePath); 482 expect(result.path, filePath);
476 } 483 }
477 } 484 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/context/builder.dart ('k') | pkg/pkg.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698