diff --git a/Core/AppURLs.swift b/Core/AppURLs.swift index eff05031d3..a1c6b1c9d2 100644 --- a/Core/AppURLs.swift +++ b/Core/AppURLs.swift @@ -19,7 +19,6 @@ import BrowserServicesKit import Foundation -import Macros public extension URL { @@ -49,7 +48,7 @@ public extension URL { static let exti = URL(string: "\(base)/exti/\(devMode)")! static let feedback = URL(string: "\(base)/feedback.js?type=app-feedback")! - static let appStore = #URL("https://apps.apple.com/app/duckduckgo-privacy-browser/id663592361") + static let appStore = URL(string: "https://apps.apple.com/app/duckduckgo-privacy-browser/id663592361")! static let mac = URL(string: "\(base)/mac")! static let windows = URL(string: "\(base)/windows")! diff --git a/Core/BookmarksImporter.swift b/Core/BookmarksImporter.swift index 4615e47689..b2398fa173 100644 --- a/Core/BookmarksImporter.swift +++ b/Core/BookmarksImporter.swift @@ -20,7 +20,6 @@ import Bookmarks import Common import Foundation -import Macros import Persistence import SwiftSoup @@ -218,7 +217,7 @@ final public class BookmarksImporter { static let FavoritesFolder = "DuckDuckGo Favorites" static let BookmarksFolder = "DuckDuckGo Bookmarks" static let bookmarkURLString = "https://duckduckgo.com" - static let bookmarkURL = #URL("https://duckduckgo.com") + static let bookmarkURL = URL(string: "https://duckduckgo.com")! static let favoriteAttribute = "duckduckgo:favorite" static let isFavorite = "true" static let idAttribute = "id" diff --git a/Core/DataStoreWarmup.swift b/Core/DataStoreWarmup.swift index 6554f0ca8c..79087b9fc2 100644 --- a/Core/DataStoreWarmup.swift +++ b/Core/DataStoreWarmup.swift @@ -18,7 +18,6 @@ // import Combine -import Macros import WebKit /// WKWebsiteDataStore is basically non-functional until a web view has been instanciated and a page is successfully loaded. @@ -28,7 +27,7 @@ public class DataStoreWarmup { @MainActor public func ensureReady() async { - await BlockingNavigationDelegate().loadInBackgroundWebView(url: #URL("about:blank")) + await BlockingNavigationDelegate().loadInBackgroundWebView(url: URL(string: "about:blank")!) } } diff --git a/Core/UserAgentManager.swift b/Core/UserAgentManager.swift index 6ecc0c7013..9c9225e6eb 100644 --- a/Core/UserAgentManager.swift +++ b/Core/UserAgentManager.swift @@ -22,7 +22,6 @@ import BrowserServicesKit import Common import Foundation -import Macros import WebKit public protocol UserAgentManager { @@ -47,7 +46,7 @@ public class DefaultUserAgentManager: UserAgentManager { private func prepareUserAgent() { let webview = WKWebView() - webview.load(URLRequest.developerInitiated(#URL("about:blank"))) + webview.load(URLRequest.developerInitiated(URL(string: "about:blank")!)) getDefaultAgent(webView: webview) { [weak self] agent in // Reference webview instance to keep it in scope and allow UA to be returned _ = webview diff --git a/DuckDuckGo.xcodeproj/project.pbxproj b/DuckDuckGo.xcodeproj/project.pbxproj index 2c273541d6..292438d4d1 100644 --- a/DuckDuckGo.xcodeproj/project.pbxproj +++ b/DuckDuckGo.xcodeproj/project.pbxproj @@ -689,14 +689,6 @@ B652DF10287C2C1600C12A9C /* ContentBlocking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9847BFFD27A2DDB400DB07AA /* ContentBlocking.swift */; }; B652DF12287C336E00C12A9C /* ContentBlockingUpdating.swift in Sources */ = {isa = PBXBuildFile; fileRef = B652DF11287C336E00C12A9C /* ContentBlockingUpdating.swift */; }; B652DF13287C373A00C12A9C /* ScriptSourceProviding.swift in Sources */ = {isa = PBXBuildFile; fileRef = B652DEFE287BF1FE00C12A9C /* ScriptSourceProviding.swift */; }; - B6A26C042B98358B00DF9EAD /* Macros in Frameworks */ = {isa = PBXBuildFile; productRef = B6A26C032B98358B00DF9EAD /* Macros */; }; - B6A26C062B98359A00DF9EAD /* Macros in Frameworks */ = {isa = PBXBuildFile; productRef = B6A26C052B98359A00DF9EAD /* Macros */; }; - B6A26C082B9835A000DF9EAD /* Macros in Frameworks */ = {isa = PBXBuildFile; productRef = B6A26C072B9835A000DF9EAD /* Macros */; }; - B6A26C0A2B9835A800DF9EAD /* Macros in Frameworks */ = {isa = PBXBuildFile; productRef = B6A26C092B9835A800DF9EAD /* Macros */; }; - B6A26C0C2B9835AD00DF9EAD /* Macros in Frameworks */ = {isa = PBXBuildFile; productRef = B6A26C0B2B9835AD00DF9EAD /* Macros */; }; - B6A26C0E2B9835B100DF9EAD /* Macros in Frameworks */ = {isa = PBXBuildFile; productRef = B6A26C0D2B9835B100DF9EAD /* Macros */; }; - B6A26C102B9835B400DF9EAD /* Macros in Frameworks */ = {isa = PBXBuildFile; productRef = B6A26C0F2B9835B400DF9EAD /* Macros */; }; - B6A26C122B9835B800DF9EAD /* Macros in Frameworks */ = {isa = PBXBuildFile; productRef = B6A26C112B9835B800DF9EAD /* Macros */; }; B6AD9E3628D4510A0019CDE9 /* ContentBlockerRulesManagerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6AD9E3428D4510A0019CDE9 /* ContentBlockerRulesManagerMock.swift */; }; B6AD9E3728D4510A0019CDE9 /* ContentBlockingUpdatingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6AD9E3528D4510A0019CDE9 /* ContentBlockingUpdatingTests.swift */; }; B6AD9E3828D4512E0019CDE9 /* EmbeddedTrackerDataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9801F08927E4B21100191874 /* EmbeddedTrackerDataTests.swift */; }; @@ -2709,7 +2701,6 @@ 0202569029881ECA00E694E7 /* CocoaAsyncSocket in Frameworks */, 02025664298818B200E694E7 /* NetworkExtension.framework in Frameworks */, 4B470EE4299C6DFB0086EBDC /* Core.framework in Frameworks */, - B6A26C062B98359A00DF9EAD /* Macros in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2717,7 +2708,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B6A26C0E2B9835B100DF9EAD /* Macros in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2736,7 +2726,6 @@ 853273B624FFE0BB00E3C778 /* WidgetKit.framework in Frameworks */, 0238E44F29C0FAA100615E30 /* FindInPageIOSJSSupport in Frameworks */, 3760DFED299315EF0045A446 /* Waitlist in Frameworks */, - B6A26C042B98358B00DF9EAD /* Macros in Frameworks */, F1D43AFA2B99C1D300BAB743 /* BareBonesBrowserKit in Frameworks */, F143C2EB1E4A4CD400CFDE3A /* Core.framework in Frameworks */, 4B2754EC29E8C7DF00394032 /* Lottie in Frameworks */, @@ -2754,7 +2743,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B6A26C0A2B9835A800DF9EAD /* Macros in Frameworks */, F486D3362506A037002D07D7 /* OHHTTPStubs in Frameworks */, F486D3382506A225002D07D7 /* OHHTTPStubsSwift in Frameworks */, 4BE67B052B96B9AB007335F7 /* ContentBlocking in Frameworks */, @@ -2787,7 +2775,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B6A26C102B9835B400DF9EAD /* Macros in Frameworks */, 1E1D8B632995143200C96994 /* OHHTTPStubs in Frameworks */, 1E1D8B652995143200C96994 /* OHHTTPStubsSwift in Frameworks */, 4BE67B012B96B741007335F7 /* Common in Frameworks */, @@ -2799,7 +2786,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B6A26C0C2B9835AD00DF9EAD /* Macros in Frameworks */, F486D31D2506980E002D07D7 /* Swifter in Frameworks */, 85F21DC021123B03002631A6 /* Core.framework in Frameworks */, ); @@ -2810,7 +2796,6 @@ buildActionMask = 2147483647; files = ( 98D4B7DF2944DDBD0068814D /* Core.framework in Frameworks */, - B6A26C122B9835B800DF9EAD /* Macros in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2819,7 +2804,6 @@ buildActionMask = 2147483647; files = ( 4B948E2629DCCDB9002531FA /* Persistence in Frameworks */, - B6A26C082B9835A000DF9EAD /* Macros in Frameworks */, 98A50962294B48A400D10880 /* Bookmarks in Frameworks */, 1E60989B290009C700A508F9 /* Common in Frameworks */, 1E60989D290011E600A508F9 /* ContentBlocking in Frameworks */, @@ -5701,7 +5685,6 @@ name = PacketTunnelProvider; packageProductDependencies = ( 0202568F29881ECA00E694E7 /* CocoaAsyncSocket */, - B6A26C052B98359A00DF9EAD /* Macros */, ); productName = PacketTunnelProvider; productReference = 02025662298818B100E694E7 /* PacketTunnelProvider.appex */; @@ -5723,7 +5706,6 @@ ); name = FingerprintingUITests; packageProductDependencies = ( - B6A26C0D2B9835B100DF9EAD /* Macros */, ); productName = FingerprintingUITests; productReference = 025CCFE22582601C001CD5BB /* FingerprintingUITests.xctest */; @@ -5785,7 +5767,6 @@ 0238E44E29C0FAA100615E30 /* FindInPageIOSJSSupport */, 4B2754EB29E8C7DF00394032 /* Lottie */, CB941A6D2B96AB08000F9E7A /* PrivacyDashboard */, - B6A26C032B98358B00DF9EAD /* Macros */, F1D43AF92B99C1D300BAB743 /* BareBonesBrowserKit */, ); productName = DuckDuckGo; @@ -5814,7 +5795,6 @@ F115ED9B2B4EFC8E001A0453 /* TestUtils */, 4BE67B042B96B9AB007335F7 /* ContentBlocking */, 4BE67B062B96B9B0007335F7 /* Common */, - B6A26C092B9835A800DF9EAD /* Macros */, ); productName = DuckDuckGoTests; productReference = 84E341A61E2F7EFB00BDBA6F /* UnitTests.xctest */; @@ -5880,7 +5860,6 @@ 1E1D8B642995143200C96994 /* OHHTTPStubsSwift */, 4BE67B002B96B741007335F7 /* Common */, 4BE67B022B96B864007335F7 /* ContentBlocking */, - B6A26C0F2B9835B400DF9EAD /* Macros */, ); productName = IntegrationTests; productReference = 85D33FCB25C97B6E002B91A6 /* IntegrationTests.xctest */; @@ -5903,7 +5882,6 @@ name = AtbUITests; packageProductDependencies = ( F486D31C2506980E002D07D7 /* Swifter */, - B6A26C0B2B9835AD00DF9EAD /* Macros */, ); productName = AtbIntegrationTests; productReference = 85F21DAD210F5E32002631A6 /* AtbUITests.xctest */; @@ -5925,7 +5903,6 @@ ); name = PerformanceTests; packageProductDependencies = ( - B6A26C112B9835B800DF9EAD /* Macros */, ); productName = IntegrationTests; productReference = 9825F9D7293F2DE900F220F2 /* PerformanceTests.xctest */; @@ -5978,7 +5955,6 @@ D61CDA152B7CF77300A0FBB9 /* Subscription */, D61CDA172B7CF78300A0FBB9 /* ZIPFoundation */, 858D009C2B9799FC004E5B4C /* History */, - B6A26C072B9835A000DF9EAD /* Macros */, ); productName = Core; productReference = F143C2E41E4A4CD400CFDE3A /* Core.framework */; @@ -10044,7 +10020,7 @@ repositoryURL = "https://github.com/DuckDuckGo/BrowserServicesKit"; requirement = { kind = exactVersion; - version = 122.1.1; + version = 122.2.0; }; }; B6F997C22B8F374300476735 /* XCRemoteSwiftPackageReference "apple-toolbox" */ = { @@ -10231,46 +10207,6 @@ package = 98A16C2928A11BDE00A6C003 /* XCRemoteSwiftPackageReference "BrowserServicesKit" */; productName = Bookmarks; }; - B6A26C032B98358B00DF9EAD /* Macros */ = { - isa = XCSwiftPackageProductDependency; - package = B6F997C22B8F374300476735 /* XCRemoteSwiftPackageReference "apple-toolbox" */; - productName = Macros; - }; - B6A26C052B98359A00DF9EAD /* Macros */ = { - isa = XCSwiftPackageProductDependency; - package = B6F997C22B8F374300476735 /* XCRemoteSwiftPackageReference "apple-toolbox" */; - productName = Macros; - }; - B6A26C072B9835A000DF9EAD /* Macros */ = { - isa = XCSwiftPackageProductDependency; - package = B6F997C22B8F374300476735 /* XCRemoteSwiftPackageReference "apple-toolbox" */; - productName = Macros; - }; - B6A26C092B9835A800DF9EAD /* Macros */ = { - isa = XCSwiftPackageProductDependency; - package = B6F997C22B8F374300476735 /* XCRemoteSwiftPackageReference "apple-toolbox" */; - productName = Macros; - }; - B6A26C0B2B9835AD00DF9EAD /* Macros */ = { - isa = XCSwiftPackageProductDependency; - package = B6F997C22B8F374300476735 /* XCRemoteSwiftPackageReference "apple-toolbox" */; - productName = Macros; - }; - B6A26C0D2B9835B100DF9EAD /* Macros */ = { - isa = XCSwiftPackageProductDependency; - package = B6F997C22B8F374300476735 /* XCRemoteSwiftPackageReference "apple-toolbox" */; - productName = Macros; - }; - B6A26C0F2B9835B400DF9EAD /* Macros */ = { - isa = XCSwiftPackageProductDependency; - package = B6F997C22B8F374300476735 /* XCRemoteSwiftPackageReference "apple-toolbox" */; - productName = Macros; - }; - B6A26C112B9835B800DF9EAD /* Macros */ = { - isa = XCSwiftPackageProductDependency; - package = B6F997C22B8F374300476735 /* XCRemoteSwiftPackageReference "apple-toolbox" */; - productName = Macros; - }; B6F997CB2B8F380A00476735 /* SwiftLintPlugin */ = { isa = XCSwiftPackageProductDependency; package = B6F997C22B8F374300476735 /* XCRemoteSwiftPackageReference "apple-toolbox" */; diff --git a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index e49c7121a7..dc42e87ea6 100644 --- a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -32,8 +32,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/DuckDuckGo/BrowserServicesKit", "state" : { - "revision" : "8da10a2d3cbd3ca3284898896a0471d024a155ec", - "version" : "122.1.1" + "revision" : "4e05a46f0a9ce56f6d6379b79a92dc7a0182e027", + "version" : "122.2.0" } }, { diff --git a/DuckDuckGo/AutofillLoginDetailsViewModel.swift b/DuckDuckGo/AutofillLoginDetailsViewModel.swift index 5aacbeea91..aff24b8c58 100644 --- a/DuckDuckGo/AutofillLoginDetailsViewModel.swift +++ b/DuckDuckGo/AutofillLoginDetailsViewModel.swift @@ -25,7 +25,6 @@ import Core import DDGSync import DesignResourcesKit import Foundation -import Macros import SecureStorage import SwiftUI @@ -59,7 +58,7 @@ final class AutofillLoginDetailsViewModel: ObservableObject { } enum Constants { - static let privateEmailURL = #URL("https://duckduckgo.com/email") + static let privateEmailURL = URL(string: "https://duckduckgo.com/email")! } weak var delegate: AutofillLoginDetailsViewModelDelegate? diff --git a/DuckDuckGo/DesktopDownloadViewModel.swift b/DuckDuckGo/DesktopDownloadViewModel.swift index 9a14e3b360..6d52883345 100644 --- a/DuckDuckGo/DesktopDownloadViewModel.swift +++ b/DuckDuckGo/DesktopDownloadViewModel.swift @@ -18,12 +18,11 @@ // import Foundation -import Macros import UIKit final class DesktopDownloadViewModel: ObservableObject { - static let defaultURL = #URL("https://duckduckgo.com/") + static let defaultURL = URL(string: "https://duckduckgo.com/")! static let prefix = "https://" private var platform: DesktopDownloadPlatform diff --git a/DuckDuckGo/FirewallManager.swift b/DuckDuckGo/FirewallManager.swift index 0035b6161c..bc3e51b344 100644 --- a/DuckDuckGo/FirewallManager.swift +++ b/DuckDuckGo/FirewallManager.swift @@ -23,7 +23,6 @@ import Foundation import NetworkExtension import BrowserServicesKit import Common -import Macros public protocol FirewallDelegate: AnyObject { func statusDidChange(newStatus: NEVPNStatus) @@ -81,7 +80,7 @@ public class FirewallManager: FirewallManaging { config.requestCachePolicy = .reloadIgnoringLocalCacheData config.urlCache = nil let session = URLSession(configuration: config) - let url = #URL("https://bad_url") + let url = URL(string: "https://bad_url")! os_log("[INFO] Calling dummy URL to force VPN", log: FirewallManager.apptpLog, type: .debug) _ = try? await session.data(from: url) diff --git a/DuckDuckGo/RemoteMessageRequest.swift b/DuckDuckGo/RemoteMessageRequest.swift index 2aa0192467..c52ad8cb7a 100644 --- a/DuckDuckGo/RemoteMessageRequest.swift +++ b/DuckDuckGo/RemoteMessageRequest.swift @@ -20,7 +20,6 @@ import BrowserServicesKit import Core import Foundation -import Macros import Networking import RemoteMessaging @@ -28,9 +27,9 @@ public struct RemoteMessageRequest { private var endpoint: URL { #if DEBUG - return #URL("https://raw.githubusercontent.com/duckduckgo/remote-messaging-config/main/samples/ios/sample1.json") + return URL(string: "https://raw.githubusercontent.com/duckduckgo/remote-messaging-config/main/samples/ios/sample1.json")! #else - return #URL("https://staticcdn.duckduckgo.com/remotemessaging/config/v1/ios-config.json") + return URL(string: "https://staticcdn.duckduckgo.com/remotemessaging/config/v1/ios-config.json")! #endif } diff --git a/DuckDuckGoTests/AddressDisplayHelperTests.swift b/DuckDuckGoTests/AddressDisplayHelperTests.swift index e9fae0c49e..5aa4108aa2 100644 --- a/DuckDuckGoTests/AddressDisplayHelperTests.swift +++ b/DuckDuckGoTests/AddressDisplayHelperTests.swift @@ -17,7 +17,6 @@ // limitations under the License. // -import Macros import XCTest @testable import DuckDuckGo @@ -28,36 +27,36 @@ class AddressDisplayHelperTests: XCTestCase { func testShortURL() { - XCTAssertEqual(AddressHelper.shortURLString(#URL("https://www.duckduckgo.com")), "duckduckgo.com") - XCTAssertEqual(AddressHelper.shortURLString(#URL("https://www.duckduckgo.com/some/path")), "duckduckgo.com") - XCTAssertEqual(AddressHelper.shortURLString(#URL("https://www.subdomain.duckduckgo.com/some/path")), "subdomain.duckduckgo.com") - XCTAssertEqual(AddressHelper.shortURLString(#URL("https://m.duckduckgo.com/some/path")), "m.duckduckgo.com") - XCTAssertEqual(AddressHelper.shortURLString(#URL("http://some-other.sub.domain.duck.eu/with/path")), "some-other.sub.domain.duck.eu") - XCTAssertEqual(AddressHelper.shortURLString(#URL("http://duckduckgo.com:1234")), "duckduckgo.com") - XCTAssertEqual(AddressHelper.shortURLString(#URL("https://192.168.0.1:1234")), "192.168.0.1") + XCTAssertEqual(AddressHelper.shortURLString(URL(string: "https://www.duckduckgo.com")!), "duckduckgo.com") + XCTAssertEqual(AddressHelper.shortURLString(URL(string: "https://www.duckduckgo.com/some/path")!), "duckduckgo.com") + XCTAssertEqual(AddressHelper.shortURLString(URL(string: "https://www.subdomain.duckduckgo.com/some/path")!), "subdomain.duckduckgo.com") + XCTAssertEqual(AddressHelper.shortURLString(URL(string: "https://m.duckduckgo.com/some/path")!), "m.duckduckgo.com") + XCTAssertEqual(AddressHelper.shortURLString(URL(string: "http://some-other.sub.domain.duck.eu/with/path")!), "some-other.sub.domain.duck.eu") + XCTAssertEqual(AddressHelper.shortURLString(URL(string: "http://duckduckgo.com:1234")!), "duckduckgo.com") + XCTAssertEqual(AddressHelper.shortURLString(URL(string: "https://192.168.0.1:1234")!), "192.168.0.1") - XCTAssertEqual(AddressHelper.shortURLString(#URL("https://www.com")), "com") // This is an exception we are ok with) + XCTAssertEqual(AddressHelper.shortURLString(URL(string: "https://www.com")!), "com") // This is an exception we are ok with) - XCTAssertNil(AddressHelper.shortURLString(#URL("file:///some/path"))) - XCTAssertNil(AddressHelper.shortURLString(#URL("somescheme:///some/path"))) - XCTAssertNil(AddressHelper.shortURLString(#URL("blob:https://www.my.com/111-222-333-444"))) - XCTAssertNil(AddressHelper.shortURLString(#URL("data:text/plain;charset=UTF-8;page=21,the%20data:12345"))) + XCTAssertNil(AddressHelper.shortURLString(URL(string: "file:///some/path")!)) + XCTAssertNil(AddressHelper.shortURLString(URL(string: "somescheme:///some/path")!)) + XCTAssertNil(AddressHelper.shortURLString(URL(string: "blob:https://www.my.com/111-222-333-444")!)) + XCTAssertNil(AddressHelper.shortURLString(URL(string: "data:text/plain;charset=UTF-8;page=21,the%20data:12345")!)) } func testShortensURLWhenShortVersionExpected() { - let addressForDisplay = AddressHelper.addressForDisplay(url: #URL("http://some.domain.eu/with/path"), showsFullURL: false) + let addressForDisplay = AddressHelper.addressForDisplay(url: URL(string: "http://some.domain.eu/with/path")!, showsFullURL: false) XCTAssertEqual(addressForDisplay, "some.domain.eu") } func testDoesNotShortenURLWhenFullVersionExpected() { - let addressForDisplay = AddressHelper.addressForDisplay(url: #URL("http://some.domain.eu/with/path"), showsFullURL: true) + let addressForDisplay = AddressHelper.addressForDisplay(url: URL(string: "http://some.domain.eu/with/path")!, showsFullURL: true) XCTAssertEqual(addressForDisplay, "http://some.domain.eu/with/path") } func testFallsBackToLongURLWhenCannotProduceShortURL() { - let addressForDisplay = AddressHelper.addressForDisplay(url: #URL("file:///some/path"), showsFullURL: false) + let addressForDisplay = AddressHelper.addressForDisplay(url: URL(string: "file:///some/path")!, showsFullURL: false) XCTAssertEqual(addressForDisplay, "file:///some/path") } diff --git a/DuckDuckGoTests/AppURLsTests.swift b/DuckDuckGoTests/AppURLsTests.swift index c3221f0096..ff73d2f984 100644 --- a/DuckDuckGoTests/AppURLsTests.swift +++ b/DuckDuckGoTests/AppURLsTests.swift @@ -17,7 +17,6 @@ // limitations under the License. // -import Macros import XCTest @testable import BrowserServicesKit @@ -63,7 +62,7 @@ final class AppURLsTests: XCTestCase { } func testWhenRemoveInternalSearchParametersFromNonSearchUrlThenUrlIsUnchanged() { - let example = #URL("https://duckduckgo.com?atb=x&t=y&ko=z") + let example = URL(string: "https://duckduckgo.com?atb=x&t=y&ko=z")! let result = example.removingInternalSearchParameters() XCTAssertEqual(example.absoluteString, result.absoluteString) } @@ -79,13 +78,13 @@ final class AppURLsTests: XCTestCase { } func testBaseUrlDoesNotHaveSubDomain() { - XCTAssertEqual(URL.ddg, #URL("https://duckduckgo.com")) + XCTAssertEqual(URL.ddg, URL(string: "https://duckduckgo.com")!) } func testWhenMobileStatsParamsAreAppliedThenTheyReturnAnUpdatedUrl() throws { mockStatisticsStore.atb = "x" let actual = StatisticsDependentURLFactory(statisticsStore: mockStatisticsStore) - .applyingStatsParams(to: #URL("http://duckduckgo.com?atb=wrong&t=wrong")) + .applyingStatsParams(to: URL(string: "http://duckduckgo.com?atb=wrong&t=wrong")!) XCTAssertEqual(actual.getParameter(named: "atb"), "x") XCTAssertEqual(actual.getParameter(named: "t"), "ddg_ios") } @@ -93,70 +92,70 @@ final class AppURLsTests: XCTestCase { func testWhenAtbMatchesThenHasMobileStatsParamsIsTrue() { mockStatisticsStore.atb = "x" let result = StatisticsDependentURLFactory(statisticsStore: mockStatisticsStore) - .hasCorrectMobileStatsParams(url: #URL("http://duckduckgo.com?atb=x&t=ddg_ios")) + .hasCorrectMobileStatsParams(url: URL(string: "http://duckduckgo.com?atb=x&t=ddg_ios")!) XCTAssertTrue(result) } func testWhenAtbIsMismatchedThenHasMobileStatsParamsIsFalse() { mockStatisticsStore.atb = "y" let result = StatisticsDependentURLFactory(statisticsStore: mockStatisticsStore) - .hasCorrectMobileStatsParams(url: #URL("http://duckduckgo.com?atb=x&t=ddg_ios")) + .hasCorrectMobileStatsParams(url: URL(string: "http://duckduckgo.com?atb=x&t=ddg_ios")!) XCTAssertFalse(result) } func testWhenAtbIsMissingThenHasMobileStatsParamsIsFalse() { mockStatisticsStore.atb = "x" let result = StatisticsDependentURLFactory(statisticsStore: mockStatisticsStore) - .hasCorrectMobileStatsParams(url: #URL("http://duckduckgo.com?t=ddg_ios")) + .hasCorrectMobileStatsParams(url: URL(string: "http://duckduckgo.com?t=ddg_ios")!) XCTAssertFalse(result) } func testWhenSourceIsMismatchedThenHasMobileStatsParamsIsFalse() { mockStatisticsStore.atb = "x" let result = StatisticsDependentURLFactory(statisticsStore: mockStatisticsStore) - .hasCorrectMobileStatsParams(url: #URL("http://duckduckgo.com?atb=x&t=ddg_desktop")) + .hasCorrectMobileStatsParams(url: URL(string: "http://duckduckgo.com?atb=x&t=ddg_desktop")!) XCTAssertFalse(result) } func testWhenSourceIsMissingThenHasMobileStatsParamsIsFalse() { mockStatisticsStore.atb = "x" let result = StatisticsDependentURLFactory(statisticsStore: mockStatisticsStore) - .hasCorrectMobileStatsParams(url: #URL("http://duckduckgo.com?atb=y")) + .hasCorrectMobileStatsParams(url: URL(string: "http://duckduckgo.com?atb=y")!) XCTAssertFalse(result) } func testWhenUrlIsDdgWithASearchParamThenIsSearchIsTrue() { - let result = #URL("http://duckduckgo.com?q=hello").isDuckDuckGoSearch + let result = URL(string: "http://duckduckgo.com?q=hello")!.isDuckDuckGoSearch XCTAssertTrue(result) } func testWhenUrlHasNoSearchParamsThenIsSearchIsFalse() { - let result = #URL("http://duckduckgo.com?test=hello").isDuckDuckGoSearch + let result = URL(string: "http://duckduckgo.com?test=hello")!.isDuckDuckGoSearch XCTAssertFalse(result) } func testWhenUrlIsNonDdgThenIsSearchIsFalse() { - let result = #URL("http://www.example.com?q=hello").isDuckDuckGoSearch + let result = URL(string: "http://www.example.com?q=hello")!.isDuckDuckGoSearch XCTAssertFalse(result) } func testWhenNonDdgUrlHasDdgParamThenIsDdgIsFalse() { - let result = #URL("http://www.example.com?x=duckduckgo.com").isDuckDuckGo + let result = URL(string: "http://www.example.com?x=duckduckgo.com")!.isDuckDuckGo XCTAssertFalse(result) } func testWhenDdgUrlIsHttpThenIsDddgIsTrue() { - let result = #URL("http://duckduckgo.com").isDuckDuckGo + let result = URL(string: "http://duckduckgo.com")!.isDuckDuckGo XCTAssertTrue(result) } func testWhenDdgUrlIsHttpsThenIsDddgIsTrue() { - let result = #URL("https://duckduckgo.com").isDuckDuckGo + let result = URL(string: "https://duckduckgo.com")!.isDuckDuckGo XCTAssertTrue(result) } func testWhenDdgUrlHasSubdomainThenIsDddgIsTrue() { - let result = #URL("http://www.duckduckgo.com").isDuckDuckGo + let result = URL(string: "http://www.duckduckgo.com")!.isDuckDuckGo XCTAssertTrue(result) } @@ -236,7 +235,7 @@ final class AppURLsTests: XCTestCase { } func testWhenExistingQueryUsesVerticalThenItIsAppliedToNewOne() throws { - let contextURL = #URL("https://duckduckgo.com/?q=query&iar=images&ko=-1&ia=images") + let contextURL = URL(string: "https://duckduckgo.com/?q=query&iar=images&ko=-1&ia=images")! let url = StatisticsDependentURLFactory(statisticsStore: mockStatisticsStore) .makeSearchURL(query: "query", queryContext: contextURL)! @@ -245,7 +244,7 @@ final class AppURLsTests: XCTestCase { } func testWhenExistingQueryUsesVerticalWithMapsThenTheseAreIgnored() throws { - let contextURL = #URL("https://duckduckgo.com/?q=query&iar=images&ko=-1&ia=images&iaxm=maps") + let contextURL = URL(string: "https://duckduckgo.com/?q=query&iar=images&ko=-1&ia=images&iaxm=maps")! let url = StatisticsDependentURLFactory(statisticsStore: mockStatisticsStore) .makeSearchURL(query: "query", queryContext: contextURL)! @@ -256,7 +255,7 @@ final class AppURLsTests: XCTestCase { } func testWhenExistingQueryHasNoVerticalThenItIsAbsentInNewOne() throws { - let contextURL = #URL("https://example.com") + let contextURL = URL(string: "https://example.com")! let url = StatisticsDependentURLFactory(statisticsStore: mockStatisticsStore) .makeSearchURL(query: "query", queryContext: contextURL)! @@ -276,20 +275,20 @@ final class AppURLsTests: XCTestCase { } func testWhenDdgUrlWithSearchParamThenSearchQueryReturned() { - let url = #URL("https://www.duckduckgo.com/?ko=-1&kl=wt-wt&q=some%20search") + let url = URL(string: "https://www.duckduckgo.com/?ko=-1&kl=wt-wt&q=some%20search")! let expected = "some search" let actual = url.searchQuery XCTAssertEqual(actual, expected) } func testWhenNoSearchParamInDdgUrlThenSearchQueryReturnsNil() { - let url = #URL("https://www.duckduckgo.com/?ko=-1&kl=wt-wt") + let url = URL(string: "https://www.duckduckgo.com/?ko=-1&kl=wt-wt")! let result = url.searchQuery XCTAssertNil(result) } func testWhenNotDdgUrlThenSearchQueryReturnsNil() { - let url = #URL("https://www.test.com/?ko=-1&kl=wt-wt&q=some%20search") + let url = URL(string: "https://www.test.com/?ko=-1&kl=wt-wt&q=some%20search")! let result = url.searchQuery XCTAssertNil(result) } diff --git a/DuckDuckGoTests/BookmarksCachingSearchTests.swift b/DuckDuckGoTests/BookmarksCachingSearchTests.swift index 0efb242a11..03f79cb6d2 100644 --- a/DuckDuckGoTests/BookmarksCachingSearchTests.swift +++ b/DuckDuckGoTests/BookmarksCachingSearchTests.swift @@ -20,7 +20,6 @@ import Bookmarks import Combine import CoreData -import Macros import XCTest @testable import Core @@ -43,7 +42,7 @@ public class MockBookmarksSearchStore: BookmarksSearchStore { class BookmarksCachingSearchTests: XCTestCase { - let url = #URL("http://duckduckgo.com") + let url = URL(string: "http://duckduckgo.com")! let simpleStore = MockBookmarksSearchStore() let urlStore = MockBookmarksSearchStore() @@ -86,9 +85,9 @@ class BookmarksCachingSearchTests: XCTestCase { BookmarksCachingSearch.ScoredBookmark(objectID: mockObjectID, title: Entry.f12a.rawValue, url: url, isFavorite: true)] urlStore.dataSet = [ - BookmarksCachingSearch.ScoredBookmark(objectID: mockObjectID, title: Entry.urlExample1.rawValue, url: #URL("https://example.com"), isFavorite: true), - BookmarksCachingSearch.ScoredBookmark(objectID: mockObjectID, title: Entry.urlExample2.rawValue, url: #URL("https://example.com"), isFavorite: true), - BookmarksCachingSearch.ScoredBookmark(objectID: mockObjectID, title: Entry.urlNasa.rawValue, url: #URL("https://www.nasa.gov"), isFavorite: true), + BookmarksCachingSearch.ScoredBookmark(objectID: mockObjectID, title: Entry.urlExample1.rawValue, url: URL(string: "https://example.com")!, isFavorite: true), + BookmarksCachingSearch.ScoredBookmark(objectID: mockObjectID, title: Entry.urlExample2.rawValue, url: URL(string: "https://example.com")!, isFavorite: true), + BookmarksCachingSearch.ScoredBookmark(objectID: mockObjectID, title: Entry.urlNasa.rawValue, url: URL(string: "https://www.nasa.gov")!, isFavorite: true), BookmarksCachingSearch.ScoredBookmark(objectID: mockObjectID, title: Entry.urlDDG.rawValue, url: url, isFavorite: true)] } @@ -239,6 +238,6 @@ class BookmarksCachingSearchTests: XCTestCase { private extension BookmarksCachingSearchTests { enum Constants { static let bookmarkTitle = "my bookmark" - static let bookmarkURL = #URL("https://www.apple.com") + static let bookmarkURL = URL(string: "https://www.apple.com")! } } diff --git a/DuckDuckGoTests/BookmarksImporterTests.swift b/DuckDuckGoTests/BookmarksImporterTests.swift index 94d2375de5..c82042cfab 100644 --- a/DuckDuckGoTests/BookmarksImporterTests.swift +++ b/DuckDuckGoTests/BookmarksImporterTests.swift @@ -18,7 +18,6 @@ // import Bookmarks -import Macros import SwiftSoup import XCTest @@ -197,6 +196,6 @@ private extension BookmarksImporterTests { enum Constants { static let bookmarkTitle = "my bookmark" static let bookmarkURLString = "https://duckduckgo.com" - static let bookmarkURL = #URL("https://duckduckgo.com") + static let bookmarkURL = URL(string: "https://duckduckgo.com")! } } diff --git a/DuckDuckGoTests/DaxDialogTests.swift b/DuckDuckGoTests/DaxDialogTests.swift index 1d0072f0b5..d987fba05c 100644 --- a/DuckDuckGoTests/DaxDialogTests.swift +++ b/DuckDuckGoTests/DaxDialogTests.swift @@ -19,7 +19,6 @@ import BrowserServicesKit import ContentBlocking -import Macros import PrivacyDashboard import TrackerRadarKit import XCTest @@ -48,13 +47,13 @@ final class DaxDialog: XCTestCase { struct URLs { - static let example = #URL("https://www.example.com") - static let ddg = #URL("https://duckduckgo.com?q=test") - static let facebook = #URL("https://www.facebook.com") - static let google = #URL("https://www.google.com") - static let ownedByFacebook = #URL("https://www.instagram.com") - static let amazon = #URL("https://www.amazon.com") - static let tracker = #URL("https://www.1dmp.io") + static let example = URL(string: "https://www.example.com")! + static let ddg = URL(string: "https://duckduckgo.com?q=test")! + static let facebook = URL(string: "https://www.facebook.com")! + static let google = URL(string: "https://www.google.com")! + static let ownedByFacebook = URL(string: "https://www.instagram.com")! + static let amazon = URL(string: "https://www.amazon.com")! + static let tracker = URL(string: "https://www.1dmp.io")! } diff --git a/DuckDuckGoTests/DownloadMocks.swift b/DuckDuckGoTests/DownloadMocks.swift index 4ff1c9bd4a..1601392430 100644 --- a/DuckDuckGoTests/DownloadMocks.swift +++ b/DuckDuckGoTests/DownloadMocks.swift @@ -18,7 +18,6 @@ // import Foundation -import Macros import WebKit @testable import DuckDuckGo @@ -56,7 +55,7 @@ class MockNavigationResponse: WKNavigationResponse { var mimeType: String? override var response: URLResponse { - let response = MockURLResponse(url: #URL("https://www.duck.com"), + let response = MockURLResponse(url: URL(string: "https://www.duck.com")!, mimeType: mimeType!, expectedContentLength: 1234, textEncodingName: "") diff --git a/DuckDuckGoTests/DownloadTestsHelper.swift b/DuckDuckGoTests/DownloadTestsHelper.swift index 073e463402..9020736aaf 100644 --- a/DuckDuckGoTests/DownloadTestsHelper.swift +++ b/DuckDuckGoTests/DownloadTestsHelper.swift @@ -18,12 +18,11 @@ // import Foundation -import Macros @testable import DuckDuckGo struct DownloadTestsHelper { - let mockURL = #URL("https://duck.com") + let mockURL = URL(string: "https://duck.com")! let tmpDirectory = FileManager.default.temporaryDirectory let downloadsDirectory: URL diff --git a/DuckDuckGoTests/FaviconRequestModifierTests.swift b/DuckDuckGoTests/FaviconRequestModifierTests.swift index b3431cd777..a13b3ec0bd 100644 --- a/DuckDuckGoTests/FaviconRequestModifierTests.swift +++ b/DuckDuckGoTests/FaviconRequestModifierTests.swift @@ -18,7 +18,6 @@ // import BrowserServicesKit -import Macros import XCTest @testable import Core @@ -76,7 +75,7 @@ class FaviconRequestModifierTests: XCTestCase { } func test() { - let request = URLRequest(url: #URL("https://www.example.com")) + let request = URLRequest(url: URL(string: "https://www.example.com")!) let result = FaviconRequestModifier(userAgentManager: userAgentManager).modified(for: request) XCTAssertTrue(result?.allHTTPHeaderFields?["User-Agent"]?.contains("DuckDuckGo") ?? false) } diff --git a/DuckDuckGoTests/FaviconsTests.swift b/DuckDuckGoTests/FaviconsTests.swift index 12d4bb494a..ddbb966caf 100644 --- a/DuckDuckGoTests/FaviconsTests.swift +++ b/DuckDuckGoTests/FaviconsTests.swift @@ -20,7 +20,6 @@ import Bookmarks import CoreData import Kingfisher -import Macros import XCTest @testable import Core @@ -99,8 +98,8 @@ class FaviconsTests: XCTestCase { switch options?[4] { case .alternativeSources(let sources): XCTAssertEqual(2, sources.count) - XCTAssertEqual(sources[0].url, #URL("https://example.com/favicon.ico")) - XCTAssertEqual(sources[1].url, #URL("http://example.com/favicon.ico")) + XCTAssertEqual(sources[0].url, URL(string: "https://example.com/favicon.ico")!) + XCTAssertEqual(sources[1].url, URL(string: "http://example.com/favicon.ico")!) default: XCTFail("Unexpected option") diff --git a/DuckDuckGoTests/FireproofFaviconUpdaterTests.swift b/DuckDuckGoTests/FireproofFaviconUpdaterTests.swift index 2dfacdc021..3a1925f62d 100644 --- a/DuckDuckGoTests/FireproofFaviconUpdaterTests.swift +++ b/DuckDuckGoTests/FireproofFaviconUpdaterTests.swift @@ -20,7 +20,6 @@ import Bookmarks import Core import Foundation -import Macros import Persistence import XCTest @@ -87,7 +86,7 @@ class FireproofFaviconUpdaterTests: XCTestCase, TabNotifying, FaviconProviding { try createBookmark() image = UIImage() - let url = #URL("https://example.com/favicon.ico") + let url = URL(string: "https://example.com/favicon.ico")! let updater = FireproofFaviconUpdater(bookmarksDatabase: db, tab: self, favicons: self) updater.faviconUserScript(FaviconUserScript(), didRequestUpdateFaviconForHost: "example.com", withUrl: url) @@ -104,7 +103,7 @@ class FireproofFaviconUpdaterTests: XCTestCase, TabNotifying, FaviconProviding { try createBookmark() image = UIImage() - let url = #URL("https://example.com/favicon.ico") + let url = URL(string: "https://example.com/favicon.ico")! let updater = FireproofFaviconUpdater(bookmarksDatabase: db, tab: self, favicons: self) updater.faviconUserScript(FaviconUserScript(), didRequestUpdateFaviconForHost: "www.example.com", withUrl: url) diff --git a/DuckDuckGoTests/HTTPSUpgradeTests.swift b/DuckDuckGoTests/HTTPSUpgradeTests.swift index c32252598a..aed388f664 100644 --- a/DuckDuckGoTests/HTTPSUpgradeTests.swift +++ b/DuckDuckGoTests/HTTPSUpgradeTests.swift @@ -18,7 +18,6 @@ // import BrowserServicesKit -import Macros import OHHTTPStubs import OHHTTPStubsSwift import XCTest @@ -35,7 +34,7 @@ class HTTPSUpgradeTests: XCTestCase { func testWhenURLIsHttpsThenShouldUpgradeResultIsFalse() { let expect = expectation(description: "Https url should not be upgraded") - let url = #URL("https://upgradable.url") + let url = URL(string: "https://upgradable.url")! let testee = HTTPSUpgrade(store: MockHTTPSUpgradeStore(bloomFilter: bloomFilter())) testee.loadData() @@ -50,7 +49,7 @@ class HTTPSUpgradeTests: XCTestCase { func testWhenURLIsExcludedThenShouldUpgradeResultIsFalse() { let expect = expectation(description: "Excluded http:// urls should not be upgraded") - let url = #URL("http://excluded.url") + let url = URL(string: "http://excluded.url")! let testee = HTTPSUpgrade(store: MockHTTPSUpgradeStore(bloomFilter: bloomFilter())) testee.loadData() @@ -64,7 +63,7 @@ class HTTPSUpgradeTests: XCTestCase { func testWhenURLIsHttpAndCanBeUpgradedThenShouldUpgradeIsTrue() { let expect = expectation(description: "Http url in list and should be upgraded") - let url = #URL("http://upgradable.url") + let url = URL(string: "http://upgradable.url")! let testee = HTTPSUpgrade(store: MockHTTPSUpgradeStore(bloomFilter: bloomFilter()), privacyConfig: WebKitTestHelper.preparePrivacyConfig( @@ -85,7 +84,7 @@ class HTTPSUpgradeTests: XCTestCase { func testWhenURLIsHttpAndHttpsUpgradesDisabledThenShouldUpgradeIsFalse() { let expect = expectation(description: "Http url in list and should not be upgraded") - let url = #URL("http://upgradable.url") + let url = URL(string: "http://upgradable.url")! let testee = HTTPSUpgrade(store: MockHTTPSUpgradeStore(bloomFilter: bloomFilter()), privacyConfig: WebKitTestHelper.preparePrivacyConfig( @@ -106,7 +105,7 @@ class HTTPSUpgradeTests: XCTestCase { func testWhenURLIsHttpAndCannotBeUpgradedThenShouldUpgradeIsFalse() { let expect = expectation(description: "Http url not in list should not be upgraded") - let url = #URL("http://unknown.url") + let url = URL(string: "http://unknown.url")! let testee = HTTPSUpgrade(store: MockHTTPSUpgradeStore(bloomFilter: bloomFilter())) testee.loadData() diff --git a/DuckDuckGoTests/MenuBookmarksViewModelTests.swift b/DuckDuckGoTests/MenuBookmarksViewModelTests.swift index e4f310fbb4..d7d3f90bf5 100644 --- a/DuckDuckGoTests/MenuBookmarksViewModelTests.swift +++ b/DuckDuckGoTests/MenuBookmarksViewModelTests.swift @@ -20,7 +20,6 @@ import Bookmarks import DuckDuckGo import Foundation -import Macros import Persistence import XCTest @@ -36,7 +35,7 @@ private extension MenuBookmarksViewModel { class MenuBookmarksViewModelTests: XCTestCase { - let url = #URL("https://test.com") + let url = URL(string: "https://test.com")! var db: CoreDataDatabase! override func setUpWithError() throws { diff --git a/DuckDuckGoTests/MockSecureVault.swift b/DuckDuckGoTests/MockSecureVault.swift index ca0aea4c51..94c1cb0def 100644 --- a/DuckDuckGoTests/MockSecureVault.swift +++ b/DuckDuckGoTests/MockSecureVault.swift @@ -20,7 +20,6 @@ import BrowserServicesKit import Foundation import GRDB -import Macros import SecureStorage // swiftlint:disable file_length @@ -224,7 +223,7 @@ final class MockSecureVault: AutofillSecureVault { // MARK: - Mock Providers private extension URL { - static let duckduckgo = #URL("https://duckduckgo.com/") + static let duckduckgo = URL(string: "https://duckduckgo.com/")! } class MockDatabaseProvider: AutofillDatabaseProvider { @@ -248,7 +247,7 @@ class MockDatabaseProvider: AutofillDatabaseProvider { static func recreateDatabase(withKey key: Data) throws -> Self { // swiftlint:disable:next force_cast - return try MockDatabaseProvider(file: #URL("https://duck.com"), key: Data()) as! Self + return try MockDatabaseProvider(file: URL(string: "https://duck.com")!, key: Data()) as! Self } func storeWebsiteCredentials(_ credentials: SecureVaultModels.WebsiteCredentials) throws -> Int64 { diff --git a/DuckDuckGoTests/MockUserAgent.swift b/DuckDuckGoTests/MockUserAgent.swift index 49c9897345..ce8147a4c8 100644 --- a/DuckDuckGoTests/MockUserAgent.swift +++ b/DuckDuckGoTests/MockUserAgent.swift @@ -19,7 +19,6 @@ import BrowserServicesKit import Foundation -import Macros import WebKit class MockUserAgentManager: UserAgentManager { @@ -34,7 +33,7 @@ class MockUserAgentManager: UserAgentManager { private func prepareUserAgent() { let webview = WKWebView() - webview.load(URLRequest.developerInitiated(#URL("about:blank"))) + webview.load(URLRequest.developerInitiated(URL(string: "about:blank")!)) getDefaultAgent(webView: webview) { [weak self] agent in // Reference webview instance to keep it in scope and allow UA to be returned diff --git a/DuckDuckGoTests/NotFoundCachingDownloaderTests.swift b/DuckDuckGoTests/NotFoundCachingDownloaderTests.swift index bb8f666020..661e14f46e 100644 --- a/DuckDuckGoTests/NotFoundCachingDownloaderTests.swift +++ b/DuckDuckGoTests/NotFoundCachingDownloaderTests.swift @@ -17,7 +17,6 @@ // limitations under the License. // -import Macros import XCTest @testable import Core @@ -59,7 +58,7 @@ class NotFoundCachingDownloaderTests: XCTestCase { downloader.noFaviconsFound(forDomain: "example.com") let moreThanAWeekFromNow = Date().addingTimeInterval(60 * 60 * 24 * 8) - XCTAssertTrue(downloader.shouldDownload(#URL("https://example.com/path/to/image.png"), referenceDate: moreThanAWeekFromNow)) + XCTAssertTrue(downloader.shouldDownload(URL(string: "https://example.com/path/to/image.png")!, referenceDate: moreThanAWeekFromNow)) guard let domains: [String: TimeInterval] = UserDefaults.app.object(forKey: UserDefaultsWrapper.Key.notFoundCache.rawValue) as? [String: TimeInterval] else { @@ -72,11 +71,11 @@ class NotFoundCachingDownloaderTests: XCTestCase { func testWhenMarkingDomainAsNotFoundThenShouldNotDownload() { downloader.noFaviconsFound(forDomain: "example.com") - XCTAssertFalse(downloader.shouldDownload(#URL("https://example.com/path/to/image.png"))) + XCTAssertFalse(downloader.shouldDownload(URL(string: "https://example.com/path/to/image.png")!)) } func testWhenDomainNotMarkedAsNotFoundThenShouldNotDownload() { - XCTAssertTrue(downloader.shouldDownload(#URL("https://example.com/path/to/image.png"))) + XCTAssertTrue(downloader.shouldDownload(URL(string: "https://example.com/path/to/image.png")!)) } } diff --git a/DuckDuckGoTests/PrivacyIconLogicTests.swift b/DuckDuckGoTests/PrivacyIconLogicTests.swift index 7ff6ad326f..a3245ac9d0 100644 --- a/DuckDuckGoTests/PrivacyIconLogicTests.swift +++ b/DuckDuckGoTests/PrivacyIconLogicTests.swift @@ -19,7 +19,6 @@ import BrowserServicesKit import Foundation -import Macros import PrivacyDashboard import TrackerRadarKit import XCTest @@ -29,11 +28,11 @@ import XCTest class PrivacyIconLogicTests: XCTestCase { - static let pageURL = #URL("https://example.com") - static let insecurePageURL = #URL("http://example.com") - static let ddgSearchURL = #URL("https://duckduckgo.com/?q=catfood&t=h_&ia=web") - static let ddgMainURL = #URL("https://duckduckgo.com") - static let ddgSupportURL = #URL("https://duckduckgo.com/email/settings/support") + static let pageURL = URL(string: "https://example.com")! + static let insecurePageURL = URL(string: "http://example.com")! + static let ddgSearchURL = URL(string: "https://duckduckgo.com/?q=catfood&t=h_&ia=web")! + static let ddgMainURL = URL(string: "https://duckduckgo.com")! + static let ddgSupportURL = URL(string: "https://duckduckgo.com/email/settings/support")! func testPrivacyIconIsShieldForPageURL() { let url = PrivacyIconLogicTests.insecurePageURL diff --git a/DuckDuckGoTests/TabTests.swift b/DuckDuckGoTests/TabTests.swift index e8eaa73ba4..a266bb759a 100644 --- a/DuckDuckGoTests/TabTests.swift +++ b/DuckDuckGoTests/TabTests.swift @@ -17,7 +17,6 @@ // limitations under the License. // -import Macros import XCTest @testable import Core @@ -27,8 +26,8 @@ class TabTests: XCTestCase { struct Constants { static let title = "A title" - static let url = #URL("https://example.com") - static let differentUrl = #URL("https://aDifferentUrl.com") + static let url = URL(string: "https://example.com")! + static let differentUrl = URL(string: "https://aDifferentUrl.com")! } func testWhenDesktopPropertyChangesThenObserversNotified() { @@ -147,7 +146,7 @@ class TabTests: XCTestCase { } private func link() -> Link { - return Link(title: "title", url: #URL("http://example.com")) + return Link(title: "title", url: URL(string: "http://example.com")!) } } diff --git a/DuckDuckGoTests/TabsModelTests.swift b/DuckDuckGoTests/TabsModelTests.swift index 405e4922ea..286ac7abd0 100644 --- a/DuckDuckGoTests/TabsModelTests.swift +++ b/DuckDuckGoTests/TabsModelTests.swift @@ -17,7 +17,6 @@ // limitations under the License. // -import Macros import XCTest @testable import DuckDuckGo @@ -25,7 +24,7 @@ import XCTest class TabsModelTests: XCTestCase { - private let exampleLink = Link(title: nil, url: #URL("https://example.com")) + private let exampleLink = Link(title: nil, url: URL(string: "https://example.com")!) private var emptyModel: TabsModel { return TabsModel(desktop: false) @@ -40,9 +39,9 @@ class TabsModelTests: XCTestCase { private var filledModel: TabsModel { let model = TabsModel(tabs: [ - Tab(link: Link(title: "url1", url: #URL("https://ur1l.com"))), - Tab(link: Link(title: "url2", url: #URL("https://ur12.com"))), - Tab(link: Link(title: "url3", url: #URL("https://ur13.com"))) + Tab(link: Link(title: "url1", url: URL(string: "https://ur1l.com")!)), + Tab(link: Link(title: "url2", url: URL(string: "https://ur12.com")!)), + Tab(link: Link(title: "url3", url: URL(string: "https://ur13.com")!)) ], desktop: false) return model } @@ -104,7 +103,7 @@ class TabsModelTests: XCTestCase { } func testWhenTabExistsThenIndexReturned() { - let tab = Tab(link: Link(title: nil, url: #URL("https://www.example.com"))) + let tab = Tab(link: Link(title: nil, url: URL(string: "https://www.example.com")!)) let testee = filledModel testee.add(tab: tab) XCTAssertEqual(testee.indexOf(tab: tab), 3) diff --git a/DuckDuckGoTests/TrackerAnimationLogicTests.swift b/DuckDuckGoTests/TrackerAnimationLogicTests.swift index b3088d01d7..fe65cd5d5c 100644 --- a/DuckDuckGoTests/TrackerAnimationLogicTests.swift +++ b/DuckDuckGoTests/TrackerAnimationLogicTests.swift @@ -20,7 +20,6 @@ import BrowserServicesKit import ContentBlocking import Foundation -import Macros import PrivacyDashboard import TrackerRadarKit import XCTest @@ -30,7 +29,7 @@ import XCTest class TrackerAnimationLogicTests: XCTestCase { - static let pageURL = #URL("https://example.com") + static let pageURL = URL(string: "https://example.com")! func testAnimationLogicToAnimateTrackersIfAnyBlocked() { let trackerInfo = makeBlockedTrackerInfo(pageURL: Self.pageURL) diff --git a/DuckDuckGoTests/UserAgentTests.swift b/DuckDuckGoTests/UserAgentTests.swift index 22b6e6e509..e3745595aa 100644 --- a/DuckDuckGoTests/UserAgentTests.swift +++ b/DuckDuckGoTests/UserAgentTests.swift @@ -18,7 +18,6 @@ // import BrowserServicesKit -import Macros import WebKit import XCTest @@ -66,11 +65,11 @@ final class UserAgentTests: XCTestCase { } private struct Constants { - static let url = #URL("http://example.com/index.html") - static let noAppUrl = #URL("http://cvs.com/index.html") - static let noAppSubdomainUrl = #URL("http://subdomain.cvs.com/index.html") - static let ddgFixedUrl = #URL("http://test2.com/index.html") - static let ddgDefaultUrl = #URL("http://test3.com/index.html") + static let url = URL(string: "http://example.com/index.html")! + static let noAppUrl = URL(string: "http://cvs.com/index.html")! + static let noAppSubdomainUrl = URL(string: "http://subdomain.cvs.com/index.html")! + static let ddgFixedUrl = URL(string: "http://test2.com/index.html")! + static let ddgDefaultUrl = URL(string: "http://test3.com/index.html")! } let testConfig = """ diff --git a/LocalPackages/Waitlist/Package.swift b/LocalPackages/Waitlist/Package.swift index b89a136609..c8b231fae9 100644 --- a/LocalPackages/Waitlist/Package.swift +++ b/LocalPackages/Waitlist/Package.swift @@ -23,7 +23,6 @@ let package = Package( name: "Waitlist", dependencies: [ "DesignResourcesKit", - .product(name: "Macros", package: "apple-toolbox"), ], swiftSettings: [ .define("DEBUG", .when(configuration: .debug)) diff --git a/LocalPackages/Waitlist/Sources/Waitlist/Network/ProductWaitlistRequest.swift b/LocalPackages/Waitlist/Sources/Waitlist/Network/ProductWaitlistRequest.swift index 1058a46a3f..63dab2041f 100644 --- a/LocalPackages/Waitlist/Sources/Waitlist/Network/ProductWaitlistRequest.swift +++ b/LocalPackages/Waitlist/Sources/Waitlist/Network/ProductWaitlistRequest.swift @@ -18,7 +18,6 @@ // import Foundation -import Macros public typealias ProductWaitlistMakeHTTPRequest = (URL, _ method: String, _ body: Data?, @escaping ProductWaitlistHTTPRequestCompletion) -> Void public typealias ProductWaitlistHTTPRequestCompletion = (Data?, Error?) -> Void @@ -134,9 +133,9 @@ public class ProductWaitlistRequest: WaitlistRequest { private var endpoint: URL { #if DEBUG - return #URL("https://quack.duckduckgo.com/api/auth/waitlist/") + return URL(string: "https://quack.duckduckgo.com/api/auth/waitlist/")! #else - return #URL("https://quack.duckduckgo.com/api/auth/waitlist/") + return URL(string: "https://quack.duckduckgo.com/api/auth/waitlist/")! #endif } diff --git a/LocalPackages/Waitlist/Sources/WaitlistMocks/TestWaitlist.swift b/LocalPackages/Waitlist/Sources/WaitlistMocks/TestWaitlist.swift index 0dd29425fd..51236cdf43 100644 --- a/LocalPackages/Waitlist/Sources/WaitlistMocks/TestWaitlist.swift +++ b/LocalPackages/Waitlist/Sources/WaitlistMocks/TestWaitlist.swift @@ -18,7 +18,6 @@ // import Foundation -import Macros import Waitlist public struct TestWaitlist: Waitlist { @@ -39,7 +38,7 @@ public struct TestWaitlist: Waitlist { public static var identifier: String = "mockIdentifier" public static var apiProductName: String = "mockApiProductName" - public static var downloadURL: URL = #URL("https://duckduckgo.com") + public static var downloadURL: URL = URL(string: "https://duckduckgo.com")! public static var backgroundTaskName: String = "BG Task" public static var backgroundRefreshTaskIdentifier: String = "bgtask" diff --git a/LocalPackages/Waitlist/Tests/WaitlistTests/WaitlistViewModelTests.swift b/LocalPackages/Waitlist/Tests/WaitlistTests/WaitlistViewModelTests.swift index 3fc237560b..0fcb1d6cbd 100644 --- a/LocalPackages/Waitlist/Tests/WaitlistTests/WaitlistViewModelTests.swift +++ b/LocalPackages/Waitlist/Tests/WaitlistTests/WaitlistViewModelTests.swift @@ -18,7 +18,6 @@ // import Combine -import Macros import UserNotifications import WaitlistMocks import XCTest @@ -263,7 +262,7 @@ extension WaitlistViewModel { waitlistRequest: waitlistRequest, waitlistStorage: waitlistStorage, notificationService: notificationService, - downloadURL: #URL("https://duckduckgo.com") + downloadURL: URL(string: "https://duckduckgo.com")! ) } } diff --git a/Widgets/WidgetViews.swift b/Widgets/WidgetViews.swift index 81f71f056e..7991d20620 100644 --- a/Widgets/WidgetViews.swift +++ b/Widgets/WidgetViews.swift @@ -17,7 +17,6 @@ // limitations under the License. // -import Macros import SwiftUI import WidgetKit @@ -307,7 +306,7 @@ extension Image { struct WidgetViews_Previews: PreviewProvider { static let mockFavorites: [Favorite] = { - let duckDuckGoFavorite = Favorite(url: #URL("https://duckduckgo.com/"), + let duckDuckGoFavorite = Favorite(url: URL(string: "https://duckduckgo.com/")!, domain: "duckduckgo.com", title: "title", favicon: nil) diff --git a/submodules/privacy-reference-tests b/submodules/privacy-reference-tests index a603ff9af2..6b7ad1e7f1 160000 --- a/submodules/privacy-reference-tests +++ b/submodules/privacy-reference-tests @@ -1 +1 @@ -Subproject commit a603ff9af22ca3ff7ce2e7ffbfe18c447d9f23e8 +Subproject commit 6b7ad1e7f15270f9dfeb58a272199f4d57c3eb22