From ec63d5b78704e22c33a4ea4d4873f71a5c6bc36f Mon Sep 17 00:00:00 2001 From: Tony Li Date: Wed, 12 Jul 2023 11:56:13 +1200 Subject: [PATCH 1/2] Enable the weak_delegate SwiftLint rule --- .swiftlint.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.swiftlint.yml b/.swiftlint.yml index 51ba0c206ad9..227a2c7e8e9a 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -3,6 +3,10 @@ remote_timeout: 10.0 opt_in_rules: - overridden_super_call + - weak_delegate overridden_super_call: severity: error + +weak_delegate: + severity: error From e662c7cf94481c4de6d9f6802c0c5c23a3b368c8 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Wed, 12 Jul 2023 11:55:44 +1200 Subject: [PATCH 2/2] Ignore a few weak_delegate SwiftLint rule violations --- .../Classes/ViewRelated/Gutenberg/GutenbergViewController.swift | 1 + .../Classes/ViewRelated/Media/MediaItemViewController.swift | 1 + .../ViewRelated/Reader/Detail/ReaderDetailViewController.swift | 2 ++ .../Classes/ViewRelated/Themes/ThemeBrowserViewController.swift | 1 + .../WordPressTest/Dashboard/BlazeCampaignsStreamTests.swift | 1 + WordPress/WordPressTest/Mention/SuggestionTableViewTests.swift | 1 + WordPress/WordPressTest/ReferrerDetailsViewModelTests.swift | 1 + 7 files changed, 8 insertions(+) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift index 0fc511053b6d..8aaa45c887b1 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift @@ -241,6 +241,7 @@ class GutenbergViewController: UIViewController, PostEditor, FeaturedImageDelega let navigationBarManager: PostEditorNavigationBarManager + // swiftlint:disable:next weak_delegate lazy var attachmentDelegate = AztecAttachmentDelegate(post: post) lazy var mediaPickerHelper: GutenbergMediaPickerHelper = { diff --git a/WordPress/Classes/ViewRelated/Media/MediaItemViewController.swift b/WordPress/Classes/ViewRelated/Media/MediaItemViewController.swift index d235fc32379e..21613e7eb06b 100644 --- a/WordPress/Classes/ViewRelated/Media/MediaItemViewController.swift +++ b/WordPress/Classes/ViewRelated/Media/MediaItemViewController.swift @@ -13,6 +13,7 @@ class MediaItemViewController: UITableViewController { } + // swiftlint:disable:next weak_delegate let delegate = DownloadDelegate() @objc let media: Media diff --git a/WordPress/Classes/ViewRelated/Reader/Detail/ReaderDetailViewController.swift b/WordPress/Classes/ViewRelated/Reader/Detail/ReaderDetailViewController.swift index 058553522902..ad589e136424 100644 --- a/WordPress/Classes/ViewRelated/Reader/Detail/ReaderDetailViewController.swift +++ b/WordPress/Classes/ViewRelated/Reader/Detail/ReaderDetailViewController.swift @@ -45,6 +45,8 @@ class ReaderDetailViewController: UIViewController, ReaderDetailView { /// The table view that displays Comments @IBOutlet weak var commentsTableView: IntrinsicTableView! + + // swiftlint:disable:next weak_delegate private let commentsTableViewDelegate = ReaderDetailCommentsTableViewDelegate() /// The table view that displays Related Posts diff --git a/WordPress/Classes/ViewRelated/Themes/ThemeBrowserViewController.swift b/WordPress/Classes/ViewRelated/Themes/ThemeBrowserViewController.swift index 1920dec765db..31465fbbafa2 100644 --- a/WordPress/Classes/ViewRelated/Themes/ThemeBrowserViewController.swift +++ b/WordPress/Classes/ViewRelated/Themes/ThemeBrowserViewController.swift @@ -98,6 +98,7 @@ public protocol ThemePresenter: AnyObject { @IBOutlet weak var collectionView: UICollectionView! + // swiftlint:disable:next weak_delegate fileprivate lazy var customizerNavigationDelegate: ThemeWebNavigationDelegate = { return ThemeWebNavigationDelegate() }() diff --git a/WordPress/WordPressTest/Dashboard/BlazeCampaignsStreamTests.swift b/WordPress/WordPressTest/Dashboard/BlazeCampaignsStreamTests.swift index c06a9bff27de..56fe66b98317 100644 --- a/WordPress/WordPressTest/Dashboard/BlazeCampaignsStreamTests.swift +++ b/WordPress/WordPressTest/Dashboard/BlazeCampaignsStreamTests.swift @@ -6,6 +6,7 @@ import WordPressKit final class BlazeCampaignsStreamTests: CoreDataTestCase { private var sut: BlazeCampaignsStream! private var blog: Blog! + // swiftlint:disable:next weak_delegate private var delegate = MockCampaignsStreamDelegate() private let service = MockBlazePaginatedService() diff --git a/WordPress/WordPressTest/Mention/SuggestionTableViewTests.swift b/WordPress/WordPressTest/Mention/SuggestionTableViewTests.swift index 00b2b3671aff..a0e4d93f2f8c 100644 --- a/WordPress/WordPressTest/Mention/SuggestionTableViewTests.swift +++ b/WordPress/WordPressTest/Mention/SuggestionTableViewTests.swift @@ -6,6 +6,7 @@ import XCTest final class SuggestionTableViewTests: CoreDataTestCase { private var view: SuggestionsTableView! + // swiftlint:disable:next weak_delegate private var delegate: SuggestionsTableViewDelegateMock! private var viewModel: SuggestionsListViewModelType { return view.viewModel diff --git a/WordPress/WordPressTest/ReferrerDetailsViewModelTests.swift b/WordPress/WordPressTest/ReferrerDetailsViewModelTests.swift index f7974560ecd9..941c7b5e953a 100644 --- a/WordPress/WordPressTest/ReferrerDetailsViewModelTests.swift +++ b/WordPress/WordPressTest/ReferrerDetailsViewModelTests.swift @@ -3,6 +3,7 @@ import XCTest class ReferrerDetailsViewModelTests: XCTestCase { private var sut: ReferrerDetailsViewModel! + // swiftlint:disable:next weak_delegate private var spyDelegate: ViewModelDelegateSpy! override func setUpWithError() throws {