Skip to content

Commit 1aaaf60

Browse files
committed
Better cleanup for the error handling project panel test
1 parent 7f29805 commit 1aaaf60

File tree

1 file changed

+26
-14
lines changed

1 file changed

+26
-14
lines changed

test/integration-tests/ui/ProjectPanelProvider.test.ts

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { afterEach, beforeEach } from "mocha";
1616
import * as path from "path";
1717
import * as vscode from "vscode";
1818

19+
import { FolderContext } from "@src/FolderContext";
1920
import { WorkspaceContext } from "@src/WorkspaceContext";
2021
import { Commands } from "@src/commands";
2122
import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider";
@@ -306,13 +307,6 @@ tag("medium").suite("ProjectPanelProvider Test Suite", function () {
306307
});
307308

308309
suite("Dependencies", () => {
309-
let errorTreeProvider: ProjectPanelProvider | undefined;
310-
311-
afterEach(() => {
312-
errorTreeProvider?.dispose();
313-
errorTreeProvider = undefined;
314-
});
315-
316310
test("Includes remote dependency", async () => {
317311
workspaceContext.contextKeys.flatDependenciesList = false;
318312
const items = await getHeaderChildren("Dependencies");
@@ -413,13 +407,31 @@ tag("medium").suite("ProjectPanelProvider Test Suite", function () {
413407
expect(items.find(n => n.name === "defaultpackage")).to.not.be.undefined;
414408
});
415409

416-
test("Shows an error node when there is a problem compiling Package.swift", async () => {
417-
workspaceContext.folders[0].hasResolveErrors = true;
418-
workspaceContext.currentFolder = workspaceContext.folders[0];
419-
errorTreeProvider = new ProjectPanelProvider(workspaceContext);
420-
const children = await errorTreeProvider.getChildren();
421-
const errorNode = children.find(n => n.name === "Error Parsing Package.swift");
422-
expect(errorNode).to.not.be.undefined;
410+
suite("Error handling", () => {
411+
let savedCurrentFolder: FolderContext | null | undefined;
412+
let errorTreeProvider: ProjectPanelProvider | undefined;
413+
414+
beforeEach(async () => {
415+
workspaceContext.folders[0].hasResolveErrors = true;
416+
savedCurrentFolder = workspaceContext.currentFolder;
417+
workspaceContext.currentFolder = workspaceContext.folders[0];
418+
});
419+
420+
afterEach(() => {
421+
errorTreeProvider?.dispose();
422+
errorTreeProvider = undefined;
423+
workspaceContext.folders[0].hasResolveErrors = false;
424+
workspaceContext.currentFolder = savedCurrentFolder;
425+
});
426+
427+
test("Shows an error node when there is a problem compiling Package.swift", async () => {
428+
workspaceContext.folders[0].hasResolveErrors = true;
429+
workspaceContext.currentFolder = workspaceContext.folders[0];
430+
errorTreeProvider = new ProjectPanelProvider(workspaceContext);
431+
const children = await errorTreeProvider.getChildren();
432+
const errorNode = children.find(n => n.name === "Error Parsing Package.swift");
433+
expect(errorNode).to.not.be.undefined;
434+
});
423435
});
424436

425437
suite("Excluded files", () => {

0 commit comments

Comments
 (0)