From 7d58a05b04598772cba025f67cb9c2c5679b9836 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 1 Nov 2019 13:59:08 -0600 Subject: [PATCH] Update QuickELoggerObjC to use directory choice --- .../QuickELoggerObjCIntegrationSpec.swift | 68 +++++++++++++++++++ .../Source/ObjC/QuickELoggerObjC.swift | 5 ++ 2 files changed, 73 insertions(+) diff --git a/IntegrationSpecs/QuickELoggerObjCIntegrationSpec.swift b/IntegrationSpecs/QuickELoggerObjCIntegrationSpec.swift index e461238..ddc113c 100644 --- a/IntegrationSpecs/QuickELoggerObjCIntegrationSpec.swift +++ b/IntegrationSpecs/QuickELoggerObjCIntegrationSpec.swift @@ -145,6 +145,74 @@ class QuickELoggerObjCIntegrationSpec: QuickSpec { } } } + + describe("writing to other directories besides the Documents directory") { + describe("tmp") { + beforeEach { + subject = QuickELoggerObjC(directory: .temp) + + subject.log(message: "This is temporary and will get deleted frequently", type: .info) + } + + it("writes the log file to the temp directory") { + let logMessages = getLogMessages(filename: "QuickELogger", directory: .temp) + + expect(logMessages.count).to(equal(1)) + + let logMessage = logMessages.first! + + expect(logMessage.id).toNot(beNil()) + expect(logMessage.timeStamp).toNot(beNil()) + + expect(logMessage.type).to(equal(.info)) + expect(logMessage.message).to(equal("This is temporary and will get deleted frequently")) + } + } + + describe("Caches") { + beforeEach { + subject = QuickELoggerObjC(directory: .caches) + + subject.log(message: "This can be deleted unexpectedly", type: .info) + } + + it("writes the log file to the caches directory") { + let logMessages = getLogMessages(filename: "QuickELogger", directory: .caches) + + expect(logMessages.count).to(equal(1)) + + let logMessage = logMessages.first! + + expect(logMessage.id).toNot(beNil()) + expect(logMessage.timeStamp).toNot(beNil()) + + expect(logMessage.type).to(equal(.info)) + expect(logMessage.message).to(equal("This can be deleted unexpectedly")) + } + } + + describe("Library") { + beforeEach { + subject = QuickELoggerObjC(directory: .library) + + subject.log(message: "This is the top-level directory for any files that are not user data files", type: .info) + } + + it("writes the log file to the library directory") { + let logMessages = getLogMessages(filename: "QuickELogger", directory: .library) + + expect(logMessages.count).to(equal(1)) + + let logMessage = logMessages.first! + + expect(logMessage.id).toNot(beNil()) + expect(logMessage.timeStamp).toNot(beNil()) + + expect(logMessage.type).to(equal(.info)) + expect(logMessage.message).to(equal("This is the top-level directory for any files that are not user data files")) + } + } + } } } } diff --git a/QuickELogger/Source/ObjC/QuickELoggerObjC.swift b/QuickELogger/Source/ObjC/QuickELoggerObjC.swift index 90196ec..69ad9d3 100644 --- a/QuickELogger/Source/ObjC/QuickELoggerObjC.swift +++ b/QuickELogger/Source/ObjC/QuickELoggerObjC.swift @@ -56,6 +56,11 @@ public class QuickELoggerObjC: NSObject { self.init(filename: filename, directory: .documents) } + @objc + public convenience init(directory: ObjCDirectory) { + self.init(filename: "QuickELogger", directory: directory) + } + @objc public init(filename: String, directory: ObjCDirectory) { let transformedDirectory = transformDirectory(objcDirectory: directory)