Skip to content

Commit 63dae78

Browse files
committed
More strict SwiftPackage test setup
1 parent ca5bd33 commit 63dae78

File tree

1 file changed

+32
-12
lines changed

1 file changed

+32
-12
lines changed

test/integration-tests/SwiftPackage.test.ts

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import * as assert from "assert";
1515

1616
import { FolderContext } from "@src/FolderContext";
1717
import { SwiftPackage } from "@src/SwiftPackage";
18+
import { WorkspaceContext } from "@src/WorkspaceContext";
1819
import { Version } from "@src/utilities/version";
1920

2021
import { tag } from "../tags";
@@ -24,12 +25,22 @@ import { activateExtensionForSuite } from "./utilities/testutilities";
2425
tag("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

Comments
 (0)