Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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.generated.sdk_test; | 5 library analyzer.test.generated.sdk_test; |
| 6 | 6 |
| 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/src/context/builder.dart' show EmbedderYamlLocator; | 9 import 'package:analyzer/src/context/builder.dart' show EmbedderYamlLocator; |
| 10 import 'package:analyzer/src/dart/sdk/sdk.dart'; | 10 import 'package:analyzer/src/dart/sdk/sdk.dart'; |
| 11 import 'package:analyzer/src/generated/engine.dart'; | 11 import 'package:analyzer/src/generated/engine.dart'; |
| 12 import 'package:analyzer/src/generated/java_engine_io.dart'; | 12 import 'package:analyzer/src/generated/java_engine_io.dart'; |
| 13 import 'package:analyzer/src/generated/sdk.dart'; | 13 import 'package:analyzer/src/generated/sdk.dart'; |
| 14 import 'package:analyzer/src/generated/source.dart'; | 14 import 'package:analyzer/src/generated/source.dart'; |
| 15 import 'package:analyzer/src/summary/summarize_elements.dart'; | 15 import 'package:analyzer/src/summary/summarize_elements.dart'; |
| 16 import 'package:test/test.dart'; | 16 import 'package:test/test.dart'; |
| 17 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 17 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 18 | 18 |
| 19 import '../../../embedder_tests.dart'; | 19 import '../../../embedder_tests.dart'; |
| 20 import '../../../generated/test_support.dart'; | 20 import '../../../generated/test_support.dart'; |
| 21 import '../../../resource_utils.dart'; | 21 import '../../../resource_utils.dart'; |
| 22 | 22 |
| 23 main() { | 23 main() { |
| 24 defineReflectiveSuite(() { | 24 defineReflectiveSuite(() { |
| 25 defineReflectiveTests(EmbedderSdkTest); | 25 defineReflectiveTests(EmbedderSdkTest); |
| 26 defineReflectiveTests(FolderBasedDartSdkTest); | 26 defineReflectiveTests(FolderBasedDartSdkTest); |
| 27 defineReflectiveTests(SdkExtensionFinderTest); | 27 defineReflectiveTests(SdkExtensionFinderTest); |
| 28 defineReflectiveTests(SDKLibrariesReaderTest); | 28 defineReflectiveTests(SdkLibrariesReaderTest); |
| 29 defineReflectiveTests(SdkLibraryImplTest); | |
| 29 }); | 30 }); |
| 30 } | 31 } |
| 31 | 32 |
| 32 @reflectiveTest | 33 @reflectiveTest |
| 33 class EmbedderSdkTest extends EmbedderRelatedTest { | 34 class EmbedderSdkTest extends EmbedderRelatedTest { |
| 34 void test_creation() { | 35 void test_creation() { |
| 35 EmbedderYamlLocator locator = new EmbedderYamlLocator({ | 36 EmbedderYamlLocator locator = new EmbedderYamlLocator({ |
| 36 'fox': <Folder>[pathTranslator.getResource(foxLib)] | 37 'fox': <Folder>[pathTranslator.getResource(foxLib)] |
| 37 }); | 38 }); |
| 38 EmbedderSdk sdk = new EmbedderSdk(resourceProvider, locator.embedderYamls); | 39 EmbedderSdk sdk = new EmbedderSdk(resourceProvider, locator.embedderYamls); |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 384 expect(urlMappings['dart:bear'], | 385 expect(urlMappings['dart:bear'], |
| 385 equals(resourceProvider.convertPath("/tmp/grizzly.dart"))); | 386 equals(resourceProvider.convertPath("/tmp/grizzly.dart"))); |
| 386 expect(urlMappings['dart:relative'], | 387 expect(urlMappings['dart:relative'], |
| 387 equals(resourceProvider.convertPath("/relative.dart"))); | 388 equals(resourceProvider.convertPath("/relative.dart"))); |
| 388 expect(urlMappings['dart:deep'], | 389 expect(urlMappings['dart:deep'], |
| 389 equals(resourceProvider.convertPath("/tmp/deep/directory/file.dart"))); | 390 equals(resourceProvider.convertPath("/tmp/deep/directory/file.dart"))); |
| 390 } | 391 } |
| 391 } | 392 } |
| 392 | 393 |
| 393 @reflectiveTest | 394 @reflectiveTest |
| 394 class SDKLibrariesReaderTest extends EngineTestCase { | 395 class SdkLibrariesReaderTest extends EngineTestCase { |
| 395 /** | 396 /** |
| 396 * The resource provider used by these tests. | 397 * The resource provider used by these tests. |
| 397 */ | 398 */ |
| 398 MemoryResourceProvider resourceProvider; | 399 MemoryResourceProvider resourceProvider; |
| 399 | 400 |
| 400 @override | 401 @override |
| 401 void setUp() { | 402 void setUp() { |
| 402 resourceProvider = new MemoryResourceProvider(); | 403 resourceProvider = new MemoryResourceProvider(); |
| 403 } | 404 } |
| 404 | 405 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 466 SdkLibrary second = libraryMap.getLibrary("dart:second"); | 467 SdkLibrary second = libraryMap.getLibrary("dart:second"); |
| 467 expect(second, isNotNull); | 468 expect(second, isNotNull); |
| 468 expect(second.category, "Server"); | 469 expect(second.category, "Server"); |
| 469 expect(second.path, "second/second.dart"); | 470 expect(second.path, "second/second.dart"); |
| 470 expect(second.shortName, "dart:second"); | 471 expect(second.shortName, "dart:second"); |
| 471 expect(second.isDart2JsLibrary, false); | 472 expect(second.isDart2JsLibrary, false); |
| 472 expect(second.isDocumented, false); | 473 expect(second.isDocumented, false); |
| 473 expect(second.isImplementation, true); | 474 expect(second.isImplementation, true); |
| 474 expect(second.isVmLibrary, false); | 475 expect(second.isVmLibrary, false); |
| 475 } | 476 } |
| 477 | |
| 478 void test_readFrom_patches() { | |
| 479 LibraryMap libraryMap = new SdkLibrariesReader(false).readFromFile( | |
| 480 resourceProvider.getFile('/libs.dart'), | |
| 481 r''' | |
| 482 final Map<String, LibraryInfo> LIBRARIES = const <String, LibraryInfo> { | |
| 483 'foo' : const LibraryInfo( | |
| 484 'foo/foo.dart', | |
| 485 patches: { | |
| 486 VM_PLATFORM: 'foo/foo_vm_patch.dart', | |
|
Paul Berry
2016/10/10 19:14:38
Since "patches" should be a Map<int, List<String>>
scheglov
2016/10/10 19:41:52
Done.
| |
| 487 VM_PLATFORM: 'foo/bar_vm_patch.dart', | |
| 488 DART2JS_PLATFORM: '_internal/js_runtime/lib/foo_patch.dart'}, | |
| 489 maturity: Maturity.STABLE), | |
| 490 };'''); | |
| 491 expect(libraryMap, isNotNull); | |
| 492 expect(libraryMap.size(), 1); | |
| 493 SdkLibrary library = libraryMap.getLibrary('dart:foo'); | |
| 494 expect(library, isNotNull); | |
| 495 expect(library.path, 'foo/foo.dart'); | |
| 496 expect(library.shortName, 'dart:foo'); | |
| 497 expect(library.getPatches(SdkLibraryImpl.VM_PLATFORM), | |
| 498 unorderedEquals(['foo/foo_vm_patch.dart', 'foo/bar_vm_patch.dart'])); | |
| 499 expect(library.getPatches(SdkLibraryImpl.DART2JS_PLATFORM), | |
| 500 unorderedEquals(['_internal/js_runtime/lib/foo_patch.dart'])); | |
| 501 } | |
| 502 | |
| 503 void test_readFrom_patches_invalid_unknownPlatform() { | |
| 504 expect(() { | |
| 505 new SdkLibrariesReader(false).readFromFile( | |
| 506 resourceProvider.getFile('/libs.dart'), | |
| 507 r''' | |
| 508 final Map<String, LibraryInfo> LIBRARIES = const <String, LibraryInfo> { | |
| 509 'foo' : const LibraryInfo( | |
| 510 'foo/foo.dart', | |
| 511 patches: { | |
| 512 MY_UNKNOWN_PLATFORM: 'foo/bar_patch.dart'}), | |
| 513 };'''); | |
| 514 }, throwsArgumentError); | |
| 515 } | |
| 516 | |
| 517 void test_readFrom_patches_no() { | |
| 518 LibraryMap libraryMap = new SdkLibrariesReader(false).readFromFile( | |
| 519 resourceProvider.getFile('/libs.dart'), | |
| 520 r''' | |
| 521 final Map<String, LibraryInfo> LIBRARIES = const <String, LibraryInfo> { | |
| 522 'my' : const LibraryInfo('my/my.dart') | |
| 523 };'''); | |
| 524 expect(libraryMap, isNotNull); | |
| 525 expect(libraryMap.size(), 1); | |
| 526 SdkLibrary library = libraryMap.getLibrary('dart:my'); | |
| 527 expect(library, isNotNull); | |
| 528 expect(library.path, 'my/my.dart'); | |
| 529 expect(library.shortName, 'dart:my'); | |
| 530 expect(library.getPatches(SdkLibraryImpl.VM_PLATFORM), isEmpty); | |
| 531 expect(library.getPatches(SdkLibraryImpl.DART2JS_PLATFORM), isEmpty); | |
| 532 } | |
| 476 } | 533 } |
| 534 | |
| 535 @reflectiveTest | |
| 536 class SdkLibraryImplTest extends EngineTestCase { | |
| 537 void test_patches() { | |
| 538 SdkLibraryImpl library = new SdkLibraryImpl('dart:async'); | |
| 539 // Add patches. | |
| 540 library.addPatch(SdkLibraryImpl.VM_PLATFORM, 'async/async_vm_patch.dart'); | |
| 541 library.addPatch(SdkLibraryImpl.VM_PLATFORM, 'async/timer_vm_patch.dart'); | |
| 542 library.addPatch(SdkLibraryImpl.DART2JS_PLATFORM, | |
| 543 '_internal/js_runtime/lib/async_patch.dart'); | |
| 544 // Get patches. | |
| 545 expect( | |
| 546 library.getPatches(SdkLibraryImpl.VM_PLATFORM), | |
| 547 unorderedEquals( | |
| 548 ['async/async_vm_patch.dart', 'async/timer_vm_patch.dart'])); | |
| 549 expect(library.getPatches(SdkLibraryImpl.DART2JS_PLATFORM), | |
| 550 unorderedEquals(['_internal/js_runtime/lib/async_patch.dart'])); | |
| 551 } | |
| 552 } | |
| OLD | NEW |