@@ -47615,6 +47615,135 @@ library
47615
47615
''');
47616
47616
}
47617
47617
47618
+ test_library_parts_nested() async {
47619
+ newFile('$testPackageLibPath/a.dart', r'''
47620
+ part of 'test.dart';
47621
+ part 'a11.dart';
47622
+ part 'a12.dart';
47623
+ class A {}
47624
+ ''');
47625
+
47626
+ newFile('$testPackageLibPath/a11.dart', r'''
47627
+ part of 'a.dart';
47628
+ class A11 {}
47629
+ ''');
47630
+
47631
+ newFile('$testPackageLibPath/a12.dart', r'''
47632
+ part of 'a.dart';
47633
+ class A12 {}
47634
+ ''');
47635
+
47636
+ newFile('$testPackageLibPath/b.dart', r'''
47637
+ part of 'test.dart';
47638
+ part 'b11.dart';
47639
+ part 'b12.dart';
47640
+ ''');
47641
+
47642
+ newFile('$testPackageLibPath/b11.dart', r'''
47643
+ part of 'b.dart';
47644
+ class B11 {}
47645
+ ''');
47646
+
47647
+ newFile('$testPackageLibPath/b12.dart', r'''
47648
+ part of 'b.dart';
47649
+ class B12 {}
47650
+ ''');
47651
+
47652
+ var library = await buildLibrary('''
47653
+ part 'a.dart';
47654
+ part 'b.dart';
47655
+ class Z {}
47656
+ ''');
47657
+
47658
+ configuration.withConstructors = false;
47659
+ checkElementText(library, r'''
47660
+ library
47661
+ reference: <testLibrary>
47662
+ definingUnit: <testLibraryFragment>
47663
+ parts
47664
+ part_0
47665
+ part_1
47666
+ units
47667
+ <testLibraryFragment>
47668
+ enclosingElement: <testLibrary>
47669
+ parts
47670
+ part_0
47671
+ uri: package:test/a.dart
47672
+ enclosingElement: <testLibrary>
47673
+ enclosingElement3: <testLibraryFragment>
47674
+ unit: <testLibrary>::@fragment::package:test/a.dart
47675
+ part_1
47676
+ uri: package:test/b.dart
47677
+ enclosingElement: <testLibrary>
47678
+ enclosingElement3: <testLibraryFragment>
47679
+ unit: <testLibrary>::@fragment::package:test/b.dart
47680
+ classes
47681
+ class Z @36
47682
+ reference: <testLibraryFragment>::@class::Z
47683
+ enclosingElement: <testLibraryFragment>
47684
+ <testLibrary>::@fragment::package:test/a.dart
47685
+ enclosingElement: <testLibrary>
47686
+ enclosingElement3: <testLibraryFragment>
47687
+ parts
47688
+ part_2
47689
+ uri: package:test/a11.dart
47690
+ enclosingElement: <testLibrary>
47691
+ enclosingElement3: <testLibrary>::@fragment::package:test/a.dart
47692
+ unit: <testLibrary>::@fragment::package:test/a11.dart
47693
+ part_3
47694
+ uri: package:test/a12.dart
47695
+ enclosingElement: <testLibrary>
47696
+ enclosingElement3: <testLibrary>::@fragment::package:test/a.dart
47697
+ unit: <testLibrary>::@fragment::package:test/a12.dart
47698
+ classes
47699
+ class A @61
47700
+ reference: <testLibrary>::@fragment::package:test/a.dart::@class::A
47701
+ enclosingElement: <testLibrary>::@fragment::package:test/a.dart
47702
+ <testLibrary>::@fragment::package:test/a11.dart
47703
+ enclosingElement: <testLibrary>
47704
+ enclosingElement3: <testLibraryFragment>
47705
+ classes
47706
+ class A11 @24
47707
+ reference: <testLibrary>::@fragment::package:test/a11.dart::@class::A11
47708
+ enclosingElement: <testLibrary>::@fragment::package:test/a11.dart
47709
+ <testLibrary>::@fragment::package:test/a12.dart
47710
+ enclosingElement: <testLibrary>
47711
+ enclosingElement3: <testLibraryFragment>
47712
+ classes
47713
+ class A12 @24
47714
+ reference: <testLibrary>::@fragment::package:test/a12.dart::@class::A12
47715
+ enclosingElement: <testLibrary>::@fragment::package:test/a12.dart
47716
+ <testLibrary>::@fragment::package:test/b.dart
47717
+ enclosingElement: <testLibrary>
47718
+ enclosingElement3: <testLibraryFragment>
47719
+ parts
47720
+ part_4
47721
+ uri: package:test/b11.dart
47722
+ enclosingElement: <testLibrary>
47723
+ enclosingElement3: <testLibrary>::@fragment::package:test/b.dart
47724
+ unit: <testLibrary>::@fragment::package:test/b11.dart
47725
+ part_5
47726
+ uri: package:test/b12.dart
47727
+ enclosingElement: <testLibrary>
47728
+ enclosingElement3: <testLibrary>::@fragment::package:test/b.dart
47729
+ unit: <testLibrary>::@fragment::package:test/b12.dart
47730
+ <testLibrary>::@fragment::package:test/b11.dart
47731
+ enclosingElement: <testLibrary>
47732
+ enclosingElement3: <testLibraryFragment>
47733
+ classes
47734
+ class B11 @24
47735
+ reference: <testLibrary>::@fragment::package:test/b11.dart::@class::B11
47736
+ enclosingElement: <testLibrary>::@fragment::package:test/b11.dart
47737
+ <testLibrary>::@fragment::package:test/b12.dart
47738
+ enclosingElement: <testLibrary>
47739
+ enclosingElement3: <testLibraryFragment>
47740
+ classes
47741
+ class B12 @24
47742
+ reference: <testLibrary>::@fragment::package:test/b12.dart::@class::B12
47743
+ enclosingElement: <testLibrary>::@fragment::package:test/b12.dart
47744
+ ''');
47745
+ }
47746
+
47618
47747
test_library_parts_noRelativeUriStr() async {
47619
47748
var library = await buildLibrary(r'''
47620
47749
part '${'foo'}.dart';
0 commit comments