From 0f8fcf607817c847901ec5c6258ad165e84a5bad Mon Sep 17 00:00:00 2001 From: Brandon Sneed Date: Tue, 26 Nov 2024 12:57:39 -0800 Subject: [PATCH] Auto-load LivePlugins if DestinationFilters is added. (#17) --- .vscode/settings.json | 1 + Sources/AnalyticsLive/Filters/DestinationFilters.swift | 6 +++++- .../AnalyticsLiveTests/Filters/AnalyticsFilters-Tests.swift | 6 +++++- Tests/AnalyticsLiveTests/Signals/SignalsTests.swift | 6 ------ 4 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/Sources/AnalyticsLive/Filters/DestinationFilters.swift b/Sources/AnalyticsLive/Filters/DestinationFilters.swift index 426cd6c..f950f07 100644 --- a/Sources/AnalyticsLive/Filters/DestinationFilters.swift +++ b/Sources/AnalyticsLive/Filters/DestinationFilters.swift @@ -78,9 +78,13 @@ public class DestinationFilters: UtilityPlugin { public func configure(analytics: Analytics) { self.analytics = analytics - + if let e = analytics.find(pluginType: LivePlugins.self) { e.addDependent(plugin: self) + } else { + let e = LivePlugins(fallbackFileURL: nil) + analytics.add(plugin: e) + e.addDependent(plugin: self) } } diff --git a/Tests/AnalyticsLiveTests/Filters/AnalyticsFilters-Tests.swift b/Tests/AnalyticsLiveTests/Filters/AnalyticsFilters-Tests.swift index 5966093..acc1700 100644 --- a/Tests/AnalyticsLiveTests/Filters/AnalyticsFilters-Tests.swift +++ b/Tests/AnalyticsLiveTests/Filters/AnalyticsFilters-Tests.swift @@ -38,11 +38,15 @@ final class AnalyticsFilters_SwiftTests: XCTestCase { analytics.add(plugin: inputReader) - analytics.add(plugin: LivePlugins(fallbackFileURL: nil)) + // Filters should add LivePlugins on its own. + //analytics.add(plugin: LivePlugins(fallbackFileURL: nil)) analytics.add(plugin: filters) waitUntilStarted(analytics: analytics) + let e = analytics.find(pluginType: LivePlugins.self) + XCTAssertTrue(e != nil) + analytics.track(name: "sampleEvent") RunLoop.main.run(until: Date.distantPast) let inputEvent: TrackEvent? = inputReader.lastEvent as? TrackEvent diff --git a/Tests/AnalyticsLiveTests/Signals/SignalsTests.swift b/Tests/AnalyticsLiveTests/Signals/SignalsTests.swift index 4f85392..bc01c4a 100644 --- a/Tests/AnalyticsLiveTests/Signals/SignalsTests.swift +++ b/Tests/AnalyticsLiveTests/Signals/SignalsTests.swift @@ -1,9 +1,3 @@ import XCTest @testable import AnalyticsLive -final class SignalsTests: XCTestCase { - func testDebugCheck() { - let debug = isAppRunningInDebug() - XCTAssertTrue(debug) - } -}