Files
zopu-code/repos/effect-smol/packages/effect/test/LogLevel.test.ts

29 lines
1021 B
TypeScript

import { assert, describe, it } from "@effect/vitest"
import * as Effect from "effect/Effect"
import * as LogLevel from "effect/LogLevel"
import * as References from "effect/References"
describe("LogLevel", () => {
describe("isEnabled", () => {
it.effect("uses Info as the default minimum log level", () =>
Effect.gen(function*() {
assert.isFalse(yield* LogLevel.isEnabled("Debug"))
assert.isTrue(yield* LogLevel.isEnabled("Info"))
assert.isTrue(yield* LogLevel.isEnabled("Error"))
}))
it.effect("supports All and None sentinel thresholds", () =>
Effect.gen(function*() {
const [debugEnabled, warnEnabled, errorEnabled] = yield* Effect.all([
LogLevel.isEnabled("Debug"),
LogLevel.isEnabled("Warn"),
LogLevel.isEnabled("Error")
]).pipe(Effect.provideService(References.MinimumLogLevel, "Warn"))
assert.isFalse(debugEnabled)
assert.isTrue(warnEnabled)
assert.isTrue(errorEnabled)
}))
})
})