| Index: pkg/analyzer/test/src/summary/linker_test.dart
|
| diff --git a/pkg/analyzer/test/src/summary/linker_test.dart b/pkg/analyzer/test/src/summary/linker_test.dart
|
| index 92a6fe97156c33d8848f0eb79bf26924b8085036..eb9e407da88255568a07a9643a1ee72b95c8fb5f 100644
|
| --- a/pkg/analyzer/test/src/summary/linker_test.dart
|
| +++ b/pkg/analyzer/test/src/summary/linker_test.dart
|
| @@ -61,6 +61,42 @@ class LinkerUnitTest extends SummaryLinkerTest {
|
| expect(bundle0.apiSignature, bundle1.apiSignature);
|
| }
|
|
|
| + void test_apiSignature_orderChange() {
|
| + // A change to the order in which files are processed should not affect the
|
| + // API signature.
|
| + addNamedSource('/a.dart', 'class A {}');
|
| + var bundle0 = createPackageBundle('class B {}', path: '/b.dart');
|
| + addNamedSource('/b.dart', 'class B {}');
|
| + var bundle1 = createPackageBundle('class A {}', path: '/a.dart');
|
| + expect(bundle0.apiSignature, isNotEmpty);
|
| + expect(bundle1.apiSignature, isNotEmpty);
|
| + expect(bundle0.apiSignature, bundle1.apiSignature);
|
| + }
|
| +
|
| + void test_apiSignature_unlinkedOnly() {
|
| + // The API signature of a package bundle should only contain unlinked
|
| + // information. In this test, the linked information for bundle2 and
|
| + // bundle3 refer to class C as existing in different files. But the
|
| + // unlinked information for bundle2 and bundle3 should be the same, so their
|
| + // API signatures should be the same.
|
| + addNamedSource('/a.dart', 'class C {}');
|
| + var bundle0 = createPackageBundle('', path: '/b.dart');
|
| + addNamedSource('/a.dart', '');
|
| + var bundle1 = createPackageBundle('class C {}', path: '/b.dart');
|
| + var text = '''
|
| +import 'a.dart';
|
| +import 'b.dart';
|
| +class D extends C {}
|
| +''';
|
| + addBundle('/bundle0.ds', bundle0);
|
| + var bundle2 = createPackageBundle(text, path: '/c.dart');
|
| + addBundle('/bundle1.ds', bundle1);
|
| + var bundle3 = createPackageBundle(text, path: '/c.dart');
|
| + expect(bundle2.apiSignature, isNotEmpty);
|
| + expect(bundle3.apiSignature, isNotEmpty);
|
| + expect(bundle2.apiSignature, bundle3.apiSignature);
|
| + }
|
| +
|
| void test_baseClass_genericWithAccessor() {
|
| createLinker('''
|
| class B<T> {
|
|
|