t3-code-android-nightly/.repos/effect-smol/packages/effect/test/Stdio.test.ts
2026-09-07 21:54:44 -07:00

22 lines
825 B
TypeScript

import { assert, describe, it } from "@effect/vitest"
import * as Effect from "effect/Effect"
import * as Stdio from "effect/Stdio"
describe("Stdio", () => {
it.effect("layerTest defaults terminal state to false", () =>
Effect.gen(function*() {
const stdio = yield* Stdio.Stdio
assert.isFalse(yield* stdio.stdinIsTerminal)
assert.isFalse(yield* stdio.stdoutIsTerminal)
}).pipe(Effect.provide(Stdio.layerTest({}))))
it.effect("layerTest allows terminal state overrides", () =>
Effect.gen(function*() {
const stdio = yield* Stdio.Stdio
assert.isTrue(yield* stdio.stdinIsTerminal)
assert.isTrue(yield* stdio.stdoutIsTerminal)
}).pipe(Effect.provide(Stdio.layerTest({
stdinIsTerminal: Effect.succeed(true),
stdoutIsTerminal: Effect.succeed(true)
}))))
})