Просмотр исходного кода

test: isolate preset manager config paths for #532

Alvin Unreal 1 месяц назад
Родитель
Сommit
19cc93071e
1 измененных файлов с 10 добавлено и 1 удалено
  1. 10 1
      src/tools/preset-manager.test.ts

+ 10 - 1
src/tools/preset-manager.test.ts

@@ -22,7 +22,7 @@ function createMockContext() {
         dispose: instanceDispose,
       },
     },
-    directory: '/tmp/test',
+    directory: tempDir,
   } as any;
 }
 
@@ -38,14 +38,17 @@ function getOutputText(output: ReturnType<typeof createOutput>): string {
 }
 
 let previousXdgDataHome: string | undefined;
+let previousXdgConfigHome: string | undefined;
 let previousOpenCodeConfigDir: string | undefined;
 let tempDir: string;
 
 beforeEach(() => {
   previousXdgDataHome = process.env.XDG_DATA_HOME;
+  previousXdgConfigHome = process.env.XDG_CONFIG_HOME;
   previousOpenCodeConfigDir = process.env.OPENCODE_CONFIG_DIR;
   tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'omos-preset-manager-'));
   process.env.XDG_DATA_HOME = tempDir;
+  process.env.XDG_CONFIG_HOME = path.join(tempDir, 'xdg-config');
   delete process.env.OPENCODE_CONFIG_DIR;
   setActiveRuntimePreset(null);
 });
@@ -57,6 +60,12 @@ afterEach(() => {
     process.env.XDG_DATA_HOME = previousXdgDataHome;
   }
 
+  if (previousXdgConfigHome === undefined) {
+    delete process.env.XDG_CONFIG_HOME;
+  } else {
+    process.env.XDG_CONFIG_HOME = previousXdgConfigHome;
+  }
+
   if (previousOpenCodeConfigDir === undefined) {
     delete process.env.OPENCODE_CONFIG_DIR;
   } else {