Skip to content

Extend xct_specific_matcher rule to cover === and !==#6184

Merged
SimplyDanny merged 6 commits intomainfrom
copilot/fix-5849
Aug 9, 2025
Merged

Extend xct_specific_matcher rule to cover === and !==#6184
SimplyDanny merged 6 commits intomainfrom
copilot/fix-5849

Conversation

Copy link
Contributor

Copilot AI commented Aug 9, 2025

This PR extends the xct_specific_matcher rule to support identity operators (=== and !==) in addition to the existing equality operators (== and !=).

Changes

The rule now detects and suggests more specific XCTest matchers for identity comparisons:

New transformations:

  • XCTAssert(val1 === val2)XCTAssertIdentical(val1, val2)
  • XCTAssertTrue(val1 === val2)XCTAssertIdentical(val1, val2)
  • XCTAssert(val1 !== val2)XCTAssertNotIdentical(val1, val2)
  • XCTAssertTrue(val1 !== val2)XCTAssertNotIdentical(val1, val2)
  • XCTAssertFalse(val1 === val2)XCTAssertNotIdentical(val1, val2)
  • XCTAssertFalse(val1 !== val2)XCTAssertIdentical(val1, val2)

Example

// Before - these would not trigger violations
func testIdentity() {
    XCTAssert(obj1 === obj2)  // No violation
    XCTAssertTrue(obj1 !== obj2)  // No violation
}

// After - these now trigger violations with helpful suggestions
func testIdentity() {
    XCTAssert(obj1 === obj2)  // ⚠️ Prefer the specific matcher 'XCTAssertIdentical' instead
    XCTAssertTrue(obj1 !== obj2)  // ⚠️ Prefer the specific matcher 'XCTAssertNotIdentical' instead
}

Implementation Details

  • Extended OneArgXCTAssert.Comparison enum with .identical = "===" and .notIdentical = "!=="
  • Updated the suggestion method to handle all identity comparison combinations
  • Added comprehensive test coverage for all new scenarios
  • Updated rule examples to include identity operator cases
  • Preserved all existing functionality for equality operators

Testing

  • ✅ All identity operators properly detected and suggest correct alternatives
  • ✅ Existing functionality preserved (== and != operators still work)
  • ✅ SwiftLint runs on itself with no violations
  • ✅ Comprehensive test coverage added

Fixes #5849.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

…d !==

Co-authored-by: SimplyDanny <16365760+SimplyDanny@users.noreply.github.com>
Copilot AI changed the title [WIP] Extend xct_specific_matcher rule to cover === -> XCTAssertIdentical Extend xct_specific_matcher rule to cover === -> XCTAssertIdentical and !== -> XCTAssertNotIdentical Aug 9, 2025
Copilot AI requested a review from SimplyDanny August 9, 2025 07:26
@SwiftLintBot
Copy link

SwiftLintBot commented Aug 9, 2025

180 Warnings
⚠️ This PR introduced a violation in Alamofire: /Tests/SessionTests.swift:253:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Alamofire: /Tests/SessionTests.swift:271:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Alamofire: /Tests/SessionTests.swift:290:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Alamofire: /Tests/SessionTests.swift:314:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/TabManagerTests.swift:205:7: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/TabManagerTests.swift:206:7: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/TabManagerTests.swift:226:7: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/TabManagerTests.swift:227:7: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/SharedStateTests/ContextualOnboardingNewTabDialogFactoryTests.swift:73:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/SharedStateTests/ContextualOnboardingNewTabDialogFactoryTests.swift:88:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/SharedStateTests/ContextualDaxDialogsFactoryTests.swift:75:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/FaviconsTests.swift:69:13: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/FaviconsTests.swift:77:13: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/FaviconsTests.swift:85:13: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/ContentBlockingUpdatingTests.swift:82:17: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/ContentBlockingUpdatingTests.swift:109:17: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/ContentBlockingUpdatingTests.swift:137:17: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/ContentBlockingUpdatingTests.swift:163:17: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/ContentBlockingUpdatingTests.swift:189:17: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/ContentBlockingUpdatingTests.swift:215:17: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/AutofillSettingsViewModelTests.swift:286:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/AutofillSettingsViewModelTests.swift:307:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/AutofillSettingsViewModelTests.swift:316:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/AutofillSettingsViewModelTests.swift:325:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/TabManagerTests.swift:38:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/TabManagerTests.swift:44:9: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/DuckPlayer/DuckPlayerNativeUIPresenterTests.swift:1066:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGoTests/DuckPlayer/DuckPlayerNativeUIPresenterTests.swift:1067:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/IntegrationTests/PinnedTabs/PinnedTabsManagerProviderTests.swift:119:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/IntegrationTests/PinnedTabs/PinnedTabsManagerProviderTests.swift:130:9: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/AdClickAttribution/AdClickAttributionRulesProviderTests.swift:142:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/AdClickAttribution/AdClickAttributionRulesProviderTests.swift:143:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/AdClickAttribution/AdClickAttributionRulesProviderTests.swift:178:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/AdClickAttribution/AdClickAttributionRulesProviderTests.swift:179:9: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/AdClickAttribution/AdClickAttributionRulesProviderTests.swift:218:9: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /SharedPackages/BrowserServicesKit/Tests/BrowserServicesKitTests/ContentBlocker/AdClickAttribution/AdClickAttributionRulesProviderTests.swift:219:9: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:32:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:54:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:65:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:75:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:85:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:96:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:107:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:117:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:130:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:174:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:185:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+PinnedTabs.swift:189:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:57:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:77:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:99:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:111:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:122:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:132:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:143:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:154:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:164:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:175:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:187:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:198:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:209:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:220:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:230:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:240:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:250:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:263:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:274:9: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:288:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:306:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:320:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:333:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:343:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests+WithoutPinnedTabsManager.swift:470:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:47:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:67:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:89:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:101:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:112:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:122:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:133:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:144:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:154:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:165:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:177:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:188:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:199:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:210:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:220:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:230:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:240:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:252:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:265:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:276:9: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:290:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:308:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:322:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:335:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:345:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabBar/ViewModel/TabCollectionViewModelTests.swift:542:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/Tab/Model/TabTests.swift:393:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/Tab/Model/TabTests.swift:397:9: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/ContentBlocker/ContentBlockingUpdatingTests.swift:119:17: Warning: Prefer the specific matcher 'XCTAssertNotIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/ContentBlocker/ContentBlockingUpdatingTests.swift:140:17: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/AIChat/AIChatSidebarPresenterTests.swift:80:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/Bookmarks/Model/BookmarkSidebarTreeControllerTests.swift:43:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabExtensionsTests/NewTabPageTabExtensionTests.swift:60:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabExtensionsTests/NewTabPageTabExtensionTests.swift:70:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabExtensionsTests/NewTabPageTabExtensionTests.swift:80:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabExtensionsTests/NewTabPageTabExtensionTests.swift:84:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/TabExtensionsTests/AdClickAttributionTabExtensionTests.swift:547:13: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/Onboarding/ContextualOnboarding/ContextualDaxDialogsFactoryTests.swift:54:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/UnitTests/Onboarding/ContextualOnboarding/ContextualDaxDialogsFactoryTests.swift:133:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/firefox-ios-tests/Tests/ClientTests/WindowManagerTests.swift:37:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/firefox-ios-tests/Tests/ClientTests/WindowManagerTests.swift:60:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/firefox-ios-tests/Tests/ClientTests/WindowManagerTests.swift:62:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/firefox-ios-tests/Tests/ClientTests/WindowManagerTests.swift:229:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/firefox-ios-tests/Tests/ClientTests/WindowManagerTests.swift:256:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/firefox-ios-tests/Tests/StorageTests/ZoomLevelStoreTests.swift:108:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/ThirdParty/Deferred/DeferredTests/DeferredTests.swift:226:13: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/ThirdParty/Deferred/DeferredTests/DeferredTests.swift:231:17: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Tests/RSCoreTests/MainThreadOperationTests.swift:203:5: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Realm: /RealmSwift/Tests/ModernObjectTests.swift:206:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ This PR introduced a violation in Realm: /RealmSwift/Tests/ModernObjectTests.swift:207:9: Warning: Prefer the specific matcher 'XCTAssertIdentical' instead (xct_specific_matcher)
⚠️ Danger found 180 violations with this PR. Due to GitHub's max issue comment size, the number shown has been truncated to 123.
18 Messages
📖 Building this branch resulted in a binary size of 25491.6 KiB vs 25491.34 KiB when built on main (0% larger).
📖 Linting Aerial with this PR took 1.04 s vs 1.04 s on main (0% slower).
📖 Linting Alamofire with this PR took 1.4 s vs 1.4 s on main (0% slower).
📖 Linting Brave with this PR took 9.47 s vs 9.46 s on main (0% slower).
📖 Linting DuckDuckGo with this PR took 26.51 s vs 26.49 s on main (0% slower).
📖 Linting Firefox with this PR took 13.85 s vs 13.77 s on main (0% slower).
📖 Linting Kickstarter with this PR took 10.75 s vs 10.75 s on main (0% slower).
📖 Linting Moya with this PR took 0.56 s vs 0.55 s on main (1% slower).
📖 Linting NetNewsWire with this PR took 3.19 s vs 3.17 s on main (0% slower).
📖 Linting Nimble with this PR took 0.84 s vs 0.84 s on main (0% slower).
📖 Linting PocketCasts with this PR took 9.35 s vs 9.18 s on main (1% slower).
📖 Linting Quick with this PR took 0.49 s vs 0.49 s on main (0% slower).
📖 Linting Realm with this PR took 4.83 s vs 4.84 s on main (0% faster).
📖 Linting Sourcery with this PR took 2.45 s vs 2.45 s on main (0% slower).
📖 Linting Swift with this PR took 5.65 s vs 5.66 s on main (0% faster).
📖 Linting VLC with this PR took 1.49 s vs 1.49 s on main (0% slower).
📖 Linting Wire with this PR took 22.46 s vs 22.41 s on main (0% slower).
📖 Linting WordPress with this PR took 13.65 s vs 13.59 s on main (0% slower).

Generated by 🚫 Danger

@SimplyDanny SimplyDanny marked this pull request as ready for review August 9, 2025 12:19
@SimplyDanny SimplyDanny enabled auto-merge (squash) August 9, 2025 12:22
@SimplyDanny SimplyDanny merged commit 90820fc into main Aug 9, 2025
22 checks passed
@SimplyDanny SimplyDanny deleted the copilot/fix-5849 branch August 9, 2025 13:03
@SimplyDanny SimplyDanny changed the title Extend xct_specific_matcher rule to cover === -> XCTAssertIdentical and !== -> XCTAssertNotIdentical Extend xct_specific_matcher rule to cover === and !== Aug 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extend xct_specific_matcher rule to cover === -> XCTAssertIdentical

3 participants