CommandLineToolkit
41 строка · 1000.0 Байт
1/*
2* Copyright (c) Avito Tech LLC
3*/
4
5import CLTLogging
6import CLTLoggingTestHelpers
7import Foundation
8import TestHelpers
9import XCTest
10
11final class LimitingLoggerHandlerTests: XCTestCase {
12private lazy var targetHandler = FakeLoggerHandle()
13private lazy var handler = LimitingLoggerHandler(
14maximumVerbosity: .warning,
15target: targetHandler
16)
17
18func test___higher_verbosity_entries___delivered_to_target() throws {
19let logEntry = LogEntryFixture(verbosity: .always).logEntry()
20
21handler.handle(logEntry: logEntry)
22
23assert {
24targetHandler.logEntries
25} equals: {
26[logEntry]
27}
28}
29
30func test___lower_verbosity_entries___ignored() throws {
31let logEntry = LogEntryFixture(verbosity: .trace).logEntry()
32
33handler.handle(logEntry: logEntry)
34
35assert {
36targetHandler.logEntries
37} equals: {
38[]
39}
40}
41}
42