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:
@@ -7,51 +7,48 @@ import {
|
|||||||
closeTmuxPane,
|
closeTmuxPane,
|
||||||
applyLayout,
|
applyLayout,
|
||||||
} from "./tmux-utils"
|
} from "./tmux-utils"
|
||||||
|
import { isInsideTmuxEnvironment } from "./tmux-utils/environment"
|
||||||
|
|
||||||
describe("isInsideTmux", () => {
|
describe("isInsideTmux", () => {
|
||||||
test("returns true when TMUX env is set", () => {
|
test("returns true when TMUX env is set", () => {
|
||||||
// given
|
// given
|
||||||
const originalTmux = process.env.TMUX
|
const environment = { TMUX: "/tmp/tmux-1000/default" }
|
||||||
process.env.TMUX = "/tmp/tmux-1000/default"
|
|
||||||
|
|
||||||
// when
|
// when
|
||||||
const result = isInsideTmux()
|
const result = isInsideTmuxEnvironment(environment)
|
||||||
|
|
||||||
// then
|
// then
|
||||||
expect(result).toBe(true)
|
expect(result).toBe(true)
|
||||||
|
|
||||||
// cleanup
|
|
||||||
process.env.TMUX = originalTmux
|
|
||||||
})
|
})
|
||||||
|
|
||||||
test("returns false when TMUX env is not set", () => {
|
test("returns false when TMUX env is not set", () => {
|
||||||
// given
|
// given
|
||||||
const originalTmux = process.env.TMUX
|
const environment = {}
|
||||||
delete process.env.TMUX
|
|
||||||
|
|
||||||
// when
|
// when
|
||||||
const result = isInsideTmux()
|
const result = isInsideTmuxEnvironment(environment)
|
||||||
|
|
||||||
// then
|
// then
|
||||||
expect(result).toBe(false)
|
expect(result).toBe(false)
|
||||||
|
|
||||||
// cleanup
|
|
||||||
process.env.TMUX = originalTmux
|
|
||||||
})
|
})
|
||||||
|
|
||||||
test("returns false when TMUX env is empty string", () => {
|
test("returns false when TMUX env is empty string", () => {
|
||||||
// given
|
// given
|
||||||
const originalTmux = process.env.TMUX
|
const environment = { TMUX: "" }
|
||||||
process.env.TMUX = ""
|
|
||||||
|
|
||||||
// when
|
// when
|
||||||
const result = isInsideTmux()
|
const result = isInsideTmuxEnvironment(environment)
|
||||||
|
|
||||||
// then
|
// then
|
||||||
expect(result).toBe(false)
|
expect(result).toBe(false)
|
||||||
|
})
|
||||||
|
|
||||||
// cleanup
|
test("returns the same result as the process environment helper", () => {
|
||||||
process.env.TMUX = originalTmux
|
// given, #when
|
||||||
|
const result = isInsideTmux()
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(result).toBe(isInsideTmuxEnvironment(process.env))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
export type SplitDirection = "-h" | "-v"
|
export type SplitDirection = "-h" | "-v"
|
||||||
|
|
||||||
|
export function isInsideTmuxEnvironment(environment: Record<string, string | undefined>): boolean {
|
||||||
|
return Boolean(environment.TMUX)
|
||||||
|
}
|
||||||
|
|
||||||
export function isInsideTmux(): boolean {
|
export function isInsideTmux(): boolean {
|
||||||
return Boolean(process.env.TMUX)
|
return isInsideTmuxEnvironment(process.env)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getCurrentPaneId(): string | undefined {
|
export function getCurrentPaneId(): string | undefined {
|
||||||
|
|||||||
Reference in New Issue
Block a user