diff --git a/work/swift-testing-migration.md b/work/swift-testing-migration.md new file mode 100644 index 00000000..ba7f3e48 --- /dev/null +++ b/work/swift-testing-migration.md @@ -0,0 +1,756 @@ +# Swift Testing migration: XCTest conversion backlog + +Snapshot 2026-10-21, branch `alex/swift-testing` on top of origin/main. First batch: PR [#7547](https://github.com/duckduckgo/apple-browsers/pull/7547) (9 files). + +Survey: 1590 XCTest unit-test files (UI/Integration tests excluded). **399** have no complicating markers (no expectations, setUp, custom base class, Combine/async, UserDefaults/FileManager/CoreData). **129** more are complicated only by `setUp`/`tearDown`, which maps to `init`/`deinit`. + +Survey script: `xct2testing.py` + heuristic flags; full output kept in this note so it survives the scratchpad. + +## Repo conventions learned +- Every `@Test` needs `@available(iOS 16, macOS 13, *)` and `.timeLimit(.minutes(1))`. +- Suites touching shared `UserDefaults` or other global state: `@Suite(.serialized)`. +- Files need an explicit `import Foundation` (XCTest used to re-export it). +- Swift Testing runs tests in parallel: temp files and defaults suites need unique names per test instance. +- PR CI runs package tests only through the app schemes (`macOS Browser`, `iOS Browser`) and the BSK package loop; `EventHubTests`, `SnapshotTestingSupportTests`, `UIComponentsTests` currently never run: the first two are listed in the schemes but Xcode drops them from the xctestrun ("isn't a member of the specified test plan or scheme"), the third is in no scheme. Candidate fix: add them to the package loop and paths filters in `.github/workflows/bsk_pr_checks.yml`. + +## Short list: suggested next batches + +Small pure-logic files (extensions, parsers, models), one PR per area, ~10 files each. + + +### macOS/UnitTests (17 files) +- `macOS/UnitTests/Common/Extensions/BundleExtensionTests.swift` (1 tests, 38 loc) +- `macOS/UnitTests/HomePage/ColorSchemeLosslessStringConvertibleExtensionTests.swift` (2 tests, 38 loc) +- `macOS/UnitTests/Common/FileSystem/EncryptionKeyGeneratorTests.swift` (2 tests, 40 loc) +- `macOS/UnitTests/Common/Extensions/WKWebsiteDataStoreExtensionTests.swift` (2 tests, 43 loc) +- `macOS/UnitTests/Statistics/ATB/AtbParserTests.swift` (3 tests, 47 loc) +- `macOS/UnitTests/TabExtensionsTests/SpecialErrorPageUserScriptTests.swift` (2 tests, 49 loc) +- `macOS/UnitTests/Subscription/URL+SubscriptionAttributionTests.swift` (3 tests, 50 loc) +- `macOS/UnitTests/ContentBlocker/AppPrivacyConfigurationTests.swift` (2 tests, 52 loc) +- `macOS/UnitTests/Common/Extensions/ArrayExtensionTests.swift` (7 tests, 58 loc) +- `macOS/UnitTests/WebExtensions/WebExtensionPixelTests.swift` (4 tests, 63 loc) +- `macOS/UnitTests/Tab/Model/TabContentDisplayTitleTests.swift` (7 tests, 63 loc) +- `macOS/UnitTests/Common/Extensions/HTTPCookieTests.swift` (1 tests, 66 loc) +- `macOS/UnitTests/TabBar/ViewModel/AdjacentItemEnumeratorTests.swift` (4 tests, 67 loc) +- `macOS/UnitTests/Feedback/QuickFeedback/AppVersionModelDistributionLabelTests.swift` (4 tests, 73 loc) +- `macOS/UnitTests/Promotions/PromoHistoryRecordTests.swift` (6 tests, 75 loc) +- `macOS/UnitTests/AppHealth/StartupMetricsBucketsTests.swift` (4 tests, 80 loc) +- `macOS/UnitTests/NavigationBar/NavigationBarUrlExtensionsTests.swift` (1 tests, 86 loc) + +### iOS/DuckDuckGoTests (16 files) +- `iOS/DuckDuckGoTests/SERPSettingsViewPageTests.swift` (1 tests, 32 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/UpdatedModelPickerFeatureTests.swift` (2 tests, 41 loc) +- `iOS/DuckDuckGoTests/UIFontExtensionTests.swift` (4 tests, 43 loc) +- `iOS/DuckDuckGoTests/HomePageDisplayDailyPixelBucketTests.swift` (1 tests, 48 loc) +- `iOS/DuckDuckGoTests/APIHeadersTests.swift` (2 tests, 51 loc) +- `iOS/DuckDuckGoTests/AppPrivacyConfigurationTests.swift` (2 tests, 52 loc) +- `iOS/DuckDuckGoTests/NetworkProtectionStatusViewTintSpecTests.swift` (1 tests, 56 loc) +- `iOS/DuckDuckGoTests/TabEvictionSettingsTests.swift` (2 tests, 56 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/MultiTabMentionTokenTests.swift` (3 tests, 56 loc) +- `iOS/DuckDuckGoTests/BackForwardMenuHistoryItemURLSanitizerTests.swift` (5 tests, 61 loc) +- `iOS/DuckDuckGoTests/Autocomplete/SuggestionListKeyboardSelectionTests.swift` (9 tests, 61 loc) +- `iOS/DuckDuckGoTests/SearchToken/SearchTokenExperimentSettingsTests.swift` (5 tests, 65 loc) +- `iOS/DuckDuckGoTests/AtbParserTests.swift` (6 tests, 66 loc) +- `iOS/DuckDuckGoTests/SettingsDeepLinkSectionTests.swift` (6 tests, 66 loc) +- `iOS/DuckDuckGoTests/Subscription/URL+QueryParametersTests.swift` (9 tests, 70 loc) +- `iOS/DuckDuckGoTests/Subscription/AsyncHeadlessWebViewSettingsTests.swift` (3 tests, 75 loc) + +### SharedPackages/BrowserServicesKit/Tests (13 files) +- `SharedPackages/BrowserServicesKit/Tests/PrivacyDashboardTests/PageSignalsSettingsTests.swift` (2 tests, 32 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/ScopedAccess/ScopedAccessKeyFactoryTests.swift` (2 tests, 41 loc) +- `SharedPackages/BrowserServicesKit/Tests/SubscriptionTests/Flows/Models/PurchaseUpdateTests.swift` (3 tests, 46 loc) +- `SharedPackages/BrowserServicesKit/Tests/ConfigurationTests/ConfigurationFileReadErrorTests.swift` (4 tests, 47 loc) +- `SharedPackages/BrowserServicesKit/Tests/SubscriptionTests/API/Models/SubscriptionEntitlementTests.swift` (2 tests, 48 loc) +- `SharedPackages/BrowserServicesKit/Tests/PrivacyConfigTests/InternalUserDecider/DefaultInternalUserDeciderTests.swift` (4 tests, 52 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Model/RangeStringMatchingAttributeTests.swift` (3 tests, 55 loc) +- `SharedPackages/BrowserServicesKit/Tests/MaliciousSiteProtectionTests/MaliciousSiteProtectionURLTests.swift` (3 tests, 58 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/SmarterEncryption/HTTPSUpgradeParserTests.swift` (6 tests, 68 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Model/ArrayContainsAllMatchingAttributeTests.swift` (9 tests, 70 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Matchers/MobileAppAttributeMatcherTests.swift` (5 tests, 80 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/LinkProtection/AMPKeywordSearchTests.swift` (7 tests, 81 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/ScopedAccess/AccountInfoKeyFactoryTests.swift` (3 tests, 87 loc) + +### SharedPackages/Infrastructure/SystemFrameworksExtensions (4 files) +- `SharedPackages/Infrastructure/SystemFrameworksExtensions/Tests/FoundationExtensionsTests/BundleExtensionTests.swift` (1 tests, 27 loc) +- `SharedPackages/Infrastructure/SystemFrameworksExtensions/Tests/FoundationExtensionsTests/LocaleExtensionsTests.swift` (3 tests, 43 loc) +- `SharedPackages/Infrastructure/SystemFrameworksExtensions/Tests/FoundationExtensionsTests/TimeIntervalConvenienceTests.swift` (6 tests, 48 loc) +- `SharedPackages/Infrastructure/SystemFrameworksExtensions/Tests/FoundationExtensionsTests/SequenceExtensionTests.swift` (6 tests, 56 loc) + +### SharedPackages/AIChat/Tests (4 files) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatModelLabelTests.swift` (1 tests, 29 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatModelTests.swift` (4 tests, 54 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/PageContextBlocklistSettingsTests.swift` (5 tests, 63 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatModelImageGenerationTests.swift` (3 tests, 78 loc) + +### SharedPackages/WebExtensions/Tests (3 files) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/WebExtensionPixelExtensionTests.swift` (2 tests, 39 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/NativeMessagingFramingTests.swift` (5 tests, 68 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/WebExtensionAPICompatibilityLogTests.swift` (6 tests, 89 loc) + +### SharedPackages/VPN/Tests (3 files) +- `SharedPackages/VPN/Tests/VPNTests/NetworkProtectionDataVolumeBucketsTests.swift` (4 tests, 51 loc) +- `SharedPackages/VPN/Tests/VPNTests/TunnelConfigurationEndpointPortTests.swift` (2 tests, 55 loc) +- `SharedPackages/VPN/Tests/VPNTests/LeakCheck/IPAddressClassifierTests.swift` (12 tests, 80 loc) + +### SharedPackages/Common/Tests (2 files) +- `SharedPackages/Common/Tests/CommonTests/DecodableHelperTests.swift` (3 tests, 44 loc) +- `SharedPackages/Common/Tests/CommonTests/Extensions/StringExtensionTests.swift` (4 tests, 45 loc) + +### SharedPackages/DataBrokerProtectionCore/Tests (2 files) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/DataBrokerExecutionConfigTests.swift` (4 tests, 51 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/ServicesAuthHeaderBuilderTests.swift` (8 tests, 73 loc) + +### macOS/LocalPackages/AppKitExtensions (2 files) +- `macOS/LocalPackages/AppKitExtensions/Tests/AppKitExtensionsTests/NSMenuItemExtensionTests.swift` (2 tests, 56 loc) +- `macOS/LocalPackages/AppKitExtensions/Tests/AppKitExtensionsTests/AverageBrightnessTests.swift` (1 tests, 66 loc) + +### SharedPackages/Networking/Tests (2 files) +- `SharedPackages/Networking/Tests/NetworkingTests/v2/Extensions/HTTPURLResponseETagTests.swift` (5 tests, 67 loc) +- `SharedPackages/Networking/Tests/NetworkingTests/v2/Extensions/HTTPURLResponseCookiesTests.swift` (4 tests, 84 loc) + +### macOS/LocalPackages/NetworkProtectionMac (1 files) +- `macOS/LocalPackages/NetworkProtectionMac/Tests/NetworkProtectionProxyTests/OrphanProxyBucketTests.swift` (2 tests, 48 loc) + +### SharedPackages/AttributedMetric/Tests (1 files) +- `SharedPackages/AttributedMetric/Tests/AttributedMetricTests/InstallOriginParserTests.swift` (6 tests, 72 loc) + +### iOS/LocalPackages/DataBrokerProtection-iOS (1 files) +- `iOS/LocalPackages/DataBrokerProtection-iOS/Tests/DataBrokerProtection-iOSTests/FreemiumDBPPurchaseURLRouterTests.swift` (6 tests, 89 loc) + +## Full list: zero-marker files + + +### SharedPackages/AIChat/Tests (34) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatModelLabelTests.swift` (1 tests, 29 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatClearingReportTests.swift` (3 tests, 45 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatPromptHandlerTests.swift` (3 tests, 53 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatModelTests.swift` (4 tests, 54 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/UsageWarnings/DuckAiUsageResetIntervalTests.swift` (5 tests, 59 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/PageContextBlocklistSettingsTests.swift` (5 tests, 63 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatPDFInspectorTests.swift` (4 tests, 72 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatConversationSourceHandlerTests.swift` (6 tests, 72 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatModelImageGenerationTests.swift` (3 tests, 78 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatContextChipViewTests.swift` (5 tests, 88 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatModelSectionBuilderTests.swift` (4 tests, 96 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatMigrationStoreTests.swift` (5 tests, 100 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/UsageWarnings/DuckAiUsageWarningMessagePreviewTests.swift` (10 tests, 115 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatHistorySettingsTests.swift` (7 tests, 121 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatAttachmentUsageTests.swift` (7 tests, 122 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/EditPromptMessagesTests.swift` (7 tests, 123 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/PageContextAttachabilityPolicyTests.swift` (19 tests, 130 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatPageContextDocumentTests.swift` (8 tests, 148 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatModelPublicAccessTierTests.swift` (16 tests, 157 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatTabPickerTypesTests.swift` (10 tests, 173 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/UsageWarnings/DuckAiModelSuggesterTests.swift` (13 tests, 181 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatNativeConfigValuesTests.swift` (18 tests, 182 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/ChatPinnerTests.swift` (10 tests, 190 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatURLParametersTests.swift` (23 tests, 228 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/PageContextExtractionResolverTests.swift` (22 tests, 241 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatSuggestionTests.swift` (28 tests, 275 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/CustomizeResponsesStateTests.swift` (29 tests, 286 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatReasoningTests.swift` (23 tests, 295 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatAttachmentValidatorTests.swift` (26 tests, 300 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/ChatExporterTests.swift` (12 tests, 323 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatPageContextDataTests.swift` (18 tests, 331 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/URLExtensionTests.swift` (41 tests, 357 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/DuckAiChatDecodeTests.swift` (19 tests, 372 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/NativeStorage/DuckAiUsageSnapshotTests.swift` (36 tests, 416 loc) + +### SharedPackages/AttributedMetric/Tests (4) +- `SharedPackages/AttributedMetric/Tests/AttributedMetricTests/InstallOriginParserTests.swift` (6 tests, 72 loc) +- `SharedPackages/AttributedMetric/Tests/AttributedMetricTests/InstallOriginVariantResolverTests.swift` (13 tests, 94 loc) +- `SharedPackages/AttributedMetric/Tests/AttributedMetricTests/QuantisedTimePastTests.swift` (5 tests, 169 loc) +- `SharedPackages/AttributedMetric/Tests/AttributedMetricTests/BucketModifierTests.swift` (32 tests, 446 loc) + +### SharedPackages/AutomationServer/Tests (1) +- `SharedPackages/AutomationServer/Tests/AutomationServerTests/JSONEncodingTests.swift` (14 tests, 128 loc) + +### SharedPackages/BrowserServicesKit/Tests (75) +- `SharedPackages/BrowserServicesKit/Tests/LinuxMain.swift` (0 tests, 25 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/XCTestManifests.swift` (0 tests, 27 loc) +- `SharedPackages/BrowserServicesKit/Tests/PrivacyDashboardTests/PageSignalsSettingsTests.swift` (2 tests, 32 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentScopeScriptTests/ContentScopePropertiesTests.swift` (1 tests, 33 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/DeviceInfoUpdateBuilderTests.swift` (1 tests, 39 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/ScopedAccess/ScopedAccessKeyFactoryTests.swift` (2 tests, 41 loc) +- `SharedPackages/BrowserServicesKit/Tests/UserScriptTests/UserScriptEncrypterTests.swift` (1 tests, 44 loc) +- `SharedPackages/BrowserServicesKit/Tests/SubscriptionTests/Flows/Models/PurchaseUpdateTests.swift` (3 tests, 46 loc) +- `SharedPackages/BrowserServicesKit/Tests/UserScriptTests/JSFileCacheTests.swift` (3 tests, 46 loc) +- `SharedPackages/BrowserServicesKit/Tests/ConfigurationTests/ConfigurationFileReadErrorTests.swift` (4 tests, 47 loc) +- `SharedPackages/BrowserServicesKit/Tests/SubscriptionTests/API/Models/SubscriptionEntitlementTests.swift` (2 tests, 48 loc) +- `SharedPackages/BrowserServicesKit/Tests/SecureStorageTests/SecureVaultFactoryTests.swift` (1 tests, 51 loc) +- `SharedPackages/BrowserServicesKit/Tests/PrivacyDashboardTests/ExpiryStorageTests.swift` (2 tests, 51 loc) +- `SharedPackages/BrowserServicesKit/Tests/SuggestionsTests/SuggestionResultTests.swift` (3 tests, 51 loc) +- `SharedPackages/BrowserServicesKit/Tests/PrivacyConfigTests/InternalUserDecider/DefaultInternalUserDeciderTests.swift` (4 tests, 52 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/DetectedRequestTests.swift` (2 tests, 54 loc) +- `SharedPackages/BrowserServicesKit/Tests/PrivacyDashboardTests/BrokenSiteReportHistoryEntryTests.swift` (3 tests, 54 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Model/RangeStringMatchingAttributeTests.swift` (3 tests, 55 loc) +- `SharedPackages/BrowserServicesKit/Tests/MaliciousSiteProtectionTests/MaliciousSiteProtectionURLTests.swift` (3 tests, 58 loc) +- `SharedPackages/BrowserServicesKit/Tests/PrivacyDashboardTests/PrivacyInfoTests.swift` (3 tests, 62 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/DomainMatchingReportTests.swift` (1 tests, 63 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/SmarterEncryption/HTTPSUpgradeParserTests.swift` (6 tests, 68 loc) +- `SharedPackages/BrowserServicesKit/Tests/MaliciousSiteProtectionTests/MaliciousSiteProtectionEmbeddedDataProviderTest.swift` (1 tests, 70 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Model/ArrayContainsAllMatchingAttributeTests.swift` (9 tests, 70 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/Statistics/AtbTests.swift` (5 tests, 72 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/SmarterEncryption/BloomFilterWrapperTest.swift` (3 tests, 74 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Matchers/MobileAppAttributeMatcherTests.swift` (5 tests, 80 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/LinkProtection/AMPKeywordSearchTests.swift` (7 tests, 81 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/ScopedAccess/AccountInfoKeyFactoryTests.swift` (3 tests, 87 loc) +- `SharedPackages/BrowserServicesKit/Tests/SuggestionsTests/APIResultTests.swift` (3 tests, 87 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/DomainMatchingTests.swift` (1 tests, 93 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/ScopedAccess/ScopedAccessCredentialEnvelopeTests.swift` (4 tests, 93 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/SecureVault/CryptoProviderTests.swift` (5 tests, 93 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/Autofill/AutofillInterfaceEmailTruncatorTests.swift` (8 tests, 95 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/Watchdog/WatchdogDetectionStateTests.swift` (5 tests, 99 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/ContentBlockingDatasetContractTests.swift` (2 tests, 100 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/DeviceInfoCodecTests.swift` (4 tests, 100 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentScopeScript/ContentScopePrivacyConfigurationJSONGeneratorTests.swift` (3 tests, 101 loc) +- `SharedPackages/BrowserServicesKit/Tests/PrivacyConfigTests/AdClickAttributionFeatureTests.swift` (1 tests, 107 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ReferrerTrimming/ReferrerTrimmingTests.swift` (1 tests, 113 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Matchers/DeviceAttributeMatcherTests.swift` (13 tests, 113 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/PrivacyConfig/PrivacyConfigurationReferenceTests.swift` (1 tests, 114 loc) +- `SharedPackages/BrowserServicesKit/Tests/PrivacyDashboardTests/SiteLoadingPerformanceSubfeatureTests.swift` (5 tests, 119 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncCryptoTests/DDGSyncCryptoTests.swift` (4 tests, 121 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentScopeScript/TrackerProtectionSubfeatureTests.swift` (9 tests, 126 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/SecureVault/CreditCardValidationTests.swift` (5 tests, 135 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/Autofill/AutofillUserScriptSourceProviderTests.swift` (4 tests, 143 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/CrypterTests.swift` (6 tests, 143 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/PairingInfoTests.swift` (11 tests, 143 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/TrackerDataManagerTests.swift` (5 tests, 147 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/AdClickAttribution/AdClickAttributionRulesSplitterTests.swift` (4 tests, 148 loc) +- `SharedPackages/BrowserServicesKit/Tests/SuggestionsTests/ScoreTests.swift` (10 tests, 149 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/DataImport/WebsiteAccount_isDuplicateTests.swift` (17 tests, 150 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/JWECompactCodecTests.swift` (7 tests, 168 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/Autofill/Matchers/AutofillDomainNameUrlMatcherTests.swift` (21 tests, 172 loc) +- `SharedPackages/BrowserServicesKit/Tests/SuggestionsTests/SuggestionTests.swift` (9 tests, 180 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/LinkProtection/AmpMatchingTests.swift` (4 tests, 181 loc) +- `SharedPackages/BrowserServicesKit/Tests/DuckPlayerTests/DuckPlayerURLExtensionTests.swift` (12 tests, 190 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/LinkProtection/URLParameterTests.swift` (6 tests, 202 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/TrackerDataQueryExtensionTests.swift` (3 tests, 220 loc) +- `SharedPackages/BrowserServicesKit/Tests/PrivacyConfigTests/PrivacyConfigurationDataTests.swift` (4 tests, 226 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/DataImport/CSVParserTests.swift` (18 tests, 226 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/Autofill/Sort/AutofillDomainNameUrlSortTests.swift` (22 tests, 258 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/RemoteMessagingConfigProcessorTests.swift` (8 tests, 278 loc) +- `SharedPackages/BrowserServicesKit/Tests/SubscriptionTests/FreeTrialConversionWideEventDataTests.swift` (23 tests, 295 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Mappers/JsonToRemoteConfigModelMapperTests.swift` (6 tests, 370 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/PairingV2/PairingV2MessageCryptoTests.swift` (29 tests, 411 loc) +- `SharedPackages/BrowserServicesKit/Tests/AutoconsentStatsTests/AutoconsentDailyUsagePackTests.swift` (28 tests, 522 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/TrackerResolverTests.swift` (18 tests, 683 loc) +- `SharedPackages/BrowserServicesKit/Tests/SubscriptionTests/SubscriptionURLTests.swift` (50 tests, 711 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentScopeScript/TrackerProtectionEventMapperTests.swift` (37 tests, 715 loc) +- `SharedPackages/BrowserServicesKit/Tests/SubscriptionTests/API/Models/SubscriptionTests.swift` (36 tests, 803 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/SecureVault/SecureVaultModelTests.swift` (35 tests, 836 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/PairingV2/PairingV2StateMachineTests.swift` (60 tests, 970 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Mappers/JsonToRemoteMessageModelMapperTests.swift` (30 tests, 973 loc) + +### SharedPackages/Common/Tests (6) +- `SharedPackages/Common/Tests/CommonTests/DecodableHelperTests.swift` (3 tests, 44 loc) +- `SharedPackages/Common/Tests/CommonTests/Extensions/StringExtensionTests.swift` (4 tests, 45 loc) +- `SharedPackages/Common/Tests/CommonTests/DevicePlatformTests.swift` (4 tests, 58 loc) +- `SharedPackages/Common/Tests/CommonTests/Extensions/URLComponentsExtensionTests.swift` (8 tests, 130 loc) +- `SharedPackages/Common/Tests/CommonTests/TLD/TLDTests.swift` (28 tests, 168 loc) +- `SharedPackages/Common/Tests/CommonTests/ClosureSamplerTests.swift` (15 tests, 219 loc) + +### SharedPackages/DDGError/Tests (1) +- `SharedPackages/DDGError/Tests/DDGErrorTests/DDGErrorTests.swift` (15 tests, 228 loc) + +### SharedPackages/DataBrokerProtectionCore/Tests (19) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/BrokerJSONServiceProviderTests.swift` (3 tests, 37 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/DataBrokerExecutionConfigTests.swift` (4 tests, 51 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/ProfileQueryTests.swift` (4 tests, 53 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/BackgroundTaskEventTests.swift` (3 tests, 57 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/StatsPixelsTriggerTests.swift` (3 tests, 63 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/ServicesAuthHeaderBuilderTests.swift` (8 tests, 73 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/DataBrokerProtectionErrorsTests.swift` (8 tests, 84 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/MapperToModelTests+OptOutEmailConfirmationDB.swift` (2 tests, 101 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/BrokerProfileJobQueueModeTests.swift` (8 tests, 112 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/BrokerProfileQueryDataTests.swift` (8 tests, 113 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/DataBrokerScanRequiresSubscriptionTests.swift` (11 tests, 134 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/DataBrokerProtectionCustomStatsProviderTests.swift` (7 tests, 135 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/StalledOperationCalculatorTests.swift` (9 tests, 265 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/ActionsHandlerTests.swift` (19 tests, 289 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/ExtractedProfileTests.swift` (22 tests, 371 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/ActionRequestEncodingTests.swift` (18 tests, 425 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/BrokerJSONCodableTests.swift` (3 tests, 426 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/DBPUICommunicationViewModelScanStateExtensionsTests.swift` (32 tests, 611 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/OperationPreferredDateCalculatorTests.swift` (41 tests, 907 loc) + +### SharedPackages/DebugServer/Tests (3) +- `SharedPackages/DebugServer/Tests/DebugServerTests/HTTPResponseTests.swift` (6 tests, 69 loc) +- `SharedPackages/DebugServer/Tests/DebugServerTests/ResponseSerializerTests.swift` (9 tests, 106 loc) +- `SharedPackages/DebugServer/Tests/DebugServerTests/RequestParserTests.swift` (15 tests, 148 loc) + +### SharedPackages/HangMetrics/Tests (2) +- `SharedPackages/HangMetrics/Tests/HangMetricsTests/HangMetricsSubscriberTests.swift` (4 tests, 103 loc) +- `SharedPackages/HangMetrics/Tests/HangMetricsTests/HangMetricsProcessorTests.swift` (11 tests, 110 loc) + +### SharedPackages/Infrastructure/DesignResourcesKit (1) +- `SharedPackages/Infrastructure/DesignResourcesKit/Tests/DesignResourcesKitTests/DesignResourcesKitTests.swift` (1 tests, 29 loc) + +### SharedPackages/Infrastructure/SystemFrameworksExtensions (6) +- `SharedPackages/Infrastructure/SystemFrameworksExtensions/Tests/FoundationExtensionsTests/BundleExtensionTests.swift` (1 tests, 27 loc) +- `SharedPackages/Infrastructure/SystemFrameworksExtensions/Tests/FoundationExtensionsTests/LocaleExtensionsTests.swift` (3 tests, 43 loc) +- `SharedPackages/Infrastructure/SystemFrameworksExtensions/Tests/FoundationExtensionsTests/TimeIntervalConvenienceTests.swift` (6 tests, 48 loc) +- `SharedPackages/Infrastructure/SystemFrameworksExtensions/Tests/FoundationExtensionsTests/SequenceExtensionTests.swift` (6 tests, 56 loc) +- `SharedPackages/Infrastructure/SystemFrameworksExtensions/Tests/FoundationExtensionsTests/DictionaryExtensionTests.swift` (6 tests, 105 loc) +- `SharedPackages/Infrastructure/SystemFrameworksExtensions/Tests/FoundationExtensionsTests/CalendarExtensionTests.swift` (7 tests, 127 loc) + +### SharedPackages/Networking/Tests (6) +- `SharedPackages/Networking/Tests/NetworkingTests/v2/Extensions/HTTPURLResponseETagTests.swift` (5 tests, 67 loc) +- `SharedPackages/Networking/Tests/NetworkingTests/v2/Extensions/HTTPURLResponseCookiesTests.swift` (4 tests, 84 loc) +- `SharedPackages/Networking/Tests/NetworkingTests/v2/Extensions/URL+QueryParametersTests.swift` (6 tests, 95 loc) +- `SharedPackages/Networking/Tests/NetworkingTests/v2/Extensions/DictionaryURLQueryItemsTests.swift` (6 tests, 117 loc) +- `SharedPackages/Networking/Tests/NetworkingTests/Auth/TokenContainerTests.swift` (9 tests, 138 loc) +- `SharedPackages/Networking/Tests/NetworkingTests/v2/APIRequestV2Tests.swift` (5 tests, 143 loc) + +### SharedPackages/Onboarding/Sources (2) +- `SharedPackages/Onboarding/Sources/OnboardingTests/OnboardingSuggestedSitesProviderTests.swift` (10 tests, 175 loc) +- `SharedPackages/Onboarding/Sources/OnboardingTests/OnboardingSharedPixelTests.swift` (36 tests, 570 loc) + +### SharedPackages/PixelKit/Tests (1) +- `SharedPackages/PixelKit/Tests/PixelKitTests/RetryQueue/PixelRetryQueueItemTests.swift` (3 tests, 62 loc) + +### SharedPackages/VPN/Tests (23) +- `SharedPackages/VPN/Tests/VPNTests/ExponentialGeometricAverageTests.swift` (1 tests, 31 loc) +- `SharedPackages/VPN/Tests/VPNTests/KnownFailureTests.swift` (2 tests, 36 loc) +- `SharedPackages/VPN/Tests/VPNTests/ConnectionAttemptSourceTests.swift` (2 tests, 42 loc) +- `SharedPackages/VPN/Tests/VPNTests/Notifications/DistributedNotificationObjectCodersTests.swift` (1 tests, 45 loc) +- `SharedPackages/VPN/Tests/VPNTests/NetworkProtectionDataVolumeBucketsTests.swift` (4 tests, 51 loc) +- `SharedPackages/VPN/Tests/VPNTests/LeakCheck/LeakCheckHTTPClientTests.swift` (5 tests, 54 loc) +- `SharedPackages/VPN/Tests/VPNTests/TunnelConfigurationEndpointPortTests.swift` (2 tests, 55 loc) +- `SharedPackages/VPN/Tests/VPNTests/NetworkProtectionIPAddressCategoryTests.swift` (4 tests, 55 loc) +- `SharedPackages/VPN/Tests/VPNTests/PacketTunnelProviderTests.swift` (4 tests, 64 loc) +- `SharedPackages/VPN/Tests/VPNTests/NetworkProtectionConnectionBandwidthAnalyzerTests.swift` (2 tests, 65 loc) +- `SharedPackages/VPN/Tests/VPNTests/EndpointTests.swift` (5 tests, 72 loc) +- `SharedPackages/VPN/Tests/VPNTests/LeakCheck/IPAddressClassifierTests.swift` (12 tests, 80 loc) +- `SharedPackages/VPN/Tests/VPNTests/LeakCheck/STUNMessageTests.swift` (6 tests, 92 loc) +- `SharedPackages/VPN/Tests/VPNTests/NetworkProtectionServerInfoEndpointPortCandidatesTests.swift` (10 tests, 96 loc) +- `SharedPackages/VPN/Tests/VPNTests/NetworkProtectionServerInfoTests.swift` (4 tests, 108 loc) +- `SharedPackages/VPN/Tests/VPNTests/Status/VPNEnabledObserverTests.swift` (10 tests, 117 loc) +- `SharedPackages/VPN/Tests/VPNTests/LeakCheck/VPNIPLeakCheckWideEventDataTests.swift` (8 tests, 146 loc) +- `SharedPackages/VPN/Tests/VPNTests/Routing/VPNRoutingMathematicsTests.swift` (7 tests, 189 loc) +- `SharedPackages/VPN/Tests/VPNTests/Subscription/VPNSubscriptionClientCheckPixelTests.swift` (15 tests, 211 loc) +- `SharedPackages/VPN/Tests/VPNTests/Subscription/VPNSubscriptionStatusPixelTests.swift` (19 tests, 295 loc) +- `SharedPackages/VPN/Tests/VPNTests/Routing/VPNRoutingRangeTests.swift` (12 tests, 305 loc) +- `SharedPackages/VPN/Tests/VPNTests/Routing/VPNRoutingTableResolverTests.swift` (14 tests, 320 loc) +- `SharedPackages/VPN/Tests/VPNTests/Routing/VPNRoutingIntegrationTests.swift` (12 tests, 527 loc) + +### SharedPackages/WebExtensions/Tests (6) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/WebExtensionPixelExtensionTests.swift` (2 tests, 39 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/NativeMessagingFramingTests.swift` (5 tests, 68 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/WebExtensionAPICompatibilityLogTests.swift` (6 tests, 89 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/Scriptlets/ScriptletPathSafetyTests.swift` (13 tests, 98 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/WebExtensionAPICompatibilityClassifierTests.swift` (20 tests, 187 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/ChromeWebStorePackageVerifierTests.swift` (17 tests, 230 loc) + +### iOS/DuckDuckGoTests (79) +- `iOS/DuckDuckGoTests/AIChat/AIChatContextualSheetViewControllerTests.swift` (1 tests, 32 loc) +- `iOS/DuckDuckGoTests/SERPSettingsViewPageTests.swift` (1 tests, 32 loc) +- `iOS/DuckDuckGoTests/ImproveOnboardingExperiment1Tests.swift` (1 tests, 35 loc) +- `iOS/DuckDuckGoTests/BrowsingMenu/BrowsingMenuSheetCapabilityTests.swift` (2 tests, 39 loc) +- `iOS/DuckDuckGoTests/FaviconSourcesProviderTests.swift` (2 tests, 39 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/UnifiedInputTextChangeGateTests.swift` (3 tests, 40 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/UpdatedModelPickerFeatureTests.swift` (2 tests, 41 loc) +- `iOS/DuckDuckGoTests/UserScriptErrorTests.swift` (1 tests, 42 loc) +- `iOS/DuckDuckGoTests/UIFontExtensionTests.swift` (4 tests, 43 loc) +- `iOS/DuckDuckGoTests/UnifiedDeviceListPixelHandlerTests.swift` (1 tests, 44 loc) +- `iOS/DuckDuckGoTests/LaunchTabNotificationTests.swift` (2 tests, 45 loc) +- `iOS/DuckDuckGoTests/HomePageDisplayDailyPixelBucketTests.swift` (1 tests, 48 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/TabInputStateTests.swift` (3 tests, 48 loc) +- `iOS/DuckDuckGoTests/APIHeadersTests.swift` (2 tests, 51 loc) +- `iOS/DuckDuckGoTests/AppPrivacyConfigurationTests.swift` (2 tests, 52 loc) +- `iOS/DuckDuckGoTests/AIChat/DuckAIVoiceControlWidgetTests.swift` (3 tests, 52 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/AITabChromeDecisionTests.swift` (2 tests, 53 loc) +- `iOS/DuckDuckGoTests/AppWidthObserverTests.swift` (4 tests, 53 loc) +- `iOS/DuckDuckGoTests/AIChat/AIChatTextSelectionActionTests.swift` (6 tests, 54 loc) +- `iOS/DuckDuckGoTests/NetworkProtectionStatusViewTintSpecTests.swift` (1 tests, 56 loc) +- `iOS/DuckDuckGoTests/TabEvictionSettingsTests.swift` (2 tests, 56 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/MultiTabMentionTokenTests.swift` (3 tests, 56 loc) +- `iOS/DuckDuckGoTests/AppServices/InactivityNotificationStateStoreTests.swift` (4 tests, 56 loc) +- `iOS/DuckDuckGoTests/BookmarkOrFolderTests.swift` (5 tests, 56 loc) +- `iOS/DuckDuckGoTests/AIChat/AIVoiceChatIntentTests.swift` (5 tests, 58 loc) +- `iOS/DuckDuckGoTests/TabViewControllerSiteLoadingPixelTests.swift` (4 tests, 61 loc) +- `iOS/DuckDuckGoTests/BackForwardMenuHistoryItemURLSanitizerTests.swift` (5 tests, 61 loc) +- `iOS/DuckDuckGoTests/Autocomplete/SuggestionListKeyboardSelectionTests.swift` (9 tests, 61 loc) +- `iOS/DuckDuckGoTests/AutofillInterfaceUsernameTruncatorTests.swift` (5 tests, 64 loc) +- `iOS/DuckDuckGoTests/SearchToken/SearchTokenExperimentSettingsTests.swift` (5 tests, 65 loc) +- `iOS/DuckDuckGoTests/DomainMatchingReportTests.swift` (1 tests, 66 loc) +- `iOS/DuckDuckGoTests/AtbParserTests.swift` (6 tests, 66 loc) +- `iOS/DuckDuckGoTests/SettingsDeepLinkSectionTests.swift` (6 tests, 66 loc) +- `iOS/DuckDuckGoTests/ExternalUrlSchemeTests.swift` (7 tests, 66 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/MultiTabAttachmentCandidateFilterTests.swift` (4 tests, 69 loc) +- `iOS/DuckDuckGoTests/Subscription/URL+QueryParametersTests.swift` (9 tests, 70 loc) +- `iOS/DuckDuckGoTests/LaunchTimeMetricsSubscriberTests.swift` (2 tests, 72 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/UnifiedToggleInputToggleViewTests.swift` (5 tests, 74 loc) +- `iOS/DuckDuckGoTests/DataImport/ImportPasswordSourceTests.swift` (7 tests, 74 loc) +- `iOS/DuckDuckGoTests/Subscription/AsyncHeadlessWebViewSettingsTests.swift` (3 tests, 75 loc) +- `iOS/DuckDuckGoTests/HomeScreenTransitionGeometryTests.swift` (4 tests, 75 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/ToolbarVisibilityDecisionTests.swift` (5 tests, 75 loc) +- `iOS/DuckDuckGoTests/Subscription/SubscriptionExperimentAttributionProviderTests.swift` (3 tests, 78 loc) +- `iOS/DuckDuckGoTests/OmniBarLoadingStateBearerTests.swift` (3 tests, 79 loc) +- `iOS/DuckDuckGoTests/AIChat/AIChatContextualQuickActionTests.swift` (11 tests, 80 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/Suggestions/SuggestionRowMapperTests.swift` (7 tests, 87 loc) +- `iOS/DuckDuckGoTests/SupportedOSCheckerTests.swift` (9 tests, 91 loc) +- `iOS/DuckDuckGoTests/ToggleMode/DefaultTogglePositionTests.swift` (9 tests, 93 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/Suggestions/UnifiedSuggestionsContentResolverTests.swift` (9 tests, 93 loc) +- `iOS/DuckDuckGoTests/DomainMatchingTests.swift` (1 tests, 95 loc) +- `iOS/DuckDuckGoTests/LaunchTimeMetricsProcessorTests.swift` (9 tests, 96 loc) +- `iOS/DuckDuckGoTests/DaxDialogsBrowsingSpecTests.swift` (6 tests, 102 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/Suggestions/FocusedLogoModelTests.swift` (9 tests, 102 loc) +- `iOS/DuckDuckGoTests/SearchToken/SerpSearchTokenInterceptorTests.swift` (13 tests, 109 loc) +- `iOS/DuckDuckGoTests/LinkTests.swift` (13 tests, 117 loc) +- `iOS/DuckDuckGoTests/TabSwitcherStaticButtonTests.swift` (10 tests, 119 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/Suggestions/UnifiedSuggestionsInputsMergerTests.swift` (9 tests, 123 loc) +- `iOS/DuckDuckGoTests/AddressDisplayHelperTests.swift` (10 tests, 133 loc) +- `iOS/DuckDuckGoTests/OmniBarEqualityCheckTests.swift` (6 tests, 147 loc) +- `iOS/DuckDuckGoTests/IPadOmnibarFocusModelTests.swift` (19 tests, 148 loc) +- `iOS/DuckDuckGoTests/AIChat/AIBoundaryNavigationDecisionTests.swift` (12 tests, 160 loc) +- `iOS/DuckDuckGoTests/TabViewControllerHTTPSForcedTests.swift` (13 tests, 160 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/UnifiedToggleInputAttachmentEncoderTests.swift` (16 tests, 161 loc) +- `iOS/DuckDuckGoTests/WebViewTransitionGeometryTests.swift` (20 tests, 166 loc) +- `iOS/DuckDuckGoTests/AIChat/DuckAIAddressBarEntryTests.swift` (19 tests, 169 loc) +- `iOS/DuckDuckGoTests/URLExtensionTests.swift` (27 tests, 177 loc) +- `iOS/DuckDuckGoTests/Subscription/SubscriptionFlowTypeTests.swift` (11 tests, 183 loc) +- `iOS/DuckDuckGoTests/AIChat/DuckAIGridItemTests.swift` (16 tests, 191 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/MainViewControllerRefreshActionTests.swift` (12 tests, 199 loc) +- `iOS/DuckDuckGoTests/SwitchBar/SwitchBarSubmissionMetricsTests.swift` (22 tests, 204 loc) +- `iOS/DuckDuckGoTests/NewBadge/NewBadgeVisibilityManagerTests.swift` (10 tests, 218 loc) +- `iOS/DuckDuckGoTests/StringExtensionTests.swift` (18 tests, 222 loc) +- `iOS/DuckDuckGoTests/TabSwitcherOpenDailyPixelTests.swift` (8 tests, 253 loc) +- `iOS/DuckDuckGoTests/AutofillLoginPromptViewModelTests.swift` (19 tests, 330 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/Footer/UTIFooterMessageMapperTests.swift` (32 tests, 338 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/UnifiedToggleInputModelMenuTests.swift` (20 tests, 340 loc) +- `iOS/DuckDuckGoTests/TabsModelTests.swift` (46 tests, 487 loc) +- `iOS/DuckDuckGoTests/DataImport/CredentialExchangeImportHandlerTests.swift` (13 tests, 555 loc) +- `iOS/DuckDuckGoTests/UnifiedToggleInput/UTIAttachmentPolicyTests.swift` (61 tests, 655 loc) + +### iOS/LocalPackages/AppRouting (2) +- `iOS/LocalPackages/AppRouting/Tests/AppRoutingTests/AppDeepLinksTests.swift` (16 tests, 97 loc) +- `iOS/LocalPackages/AppRouting/Tests/AppRoutingTests/URLInputClassifierTests.swift` (18 tests, 140 loc) + +### iOS/LocalPackages/DataBrokerProtection-iOS (3) +- `iOS/LocalPackages/DataBrokerProtection-iOS/Tests/DataBrokerProtection-iOSTests/FreemiumDBPPurchaseURLRouterTests.swift` (6 tests, 89 loc) +- `iOS/LocalPackages/DataBrokerProtection-iOS/Tests/DataBrokerProtection-iOSTests/DBPContinuedProcessingPlanBuilderTests.swift` (3 tests, 133 loc) +- `iOS/LocalPackages/DataBrokerProtection-iOS/Tests/DataBrokerProtection-iOSTests/DBPContinuedProcessingProgressReporterTests.swift` (6 tests, 153 loc) + +### iOS/LocalPackages/FeatureFlags-iOS (1) +- `iOS/LocalPackages/FeatureFlags-iOS/Tests/FeatureFlagsTests/FeatureFlagsTests.swift` (11 tests, 197 loc) + +### iOS/LocalPackages/SitePermissions (4) +- `iOS/LocalPackages/SitePermissions/Tests/SitePermissionsTests/SitePermissionSecurityOriginTests.swift` (3 tests, 74 loc) +- `iOS/LocalPackages/SitePermissions/Tests/SitePermissionsTests/SitePermissionsEventTests.swift` (4 tests, 83 loc) +- `iOS/LocalPackages/SitePermissions/Tests/SitePermissionsTests/SitePermissionKeyTests.swift` (9 tests, 91 loc) +- `iOS/LocalPackages/SitePermissions/Tests/SitePermissionsTests/PermissionsPolicyTests.swift` (11 tests, 140 loc) + +### iOS/WebViewUnitTests (2) +- `iOS/WebViewUnitTests/CookieStorageTests.swift` (1 tests, 81 loc) +- `iOS/WebViewUnitTests/DataStoreIDManagerTests.swift` (7 tests, 93 loc) + +### macOS/LocalPackages/AddressBarPerformance (2) +- `macOS/LocalPackages/AddressBarPerformance/Tests/AddressBarPerformanceTests/AddressBarPerformancePaintHookTests.swift` (3 tests, 48 loc) +- `macOS/LocalPackages/AddressBarPerformance/Tests/AddressBarPerformanceTests/AddressBarPerformanceBucketingTests.swift` (12 tests, 126 loc) + +### macOS/LocalPackages/AppKitExtensions (2) +- `macOS/LocalPackages/AppKitExtensions/Tests/AppKitExtensionsTests/NSMenuItemExtensionTests.swift` (2 tests, 56 loc) +- `macOS/LocalPackages/AppKitExtensions/Tests/AppKitExtensionsTests/AverageBrightnessTests.swift` (1 tests, 66 loc) + +### macOS/LocalPackages/AppLauncher (1) +- `macOS/LocalPackages/AppLauncher/Tests/AppLauncherTests/AppLauncherTests.swift` (0 tests, 24 loc) + +### macOS/LocalPackages/AppUpdater (4) +- `macOS/LocalPackages/AppUpdater/Tests/SparkleAppUpdaterTests/SparkleUpdateControllerTests.swift` (4 tests, 63 loc) +- `macOS/LocalPackages/AppUpdater/Tests/AppUpdaterSharedTests/ReleaseNotesParserTests.swift` (10 tests, 176 loc) +- `macOS/LocalPackages/AppUpdater/Tests/AppUpdaterSharedTests/UpdateModelTests.swift` (8 tests, 189 loc) +- `macOS/LocalPackages/AppUpdater/Tests/SparkleAppUpdaterTests/UpdateWideEventDataTests.swift` (15 tests, 446 loc) + +### macOS/LocalPackages/BWIntegration (6) +- `macOS/LocalPackages/BWIntegration/Tests/BWManagementTests/RunningApplicationCheckTests.swift` (2 tests, 39 loc) +- `macOS/LocalPackages/BWIntegration/Tests/BWManagementTests/BWRetryIntervalTests.swift` (2 tests, 45 loc) +- `macOS/LocalPackages/BWIntegration/Tests/BWManagementSharedTests/BWRequestTests.swift` (2 tests, 46 loc) +- `macOS/LocalPackages/BWIntegration/Tests/BWManagementSharedTests/BWMessageIdGeneratorTests.swift` (3 tests, 48 loc) +- `macOS/LocalPackages/BWIntegration/Tests/BWManagementTests/NativeMessagingCommunicatorTests.swift` (3 tests, 75 loc) +- `macOS/LocalPackages/BWIntegration/Tests/BWManagementSharedTests/BWResponseTests.swift` (8 tests, 144 loc) + +### macOS/LocalPackages/DataBrokerProtection-macOS (5) +- `macOS/LocalPackages/DataBrokerProtection-macOS/Tests/DataBrokerProtection-macOSTests/MemoryUsageMonitorTests.swift` (1 tests, 51 loc) +- `macOS/LocalPackages/DataBrokerProtection-macOS/Tests/DataBrokerProtection-macOSTests/CPUUsageMonitorTests.swift` (1 tests, 58 loc) +- `macOS/LocalPackages/DataBrokerProtection-macOS/Tests/DataBrokerProtection-macOSTests/ResourceUsagePixelReporterTests.swift` (2 tests, 116 loc) +- `macOS/LocalPackages/DataBrokerProtection-macOS/Tests/DataBrokerProtection-macOSTests/DataBrokerProtectionInMemoryCacheTests.swift` (9 tests, 117 loc) +- `macOS/LocalPackages/DataBrokerProtection-macOS/Tests/DataBrokerProtection-macOSTests/DBPUICommunicationModelTests.swift` (14 tests, 420 loc) + +### macOS/LocalPackages/HistoryView (2) +- `macOS/LocalPackages/HistoryView/Tests/HistoryViewTests/VisitIdentifierTests.swift` (2 tests, 40 loc) +- `macOS/LocalPackages/HistoryView/Tests/HistoryViewTests/HistoryRangeExtensionTests.swift` (9 tests, 101 loc) + +### macOS/LocalPackages/NetworkProtectionMac (7) +- `macOS/LocalPackages/NetworkProtectionMac/Tests/NetworkProtectionUITests/OnboardingStatusTests.swift` (1 tests, 42 loc) +- `macOS/LocalPackages/NetworkProtectionMac/Tests/NetworkProtectionProxyTests/OrphanProxyBucketTests.swift` (2 tests, 48 loc) +- `macOS/LocalPackages/NetworkProtectionMac/Tests/NetworkProtectionProxyTests/TransparentProxyProviderExclusionTests.swift` (7 tests, 57 loc) +- `macOS/LocalPackages/NetworkProtectionMac/Tests/NetworkProtectionProxyTests/TransparentProxyProviderPixelTests.swift` (1 tests, 65 loc) +- `macOS/LocalPackages/NetworkProtectionMac/Tests/NetworkProtectionUITests/NetworkProtectionAssetTests.swift` (1 tests, 67 loc) +- `macOS/LocalPackages/NetworkProtectionMac/Tests/NetworkProtectionProxyTests/OrphanProxyDecisionTests.swift` (8 tests, 116 loc) +- `macOS/LocalPackages/NetworkProtectionMac/Tests/NetworkProtectionProxyTests/TransparentProxyControllerPixelTests.swift` (2 tests, 126 loc) + +### macOS/LocalPackages/NetworkQualityMonitor (1) +- `macOS/LocalPackages/NetworkQualityMonitor/Tests/NetworkQualityMonitorTests/NetworkQualityMonitorTests.swift` (16 tests, 285 loc) + +### macOS/LocalPackages/NewTabPage (2) +- `macOS/LocalPackages/NewTabPage/Tests/NewTabPageTests/NewTabPageUserScriptTests.swift` (2 tests, 69 loc) +- `macOS/LocalPackages/NewTabPage/Tests/NewTabPageTests/NewTabPageDataModelSuggestionTests.swift` (7 tests, 95 loc) + +### macOS/LocalPackages/PerformanceTest (2) +- `macOS/LocalPackages/PerformanceTest/Tests/PerformanceTestTests/CoreWebVitalsAssessmentTests.swift` (5 tests, 54 loc) +- `macOS/LocalPackages/PerformanceTest/Tests/PerformanceTestTests/DetailedPerformanceMetricsTests.swift` (8 tests, 211 loc) + +### macOS/LocalPackages/UDSHelper (1) +- `macOS/LocalPackages/UDSHelper/Tests/UDSHelperTests/UDSMessageTests.swift` (1 tests, 46 loc) + +### macOS/UnitTests (83) +- `macOS/UnitTests/NetworkProtection/VPNUninstallerTests.swift` (1 tests, 31 loc) +- `macOS/UnitTests/UserAgent/Services/SafariVersionReaderTests.swift` (1 tests, 31 loc) +- `macOS/UnitTests/UserAgent/Services/WebKitVersionProviderTests.swift` (1 tests, 31 loc) +- `macOS/UnitTests/Common/Extensions/BundleExtensionTests.swift` (1 tests, 38 loc) +- `macOS/UnitTests/HomePage/ColorSchemeLosslessStringConvertibleExtensionTests.swift` (2 tests, 38 loc) +- `macOS/UnitTests/Common/Utilities/UserScriptErrorTests.swift` (1 tests, 40 loc) +- `macOS/UnitTests/Common/FileSystem/EncryptionKeyGeneratorTests.swift` (2 tests, 40 loc) +- `macOS/UnitTests/DataImport/ChromiumFaviconsReaderTests.swift` (1 tests, 42 loc) +- `macOS/UnitTests/DataImport/FirefoxFaviconsReaderTests.swift` (1 tests, 42 loc) +- `macOS/UnitTests/DataImport/ChromiumBookmarksReaderTests.swift` (1 tests, 43 loc) +- `macOS/UnitTests/DataImport/SafariBookmarksReaderTests.swift` (1 tests, 43 loc) +- `macOS/UnitTests/DefaultBrowserAndAddToDockPrompts/DefaultBrowserAndDockPromptNotificationPresenterTests.swift` (1 tests, 43 loc) +- `macOS/UnitTests/Sync/UnifiedDeviceListPixelHandlerTests.swift` (1 tests, 43 loc) +- `macOS/UnitTests/Common/Extensions/WKWebsiteDataStoreExtensionTests.swift` (2 tests, 43 loc) +- `macOS/UnitTests/Statistics/ATB/AtbParserTests.swift` (3 tests, 47 loc) +- `macOS/UnitTests/Permissions/PermissionTypeTests.swift` (4 tests, 47 loc) +- `macOS/UnitTests/TabExtensionsTests/SpecialErrorPageUserScriptTests.swift` (2 tests, 49 loc) +- `macOS/UnitTests/Subscription/URL+SubscriptionAttributionTests.swift` (3 tests, 50 loc) +- `macOS/UnitTests/ContentBlocker/AppPrivacyConfigurationTests.swift` (2 tests, 52 loc) +- `macOS/UnitTests/PasswordManagers/PasswordManagerCoordinatorTests.swift` (4 tests, 56 loc) +- `macOS/UnitTests/Common/Extensions/ArrayExtensionTests.swift` (7 tests, 58 loc) +- `macOS/UnitTests/Common/Utilities/ApplicationBuildTypeChannelTests.swift` (6 tests, 60 loc) +- `macOS/UnitTests/HomePage/UserBackgroundImageTests.swift` (3 tests, 62 loc) +- `macOS/UnitTests/AttributedMetric/DefaultInstallOriginVariantProviderTests.swift` (4 tests, 63 loc) +- `macOS/UnitTests/WebExtensions/WebExtensionPixelTests.swift` (4 tests, 63 loc) +- `macOS/UnitTests/Tab/Model/TabContentDisplayTitleTests.swift` (7 tests, 63 loc) +- `macOS/UnitTests/AIChat/DuckAIPromptSurfaceTests.swift` (5 tests, 64 loc) +- `macOS/UnitTests/Common/Extensions/HTTPCookieTests.swift` (1 tests, 66 loc) +- `macOS/UnitTests/TabBar/ViewModel/AdjacentItemEnumeratorTests.swift` (4 tests, 67 loc) +- `macOS/UnitTests/AIChat/AIChatTabSelectionDiffTests.swift` (5 tests, 71 loc) +- `macOS/UnitTests/Common/FileSystem/DataEncryptionTests.swift` (4 tests, 73 loc) +- `macOS/UnitTests/Feedback/QuickFeedback/AppVersionModelDistributionLabelTests.swift` (4 tests, 73 loc) +- `macOS/UnitTests/DataImport/FirefoxBookmarksReaderTests.swift` (2 tests, 75 loc) +- `macOS/UnitTests/Statistics/NewTabPagePixelTests.swift` (4 tests, 75 loc) +- `macOS/UnitTests/Promotions/PromoHistoryRecordTests.swift` (6 tests, 75 loc) +- `macOS/UnitTests/MainWindow/InitialWindowFrameProviderTests.swift` (4 tests, 78 loc) +- `macOS/UnitTests/AppHealth/StartupMetricsBucketsTests.swift` (4 tests, 80 loc) +- `macOS/UnitTests/NavigationBar/NavigationBarUrlExtensionsTests.swift` (1 tests, 86 loc) +- `macOS/UnitTests/HomePage/CustomBackgroundTests.swift` (6 tests, 89 loc) +- `macOS/UnitTests/PromptBar/PromptBarPlacementTests.swift` (8 tests, 89 loc) +- `macOS/UnitTests/Common/Extensions/StringExtensionTests.swift` (4 tests, 100 loc) +- `macOS/UnitTests/Bookmarks/Model/PasteboardBookmarkTests.swift` (6 tests, 100 loc) +- `macOS/UnitTests/Onboarding/ContextualOnboarding/OnboardingSubscriptionUpsellExperimentTests.swift` (5 tests, 101 loc) +- `macOS/UnitTests/Bookmarks/Model/PasteboardFolderTests.swift` (8 tests, 104 loc) +- `macOS/UnitTests/Onboarding/ContextualOnboarding/ViewHighlighterTests.swift` (5 tests, 105 loc) +- `macOS/UnitTests/Bookmarks/ViewModels/BookmarksSortModeTests.swift` (7 tests, 109 loc) +- `macOS/UnitTests/UserChurn/UserChurnPixelTests.swift` (10 tests, 110 loc) +- `macOS/UnitTests/Promotions/PromoTypeTests.swift` (4 tests, 112 loc) +- `macOS/UnitTests/TabBar/Tools/LoadingIndicatorPolicyTests.swift` (9 tests, 112 loc) +- `macOS/UnitTests/Common/FileSystem/EncryptedValueTransformerTests.swift` (4 tests, 113 loc) +- `macOS/UnitTests/UserAgent/Model/UserAgentTests.swift` (7 tests, 117 loc) +- `macOS/UnitTests/ErrorPage/ErrorPageHTMLFactoryTests.swift` (9 tests, 118 loc) +- `macOS/UnitTests/TabBar/Tools/TitleDisplayPolicyTests.swift` (13 tests, 121 loc) +- `macOS/UnitTests/History/View/HistoryQueryKindExtensionTests.swift` (6 tests, 125 loc) +- `macOS/UnitTests/AIChat/AIChatAddressBarPromptExtractorTests.swift` (8 tests, 127 loc) +- `macOS/UnitTests/Favicons/FaviconTests.swift` (10 tests, 129 loc) +- `macOS/UnitTests/AIChat/AIChatMentionTokenDetectorTests.swift` (20 tests, 144 loc) +- `macOS/UnitTests/AppHealth/StartupMetricsTests.swift` (13 tests, 145 loc) +- `macOS/UnitTests/DataImport/InstructionsFormatParserTests.swift` (10 tests, 146 loc) +- `macOS/UnitTests/Statistics/ATB/VariantManagerTests.swift` (10 tests, 154 loc) +- `macOS/UnitTests/AppHealth/TrackerProtectionMemoryGuardrailTests.swift` (3 tests, 161 loc) +- `macOS/UnitTests/SecureVault/PasswordManagementListSectionTests.swift` (8 tests, 161 loc) +- `macOS/UnitTests/AppHealth/MemoryReportingBucketsTests.swift` (13 tests, 162 loc) +- `macOS/UnitTests/AIChat/AIChatUsageWarningCopyTests.swift` (14 tests, 165 loc) +- `macOS/UnitTests/AIChat/AIChatMentionPickerFilterTests.swift` (12 tests, 171 loc) +- `macOS/UnitTests/DataExport/CSVLoginExporterTests.swift` (4 tests, 173 loc) +- `macOS/UnitTests/Tab/Model/TabContentCapabilityTests.swift` (12 tests, 175 loc) +- `macOS/UnitTests/PrivacyReferenceTests/BrokenSiteReportingReferenceTests.swift` (1 tests, 191 loc) +- `macOS/UnitTests/JSAlert/JSAlertViewModelTests.swift` (12 tests, 196 loc) +- `macOS/UnitTests/Permissions/PermissionAuthorizationTypeTests.swift` (32 tests, 200 loc) +- `macOS/UnitTests/DefaultBrowserAndAddToDockPrompts/DefaultBrowserAndDockPromptPixelEventTests.swift` (1 tests, 212 loc) +- `macOS/UnitTests/Feedback/Model/FeedbackTests.swift` (11 tests, 218 loc) +- `macOS/UnitTests/Common/OSVersion/SupportedOSCheckerTests.swift` (15 tests, 237 loc) +- `macOS/UnitTests/AppHealth/MemoryUsageIntervalPixelTests.swift` (10 tests, 241 loc) +- `macOS/UnitTests/AppHealth/StartupMetricsPixelTests.swift` (25 tests, 242 loc) +- `macOS/UnitTests/Suggestions/ViewModel/SuggestionViewModelTests.swift` (24 tests, 268 loc) +- `macOS/UnitTests/Model/FeedbackTests.swift` (15 tests, 271 loc) +- `macOS/UnitTests/Bookmarks/Model/BookmarkListTests.swift` (13 tests, 288 loc) +- `macOS/UnitTests/WebsiteBreakageReport/WebsiteBreakageReportTests.swift` (7 tests, 289 loc) +- `macOS/UnitTests/Bookmarks/Model/BaseBookmarkEntityTests.swift` (20 tests, 292 loc) +- `macOS/UnitTests/AIChat/BrowserTools/BrowserToolsWireFormatTests.swift` (20 tests, 301 loc) +- `macOS/UnitTests/Model/ProblemCategoryTests.swift` (22 tests, 302 loc) +- `macOS/UnitTests/DataImport/BrowserProfileTests.swift` (16 tests, 315 loc) + +## Full list: setUp-only files + + +### SharedPackages/AIChat/Tests (9) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatPayloadHandlerTests.swift` (3 tests, 64 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatPageContextHandlerTests.swift` (3 tests, 88 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatQuickActionsViewTests.swift` (5 tests, 101 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/UsageWarnings/DuckAIHighUsageModelNoticeResolverTests.swift` (10 tests, 109 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/ReasoningModeAccessResolverTests.swift` (6 tests, 110 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/NativeStorage/DuckAiNativeStorageBootstrapUserScriptTests.swift` (12 tests, 128 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatQuickActionChipViewTests.swift` (7 tests, 135 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/UsageWarnings/DuckAiUsageWarningResolverTests.swift` (21 tests, 268 loc) +- `SharedPackages/AIChat/Tests/AIChatTests/AIChatSuggestionsViewModelTests.swift` (26 tests, 445 loc) + +### SharedPackages/AttributedMetric/Tests (3) +- `SharedPackages/AttributedMetric/Tests/AttributedMetricTests/RollingArrayTests.swift` (10 tests, 287 loc) +- `SharedPackages/AttributedMetric/Tests/AttributedMetricTests/RollingEightDaysBoolTests.swift` (13 tests, 291 loc) +- `SharedPackages/AttributedMetric/Tests/AttributedMetricTests/RollingEightDaysIntTests.swift` (27 tests, 479 loc) + +### SharedPackages/BrowserServicesKit/Tests (25) +- `SharedPackages/BrowserServicesKit/Tests/SyncDataProvidersTests/Credentials/SyncableCredentialsValidationTests.swift` (6 tests, 77 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/GPC/GPCTests.swift` (6 tests, 80 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Matchers/DesktopAppAttributeMatcherTests.swift` (5 tests, 92 loc) +- `SharedPackages/BrowserServicesKit/Tests/PixelExperimentKitTests/TDSOverrideExperimentMetricsTests.swift` (4 tests, 102 loc) +- `SharedPackages/BrowserServicesKit/Tests/ConfigurationTests/ConfigurationValidatorTests.swift` (5 tests, 109 loc) +- `SharedPackages/BrowserServicesKit/Tests/SubscriptionTests/FreeTrials/FreeTrialBadgePersistorTests.swift` (7 tests, 112 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/Autofill/Matchers/AutofillWebsiteAccountMatcherTests.swift` (8 tests, 115 loc) +- `SharedPackages/BrowserServicesKit/Tests/SyncDataProvidersTests/CreditCards/SyncableCreditCardsValidationTests.swift` (7 tests, 123 loc) +- `SharedPackages/BrowserServicesKit/Tests/SubscriptionTests/DuckDuckGoSubscriptionTests.swift` (8 tests, 130 loc) +- `SharedPackages/BrowserServicesKit/Tests/MaliciousSiteProtectionTests/MaliciousSiteProtectionFeatureFlagsTests.swift` (7 tests, 133 loc) +- `SharedPackages/BrowserServicesKit/Tests/PageRefreshMonitorTests/PageRefreshMonitorTests.swift` (11 tests, 145 loc) +- `SharedPackages/BrowserServicesKit/Tests/SyncDataProvidersTests/Identities/SyncableIdentitiesValidationTests.swift` (14 tests, 150 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/Subscription/PerformanceOptimizedPaywallsProviderTests.swift` (7 tests, 158 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/RemoteMessagingProcessingTests.swift` (4 tests, 169 loc) +- `SharedPackages/BrowserServicesKit/Tests/MaliciousSiteProtectionTests/MaliciousSiteProtectionAPIClientTests.swift` (7 tests, 183 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/Subscription/PartnershipsHubProviderTests.swift` (11 tests, 187 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Matchers/CommonAppAttributeMatcherTests.swift` (20 tests, 187 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Matchers/DesktopUserAttributeMatcherTests.swift` (23 tests, 243 loc) +- `SharedPackages/BrowserServicesKit/Tests/SubscriptionTests/Managers/SubscriptionTierOptionsProviderTests.swift` (11 tests, 251 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Matchers/MobileUserAttributeMatcherTests.swift` (25 tests, 273 loc) +- `SharedPackages/BrowserServicesKit/Tests/DDGSyncTests/PairingV2/PairingV2MessageExchangerTests.swift` (16 tests, 289 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/SecureVault/SecureVaultTests.swift` (21 tests, 426 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/Matchers/CommonUserAttributeMatcherTests.swift` (80 tests, 565 loc) +- `SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/DataImport/SecureVaultCreditCardImporterTests.swift` (15 tests, 656 loc) +- `SharedPackages/BrowserServicesKit/Tests/RemoteMessagingTests/RemoteMessagingConfigMatcherTests.swift` (44 tests, 1178 loc) + +### SharedPackages/Common/Tests (2) +- `SharedPackages/Common/Tests/CommonTests/AppVersionExtensionTests.swift` (4 tests, 67 loc) +- `SharedPackages/Common/Tests/CommonTests/AppVersionTests.swift` (11 tests, 98 loc) + +### SharedPackages/DataBrokerProtectionCore/Tests (9) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/ScanWideEventRecorderTests.swift` (7 tests, 177 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/MismatchCalculatorUseCaseTests.swift` (5 tests, 194 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/DataBrokerProtectionEngagementPixelsTests.swift` (12 tests, 202 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/RecordFoundDateResolverTests.swift` (8 tests, 285 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/BrokerProfileJobProviderTests.swift` (7 tests, 339 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/DataBrokerProtectionStageDurationCalculatorTests.swift` (17 tests, 365 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/MapperToModelTests.swift` (10 tests, 386 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/LocalBrokerJSONServiceTests.swift` (17 tests, 465 loc) +- `SharedPackages/DataBrokerProtectionCore/Tests/DataBrokerProtectionCoreTests/DataBrokerProtectionEventPixelsTests.swift` (16 tests, 490 loc) + +### SharedPackages/DebugServer/Tests (1) +- `SharedPackages/DebugServer/Tests/DebugServerTests/RouteMatchingTests.swift` (4 tests, 59 loc) + +### SharedPackages/Networking/Tests (2) +- `SharedPackages/Networking/Tests/NetworkingTests/Auth/TokenRefresherTests.swift` (14 tests, 241 loc) +- `SharedPackages/Networking/Tests/NetworkingTests/Auth/OAuthClientTests.swift` (28 tests, 582 loc) + +### SharedPackages/WebExtensions/Tests (6) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/Scriptlets/ScriptletSignatureValidatorTests.swift` (7 tests, 142 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/WebExtensionAPICompatibilityMessageHandlerTests.swift` (12 tests, 146 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/WebExtensionImportScriptsShimTests.swift` (6 tests, 180 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/InstalledWebExtensionStoreTests.swift` (16 tests, 224 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/WebExtensionAPICompatibilityScriptTests.swift` (12 tests, 252 loc) +- `SharedPackages/WebExtensions/Tests/WebExtensionsTests/WebExtensionAPIStubScriptTests.swift` (95 tests, 1783 loc) + +### iOS/DuckDuckGoTests (31) +- `iOS/DuckDuckGoTests/UniversalOmniBarStateTests.swift` (0 tests, 39 loc) +- `iOS/DuckDuckGoTests/SearchToken/SearchTokenExperimentTests.swift` (3 tests, 54 loc) +- `iOS/DuckDuckGoTests/DaxDialogsOnboardingMigratorTests.swift` (2 tests, 62 loc) +- `iOS/DuckDuckGoTests/PageRefreshMonitor/PageRefreshMonitorExtensionTests.swift` (4 tests, 66 loc) +- `iOS/DuckDuckGoTests/FaviconRequestModifierTests.swift` (1 tests, 74 loc) +- `iOS/DuckDuckGoTests/DataImport/DataImportEntryPointHandlerTests.swift` (4 tests, 74 loc) +- `iOS/DuckDuckGoTests/AutofillNeverPromptWebsitesManagerTests.swift` (5 tests, 85 loc) +- `iOS/DuckDuckGoTests/AtbAndVariantCleanupTests.swift` (4 tests, 92 loc) +- `iOS/DuckDuckGoTests/OnboardingSearchExperiencePickerViewModelTests.swift` (5 tests, 105 loc) +- `iOS/DuckDuckGoTests/AutofillSurveyManagerTests.swift` (5 tests, 118 loc) +- `iOS/DuckDuckGoTests/DaxEasterEggLogos/DaxEasterEggLogoCacheTests.swift` (7 tests, 143 loc) +- `iOS/DuckDuckGoTests/Subscription/FreeTrials/VPNSubscriptionPromotionHelperTests.swift` (8 tests, 148 loc) +- `iOS/DuckDuckGoTests/SwitchBar/SessionStateMetricsTests.swift` (8 tests, 154 loc) +- `iOS/DuckDuckGoTests/BrowsingMenu/BrowsingMenuHeaderDataSourceTests.swift` (13 tests, 164 loc) +- `iOS/DuckDuckGoTests/Telemetry/ProductSurfaceTelemetryTests.swift` (17 tests, 175 loc) +- `iOS/DuckDuckGoTests/Autocomplete/AutocompleteSuggestionsPixelsTests.swift` (17 tests, 178 loc) +- `iOS/DuckDuckGoTests/Subscription/Onboarding/SubscriptionOnboardingFreeTrialCalendarCardModelTests.swift` (13 tests, 179 loc) +- `iOS/DuckDuckGoTests/AIChat/AIChatAddressBarExperienceTests.swift` (12 tests, 183 loc) +- `iOS/DuckDuckGoTests/BrowsingMenu/BrowsingMenuHeaderStateProviderTests.swift` (10 tests, 184 loc) +- `iOS/DuckDuckGoTests/TabSwitcherBarsStateHandlerTests.swift` (22 tests, 210 loc) +- `iOS/DuckDuckGoTests/LongPressBarMenuBuilderTests.swift` (14 tests, 219 loc) +- `iOS/DuckDuckGoTests/Onboarding/OnboardingSubscriptionPromotionHelpingTests.swift` (12 tests, 221 loc) +- `iOS/DuckDuckGoTests/OnboardingSearchExperienceSettingsResolverTests.swift` (13 tests, 234 loc) +- `iOS/DuckDuckGoTests/AIChat/IPadModeToggleTextModelTests.swift` (27 tests, 251 loc) +- `iOS/DuckDuckGoTests/Subscription/SimplifiedPaywall/SubscriptionPagesUseSubscriptionFeatureSimplifiedPaywallTests.swift` (10 tests, 273 loc) +- `iOS/DuckDuckGoTests/AppURLsTests.swift` (42 tests, 367 loc) +- `iOS/DuckDuckGoTests/AIChat/NewAddressBarPickerDisplayValidatorTests.swift` (20 tests, 371 loc) +- `iOS/DuckDuckGoTests/Subscription/Onboarding/SubscriptionOnboardingExperimentTests.swift` (35 tests, 393 loc) +- `iOS/DuckDuckGoTests/TabSwitcherMenuBuilderTests.swift` (55 tests, 622 loc) +- `iOS/DuckDuckGoTests/SmallOmniBarStateTests.swift` (76 tests, 781 loc) +- `iOS/DuckDuckGoTests/LargeOmniBarStateTests.swift` (82 tests, 790 loc) + +### iOS/LocalPackages/AppRouting (1) +- `iOS/LocalPackages/AppRouting/Tests/AppRoutingTests/SearchURLBuilderTests.swift` (15 tests, 149 loc) + +### iOS/WebViewUnitTests (1) +- `iOS/WebViewUnitTests/UserAgentTests.swift` (37 tests, 572 loc) + +### macOS/LocalPackages/AddressBarPerformance (1) +- `macOS/LocalPackages/AddressBarPerformance/Tests/AddressBarPerformanceTests/AddressBarPerformanceRecorderTests.swift` (18 tests, 256 loc) + +### macOS/LocalPackages/AppUpdater (5) +- `macOS/LocalPackages/AppUpdater/Tests/AppStoreAppUpdaterTests/AppStoreUpdaterAvailabilityCheckerTests.swift` (1 tests, 39 loc) +- `macOS/LocalPackages/AppUpdater/Tests/AppUpdaterSharedTests/ManualUpdateRemovalHandlerTests.swift` (4 tests, 86 loc) +- `macOS/LocalPackages/AppUpdater/Tests/SparkleAppUpdaterTests/ApplicationUpdateDetectorTests.swift` (19 tests, 154 loc) +- `macOS/LocalPackages/AppUpdater/Tests/SparkleAppUpdaterTests/SparkleUpdateCompletionValidatorTests.swift` (9 tests, 393 loc) +- `macOS/LocalPackages/AppUpdater/Tests/SparkleAppUpdaterTests/SparkleUpdateWideEventTests.swift` (39 tests, 689 loc) + +### macOS/LocalPackages/DataBrokerProtection-macOS (2) +- `macOS/LocalPackages/DataBrokerProtection-macOS/Tests/DataBrokerProtection-macOSTests/BrokerProfileJobEventsHandlerTests.swift` (5 tests, 101 loc) +- `macOS/LocalPackages/DataBrokerProtection-macOS/Tests/DataBrokerProtection-macOSTests/DataBrokerProtectionWebUIPixelsTests.swift` (9 tests, 170 loc) + +### macOS/LocalPackages/HistoryView (1) +- `macOS/LocalPackages/HistoryView/Tests/HistoryViewTests/DataClientTests.swift` (8 tests, 123 loc) + +### macOS/LocalPackages/SyncUI-macOS (1) +- `macOS/LocalPackages/SyncUI-macOS/Tests/SyncUI-macOSTests/RecoveryCodeViewModelTests.swift` (3 tests, 56 loc) + +### macOS/UnitTests (29) +- `macOS/UnitTests/App/DockPositionProviderTests.swift` (1 tests, 48 loc) +- `macOS/UnitTests/NewTabPage/NewTabPageSectionsAvailabilityProviderTests.swift` (2 tests, 53 loc) +- `macOS/UnitTests/DefaultBrowserAndAddToDockPrompts/DefaultBrowserAndDockPromptServiceTests.swift` (1 tests, 63 loc) +- `macOS/UnitTests/PageRefreshMonitor/PageRefreshMonitorExtensionTests.swift` (4 tests, 63 loc) +- `macOS/UnitTests/WebExtensions/WebExtensionPageStubUserScriptTests.swift` (7 tests, 70 loc) +- `macOS/UnitTests/Statistics/ATB/AtbAndVariantCleanupTests.swift` (3 tests, 76 loc) +- `macOS/UnitTests/Bookmarks/ViewModels/BookmarksBarPromptViewModelTests.swift` (4 tests, 76 loc) +- `macOS/UnitTests/History/View/HistoryViewDataProviderPixelHandlerTests.swift` (5 tests, 81 loc) +- `macOS/UnitTests/Statistics/ATB/DefaultAttributedMetricOriginProviderTests.swift` (5 tests, 84 loc) +- `macOS/UnitTests/NetworkProtection/DefaultVPNLocationFormatterTests.swift` (2 tests, 86 loc) +- `macOS/UnitTests/DataImport/DataDirectoryPermissionFixAvailabilityTests.swift` (6 tests, 91 loc) +- `macOS/UnitTests/AIChat/DuckAiVoiceChatPermissionOverrideTests.swift` (6 tests, 102 loc) +- `macOS/UnitTests/AIChat/AIChatUsageWarningRingViewTests.swift` (6 tests, 109 loc) +- `macOS/UnitTests/Onboarding/OnboardingChromeExtensionExperimentTests.swift` (5 tests, 111 loc) +- `macOS/UnitTests/Subscription/SubscriptionRedirectManagerTests.swift` (4 tests, 114 loc) +- `macOS/UnitTests/AIChat/AIChatMenuButtonPixelsTests.swift` (9 tests, 116 loc) +- `macOS/UnitTests/Statistics/ATB/InstallationAttributionPixelHandlerTests.swift` (5 tests, 120 loc) +- `macOS/UnitTests/Updates/AppStoreUpdateMenuItemFactoryTests.swift` (6 tests, 125 loc) +- `macOS/UnitTests/Tab/ViewModel/UnloadedTabViewModelTests.swift` (7 tests, 133 loc) +- `macOS/UnitTests/NewTabPage/NewTabPageProtectionsReportSettingsMigratorTests.swift` (19 tests, 142 loc) +- `macOS/UnitTests/AIChat/EphemeralPromptDraftStoreTests.swift` (10 tests, 145 loc) +- `macOS/UnitTests/AIChat/DuckAiVoiceChatShieldScopeTests.swift` (12 tests, 148 loc) +- `macOS/UnitTests/Onboarding/OnboardingNonBlockingExperimentTests.swift` (11 tests, 217 loc) +- `macOS/UnitTests/QuitSurvey/QuitSurveyReturnUserHandlerTests.swift` (14 tests, 221 loc) +- `macOS/UnitTests/Fire/DataClearingWideEventServiceTests.swift` (12 tests, 296 loc) +- `macOS/UnitTests/NewTabPage/NewTabPageNextStepsCardsPersistorTests.swift` (36 tests, 353 loc) +- `macOS/UnitTests/UserChurn/UserChurnServiceTests.swift` (23 tests, 380 loc) +- `macOS/UnitTests/NewTabPage/NewTabPageNextStepsCardsPixelHandlerTests.swift` (25 tests, 426 loc) +- `macOS/UnitTests/AIChat/AIChatSessionStoreTests.swift` (36 tests, 634 loc)