mirror of
https://github.com/wnagrodzki/SwiftLogger.git
synced 2025-04-07 04:51:52 +02:00
Added AgregateLoggerTests
This commit is contained in:
parent
4df5b125a8
commit
ce546d0072
2 changed files with 72 additions and 0 deletions
|
@ -19,6 +19,7 @@
|
||||||
2EBF4B582122B598008E4117 /* FileWriter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EBF4B552122B598008E4117 /* FileWriter.swift */; };
|
2EBF4B582122B598008E4117 /* FileWriter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EBF4B552122B598008E4117 /* FileWriter.swift */; };
|
||||||
2EBF4B592122B598008E4117 /* Logrotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EBF4B562122B598008E4117 /* Logrotate.swift */; };
|
2EBF4B592122B598008E4117 /* Logrotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EBF4B562122B598008E4117 /* Logrotate.swift */; };
|
||||||
2ED077D721329CA30058EEFC /* LoggetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ED077D621329CA30058EEFC /* LoggetTests.swift */; };
|
2ED077D721329CA30058EEFC /* LoggetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ED077D621329CA30058EEFC /* LoggetTests.swift */; };
|
||||||
|
2ED077D92132A4820058EEFC /* AgregateLoggerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ED077D82132A4820058EEFC /* AgregateLoggerTests.swift */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
|
@ -60,6 +61,7 @@
|
||||||
2EBF4B552122B598008E4117 /* FileWriter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileWriter.swift; sourceTree = "<group>"; };
|
2EBF4B552122B598008E4117 /* FileWriter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileWriter.swift; sourceTree = "<group>"; };
|
||||||
2EBF4B562122B598008E4117 /* Logrotate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logrotate.swift; sourceTree = "<group>"; };
|
2EBF4B562122B598008E4117 /* Logrotate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logrotate.swift; sourceTree = "<group>"; };
|
||||||
2ED077D621329CA30058EEFC /* LoggetTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoggetTests.swift; sourceTree = "<group>"; };
|
2ED077D621329CA30058EEFC /* LoggetTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoggetTests.swift; sourceTree = "<group>"; };
|
||||||
|
2ED077D82132A4820058EEFC /* AgregateLoggerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgregateLoggerTests.swift; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
@ -86,6 +88,7 @@
|
||||||
children = (
|
children = (
|
||||||
2E58D35C21316C3500BEF81A /* LogStringConvertibleTests.swift */,
|
2E58D35C21316C3500BEF81A /* LogStringConvertibleTests.swift */,
|
||||||
2ED077D621329CA30058EEFC /* LoggetTests.swift */,
|
2ED077D621329CA30058EEFC /* LoggetTests.swift */,
|
||||||
|
2ED077D82132A4820058EEFC /* AgregateLoggerTests.swift */,
|
||||||
2E58D35E21316C3500BEF81A /* Info.plist */,
|
2E58D35E21316C3500BEF81A /* Info.plist */,
|
||||||
);
|
);
|
||||||
path = UnitTests;
|
path = UnitTests;
|
||||||
|
@ -234,6 +237,7 @@
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
2E58D35D21316C3500BEF81A /* LogStringConvertibleTests.swift in Sources */,
|
2E58D35D21316C3500BEF81A /* LogStringConvertibleTests.swift in Sources */,
|
||||||
|
2ED077D92132A4820058EEFC /* AgregateLoggerTests.swift in Sources */,
|
||||||
2ED077D721329CA30058EEFC /* LoggetTests.swift in Sources */,
|
2ED077D721329CA30058EEFC /* LoggetTests.swift in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
|
68
UnitTests/AgregateLoggerTests.swift
Normal file
68
UnitTests/AgregateLoggerTests.swift
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
//
|
||||||
|
// MIT License
|
||||||
|
//
|
||||||
|
// Copyright (c) 2018 Wojciech Nagrodzki
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
// in the Software without restriction, including without limitation the rights
|
||||||
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
|
// copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
// SOFTWARE.
|
||||||
|
//
|
||||||
|
|
||||||
|
import XCTest
|
||||||
|
@testable import Logger
|
||||||
|
|
||||||
|
class AgregateLoggerTests: XCTestCase {
|
||||||
|
|
||||||
|
func testCallForwarding() {
|
||||||
|
let loggerA = LoggerMock()
|
||||||
|
let loggerB = LoggerMock()
|
||||||
|
let agregateLogger = AgregateLogger(loggers: [loggerA, loggerB])
|
||||||
|
agregateLogger.log("0", level: .emergency)
|
||||||
|
agregateLogger.log("1", level: .alert)
|
||||||
|
agregateLogger.log("2", level: .critical)
|
||||||
|
agregateLogger.log("3", level: .error)
|
||||||
|
agregateLogger.log("4", level: .warning)
|
||||||
|
agregateLogger.log("5", level: .notice)
|
||||||
|
agregateLogger.log("6", level: .informational)
|
||||||
|
agregateLogger.log("7", level: .debug)
|
||||||
|
XCTAssertEqual(loggerA, loggerB)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private class LoggerMock: Logger {
|
||||||
|
|
||||||
|
struct Log: Equatable {
|
||||||
|
let time: Date
|
||||||
|
let level: LogLevel
|
||||||
|
let location: String
|
||||||
|
let message: String
|
||||||
|
}
|
||||||
|
|
||||||
|
private var logs = [Log]()
|
||||||
|
|
||||||
|
func log(time: Date, level: LogLevel, location: String, message: @autoclosure () -> String) {
|
||||||
|
let log = Log(time: time, level: level, location: location, message: message())
|
||||||
|
logs.append(log)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension LoggerMock: Equatable {
|
||||||
|
|
||||||
|
static func == (lhs: LoggerMock, rhs: LoggerMock) -> Bool {
|
||||||
|
return lhs.logs == rhs.logs
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue