test(tmux): isolate tmux environment checks from process env

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-03-16 11:36:38 +09:00
parent fe3f0584ed
commit 48707a6901
2 changed files with 19 additions and 18 deletions
+14 -17
View File
@@ -7,51 +7,48 @@ import {
closeTmuxPane,
applyLayout,
} from "./tmux-utils"
import { isInsideTmuxEnvironment } from "./tmux-utils/environment"
describe("isInsideTmux", () => {
test("returns true when TMUX env is set", () => {
// given
const originalTmux = process.env.TMUX
process.env.TMUX = "/tmp/tmux-1000/default"
const environment = { TMUX: "/tmp/tmux-1000/default" }
// when
const result = isInsideTmux()
const result = isInsideTmuxEnvironment(environment)
// then
expect(result).toBe(true)
// cleanup
process.env.TMUX = originalTmux
})
test("returns false when TMUX env is not set", () => {
// given
const originalTmux = process.env.TMUX
delete process.env.TMUX
const environment = {}
// when
const result = isInsideTmux()
const result = isInsideTmuxEnvironment(environment)
// then
expect(result).toBe(false)
// cleanup
process.env.TMUX = originalTmux
})
test("returns false when TMUX env is empty string", () => {
// given
const originalTmux = process.env.TMUX
process.env.TMUX = ""
const environment = { TMUX: "" }
// when
const result = isInsideTmux()
const result = isInsideTmuxEnvironment(environment)
// then
expect(result).toBe(false)
})
// cleanup
process.env.TMUX = originalTmux
test("returns the same result as the process environment helper", () => {
// given, #when
const result = isInsideTmux()
// then
expect(result).toBe(isInsideTmuxEnvironment(process.env))
})
})
+5 -1
View File
@@ -1,7 +1,11 @@
export type SplitDirection = "-h" | "-v"
export function isInsideTmuxEnvironment(environment: Record<string, string | undefined>): boolean {
return Boolean(environment.TMUX)
}
export function isInsideTmux(): boolean {
return Boolean(process.env.TMUX)
return isInsideTmuxEnvironment(process.env)
}
export function getCurrentPaneId(): string | undefined {