Jelajahi Sumber

test: isolate preset manager config paths for #532

Alvin Unreal 3 bulan lalu
induk
melakukan
19cc93071e
1 mengubah file dengan 10 tambahan dan 1 penghapusan
  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,
         dispose: instanceDispose,
       },
       },
     },
     },
-    directory: '/tmp/test',
+    directory: tempDir,
   } as any;
   } as any;
 }
 }
 
 
@@ -38,14 +38,17 @@ function getOutputText(output: ReturnType<typeof createOutput>): string {
 }
 }
 
 
 let previousXdgDataHome: string | undefined;
 let previousXdgDataHome: string | undefined;
+let previousXdgConfigHome: string | undefined;
 let previousOpenCodeConfigDir: string | undefined;
 let previousOpenCodeConfigDir: string | undefined;
 let tempDir: string;
 let tempDir: string;
 
 
 beforeEach(() => {
 beforeEach(() => {
   previousXdgDataHome = process.env.XDG_DATA_HOME;
   previousXdgDataHome = process.env.XDG_DATA_HOME;
+  previousXdgConfigHome = process.env.XDG_CONFIG_HOME;
   previousOpenCodeConfigDir = process.env.OPENCODE_CONFIG_DIR;
   previousOpenCodeConfigDir = process.env.OPENCODE_CONFIG_DIR;
   tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'omos-preset-manager-'));
   tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'omos-preset-manager-'));
   process.env.XDG_DATA_HOME = tempDir;
   process.env.XDG_DATA_HOME = tempDir;
+  process.env.XDG_CONFIG_HOME = path.join(tempDir, 'xdg-config');
   delete process.env.OPENCODE_CONFIG_DIR;
   delete process.env.OPENCODE_CONFIG_DIR;
   setActiveRuntimePreset(null);
   setActiveRuntimePreset(null);
 });
 });
@@ -57,6 +60,12 @@ afterEach(() => {
     process.env.XDG_DATA_HOME = previousXdgDataHome;
     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) {
   if (previousOpenCodeConfigDir === undefined) {
     delete process.env.OPENCODE_CONFIG_DIR;
     delete process.env.OPENCODE_CONFIG_DIR;
   } else {
   } else {