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 |