@@ -15,6 +15,7 @@ import * as assert from "assert";
1515
1616import { FolderContext } from "@src/FolderContext" ;
1717import { SwiftPackage } from "@src/SwiftPackage" ;
18+ import { WorkspaceContext } from "@src/WorkspaceContext" ;
1819import { Version } from "@src/utilities/version" ;
1920
2021import { tag } from "../tags" ;
@@ -24,12 +25,22 @@ import { activateExtensionForSuite } from "./utilities/testutilities";
2425tag ( "medium" ) . suite ( "SwiftPackage Test Suite" , function ( ) {
2526 let swiftPackage : SwiftPackage ;
2627
28+ function getFolderContext ( ctx : WorkspaceContext , asset : string ) : FolderContext {
29+ const folders = ctx . folders . filter ( folder => folder . name . endsWith ( asset ) ) ;
30+ if ( folders . length === 0 ) {
31+ throw new Error ( `Test asset folder ${ asset } not found` ) ;
32+ }
33+ return folders [ 0 ] ;
34+ }
35+
2736 suite ( "empty-folder" , ( ) => {
37+ const asset = "empty-folder" ;
38+
2839 activateExtensionForSuite ( {
2940 async setup ( ctx ) {
30- swiftPackage = ctx . folders [ 0 ] . swiftPackage ;
41+ swiftPackage = getFolderContext ( ctx , asset ) . swiftPackage ;
3142 } ,
32- testAssets : [ "empty-folder" ] ,
43+ testAssets : [ asset ] ,
3344 } ) ;
3445
3546 test ( "No package" , async ( ) => {
@@ -38,11 +49,13 @@ tag("medium").suite("SwiftPackage Test Suite", function () {
3849 } ) ;
3950
4051 suite ( "invalid-package" , ( ) => {
52+ const asset = "invalid-package" ;
53+
4154 activateExtensionForSuite ( {
4255 async setup ( ctx ) {
43- swiftPackage = ctx . folders [ 0 ] . swiftPackage ;
56+ swiftPackage = getFolderContext ( ctx , asset ) . swiftPackage ;
4457 } ,
45- testAssets : [ "invalid-package" ] ,
58+ testAssets : [ asset ] ,
4659 } ) ;
4760
4861 test ( "Invalid Package" , async ( ) => {
@@ -52,14 +65,15 @@ tag("medium").suite("SwiftPackage Test Suite", function () {
5265 } ) ;
5366
5467 suite ( "package2" , ( ) => {
68+ const asset = "package2" ;
5569 let folderContext : FolderContext ;
5670
5771 activateExtensionForSuite ( {
5872 async setup ( ctx ) {
59- folderContext = ctx . folders [ 0 ] ;
73+ folderContext = getFolderContext ( ctx , asset ) ;
6074 swiftPackage = folderContext . swiftPackage ;
6175 } ,
62- testAssets : [ "package2" ] ,
76+ testAssets : [ asset ] ,
6377 } ) ;
6478
6579 test ( "Library Package" , async ( ) => {
@@ -83,13 +97,15 @@ tag("medium").suite("SwiftPackage Test Suite", function () {
8397 } ) ;
8498
8599 suite ( "package5.6" , ( ) => {
100+ const asset = "package5.6" ;
101+
86102 let swiftVersion : Version ;
87103 activateExtensionForSuite ( {
88104 async setup ( ctx ) {
89105 swiftVersion = ctx . globalToolchain . swiftVersion ;
90- swiftPackage = ctx . folders [ 0 ] . swiftPackage ;
106+ swiftPackage = getFolderContext ( ctx , asset ) . swiftPackage ;
91107 } ,
92- testAssets : [ "package5.6" ] ,
108+ testAssets : [ asset ] ,
93109 } ) ;
94110
95111 test ( "Package resolve v2" , async function ( ) {
@@ -105,11 +121,13 @@ tag("medium").suite("SwiftPackage Test Suite", function () {
105121 } ) ;
106122
107123 suite ( "identity-case" , ( ) => {
124+ const asset = "identity-case" ;
125+
108126 activateExtensionForSuite ( {
109127 async setup ( ctx ) {
110- swiftPackage = ctx . folders [ 0 ] . swiftPackage ;
128+ swiftPackage = getFolderContext ( ctx , asset ) . swiftPackage ;
111129 } ,
112- testAssets : [ "identity-case" ] ,
130+ testAssets : [ asset ] ,
113131 } ) ;
114132
115133 test ( "Identity case-insensitivity" , async ( ) => {
@@ -122,11 +140,13 @@ tag("medium").suite("SwiftPackage Test Suite", function () {
122140 } ) ;
123141
124142 suite ( "identity-different" , ( ) => {
143+ const asset = "identity-different" ;
144+
125145 activateExtensionForSuite ( {
126146 async setup ( ctx ) {
127- swiftPackage = ctx . folders [ 0 ] . swiftPackage ;
147+ swiftPackage = getFolderContext ( ctx , asset ) . swiftPackage ;
128148 } ,
129- testAssets : [ "identity-different" ] ,
149+ testAssets : [ asset ] ,
130150 } ) ;
131151
132152 test ( "Identity case-insensitivity" , async ( ) => {
0 commit comments