From 0e8402f6fbb55fe90c647a55c32144f31d27d1ea Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Fri, 9 Jan 2026 19:53:09 -0800 Subject: [PATCH 1/3] [pointer_interceptor_ios] Migrate XCTest to Swift Testing --- .../pointer_interceptor_ios/CHANGELOG.md | 4 ++++ .../ios/Runner.xcodeproj/project.pbxproj | 12 +++++----- .../example/ios/RunnerTests/RunnerTests.swift | 23 ++++++++----------- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md b/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md index 6860016fefa3..824d36eaeb13 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md +++ b/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md @@ -1,3 +1,7 @@ +## NEXT + +* Migrates XCTest to Swift Testing. + ## 0.10.1+1 * Updates minimum supported version to iOS 13. diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner.xcodeproj/project.pbxproj b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner.xcodeproj/project.pbxproj index 9366431d7ca5..09e7c393fa3e 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ @@ -305,7 +305,7 @@ ); mainGroup = 97C146E51CF9000F007C117D; packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; @@ -571,7 +571,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 6.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; }; name = Debug; @@ -587,7 +587,7 @@ MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = flutter.dev.pointerInterceptorIosExample.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 6.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; }; name = Release; @@ -603,7 +603,7 @@ MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = flutter.dev.pointerInterceptorIosExample.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 6.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; }; name = Profile; @@ -862,7 +862,7 @@ /* End XCConfigurationList section */ /* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = { isa = XCLocalSwiftPackageReference; relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; }; diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/RunnerTests/RunnerTests.swift b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/RunnerTests/RunnerTests.swift index e75747b942cc..a7783da36b49 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/RunnerTests/RunnerTests.swift +++ b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/RunnerTests/RunnerTests.swift @@ -2,26 +2,21 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import Flutter +import Testing import UIKit -import XCTest @testable import pointer_interceptor_ios -class RunnerTests: XCTestCase { - func testNonDebugMode() { +struct RunnerTests { + @Test(arguments: [ + (false, UIColor.clear), + (true, UIColor(red: 1, green: 0, blue: 0, alpha: 0.5)), + ]) + @MainActor func debugMode(debug: Bool, expectedColor: UIColor) { let view = PointerInterceptorView( - frame: CGRect(x: 0, y: 0, width: 180, height: 48.0), debug: false) + frame: CGRect(x: 0, y: 0, width: 180, height: 48.0), debug: debug) let debugView = view.view() - XCTAssertTrue(debugView.backgroundColor == UIColor.clear) - } - - func testDebugMode() { - let view = PointerInterceptorView( - frame: CGRect(x: 0, y: 0, width: 180, height: 48.0), debug: true) - - let debugView = view.view() - XCTAssertTrue(debugView.backgroundColor == UIColor(red: 1, green: 0, blue: 0, alpha: 0.5)) + #expect(debugView.backgroundColor == expectedColor) } } From be3e1996a16f2fe501ada75eb2034314a1c30513 Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Fri, 9 Jan 2026 22:54:04 -0800 Subject: [PATCH 2/3] shift MainActor to struct --- .../example/ios/Runner/AppDelegate.swift | 2 +- .../example/ios/RunnerTests/RunnerTests.swift | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift index f0a20bd47a46..3feddd851753 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift +++ b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift @@ -13,7 +13,7 @@ import UIKit ) -> Bool { GeneratedPluginRegistrant.register(with: self) - weak var registrar = self.registrar(forPlugin: "DummyPlatform") + weak let registrar = self.registrar(forPlugin: "DummyPlatform") let factory = DummyPlatformViewFactory(messenger: registrar!.messenger()) self.registrar(forPlugin: "")!.register( diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/RunnerTests/RunnerTests.swift b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/RunnerTests/RunnerTests.swift index a7783da36b49..9b76f99fcbe8 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/RunnerTests/RunnerTests.swift +++ b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/RunnerTests/RunnerTests.swift @@ -7,12 +7,13 @@ import UIKit @testable import pointer_interceptor_ios +@MainActor struct RunnerTests { @Test(arguments: [ (false, UIColor.clear), (true, UIColor(red: 1, green: 0, blue: 0, alpha: 0.5)), ]) - @MainActor func debugMode(debug: Bool, expectedColor: UIColor) { + func debugMode(debug: Bool, expectedColor: UIColor) { let view = PointerInterceptorView( frame: CGRect(x: 0, y: 0, width: 180, height: 48.0), debug: debug) From 7c320fa464dc2c5597545323d2404217a32a3afe Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Tue, 13 Jan 2026 23:50:00 -0800 Subject: [PATCH 3/3] Remove CHANGELOG, revert let --- .../pointer_interceptor_ios/CHANGELOG.md | 4 ---- .../example/ios/Runner.xcodeproj/project.pbxproj | 6 +++--- .../example/ios/Runner/AppDelegate.swift | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md b/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md index 824d36eaeb13..6860016fefa3 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md +++ b/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md @@ -1,7 +1,3 @@ -## NEXT - -* Migrates XCTest to Swift Testing. - ## 0.10.1+1 * Updates minimum supported version to iOS 13. diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner.xcodeproj/project.pbxproj b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner.xcodeproj/project.pbxproj index 09e7c393fa3e..ee8f9b61e197 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 60; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -305,7 +305,7 @@ ); mainGroup = 97C146E51CF9000F007C117D; packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; @@ -862,7 +862,7 @@ /* End XCConfigurationList section */ /* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = { + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { isa = XCLocalSwiftPackageReference; relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; }; diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift index 3feddd851753..f0a20bd47a46 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift +++ b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift @@ -13,7 +13,7 @@ import UIKit ) -> Bool { GeneratedPluginRegistrant.register(with: self) - weak let registrar = self.registrar(forPlugin: "DummyPlatform") + weak var registrar = self.registrar(forPlugin: "DummyPlatform") let factory = DummyPlatformViewFactory(messenger: registrar!.messenger()) self.registrar(forPlugin: "")!.register(