Skip to content

Commit 7207486

Browse files
committed
[interactive_media_ads] Migrate XCTest to Swift Testing
1 parent e57e7f4 commit 7207486

25 files changed

+393
-334
lines changed

packages/interactive_media_ads/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## NEXT
2+
3+
* Updates tests to use the Swift Testing framework.
4+
15
## 0.3.0+9
26

37
* Bumps kotlin_version to 2.3.0.

packages/interactive_media_ads/example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -594,7 +594,7 @@
594594
PRODUCT_NAME = "$(TARGET_NAME)";
595595
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
596596
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
597-
SWIFT_VERSION = 5.0;
597+
SWIFT_VERSION = 6.0;
598598
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
599599
};
600600
name = Debug;
@@ -610,7 +610,7 @@
610610
MARKETING_VERSION = 1.0;
611611
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.packages.interactiveMediaAdsExample.RunnerTests;
612612
PRODUCT_NAME = "$(TARGET_NAME)";
613-
SWIFT_VERSION = 5.0;
613+
SWIFT_VERSION = 6.0;
614614
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
615615
};
616616
name = Release;
@@ -626,7 +626,7 @@
626626
MARKETING_VERSION = 1.0;
627627
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.packages.interactiveMediaAdsExample.RunnerTests;
628628
PRODUCT_NAME = "$(TARGET_NAME)";
629-
SWIFT_VERSION = 5.0;
629+
SWIFT_VERSION = 6.0;
630630
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
631631
};
632632
name = Profile;

packages/interactive_media_ads/example/ios/RunnerTests/AdDisplayContainerTests.swift

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,42 +4,43 @@
44

55
import Flutter
66
import GoogleInteractiveMediaAds
7-
import XCTest
7+
import Testing
88

99
@testable import interactive_media_ads
1010

11-
final class AdDisplayContainerTests: XCTestCase {
12-
func testPigeonDefaultConstructor() {
11+
@MainActor
12+
struct AdDisplayContainerTests {
13+
@Test func pigeonDefaultConstructor() {
1314
let registrar = TestProxyApiRegistrar()
1415
let api = registrar.apiDelegate.pigeonApiIMAAdDisplayContainer(registrar)
1516

1617
let instance = try? api.pigeonDelegate.pigeonDefaultConstructor(
1718
pigeonApi: api, adContainer: UIView(), companionSlots: [],
1819
adContainerViewController: UIViewController())
19-
XCTAssertNotNil(instance)
20+
#expect(instance != nil)
2021
}
2122

22-
func testAdContainer() {
23+
@Test func adContainer() {
2324
let registrar = TestProxyApiRegistrar()
2425
let api = registrar.apiDelegate.pigeonApiIMAAdDisplayContainer(registrar)
2526

2627
let instance = TestAdDisplayContainer()
2728
let value = try? api.pigeonDelegate.adContainer(pigeonApi: api, pigeonInstance: instance)
2829

29-
XCTAssertEqual(value, instance.adContainer)
30+
#expect(value == instance.adContainer)
3031
}
3132

32-
func testCompanionSlots() {
33+
@Test func companionSlots() {
3334
let registrar = TestProxyApiRegistrar()
3435
let api = registrar.apiDelegate.pigeonApiIMAAdDisplayContainer(registrar)
3536

3637
let instance = TestAdDisplayContainer()
3738
let value = try? api.pigeonDelegate.companionSlots(pigeonApi: api, pigeonInstance: instance)
3839

39-
XCTAssertEqual(value, instance.companionSlots)
40+
#expect(value == instance.companionSlots)
4041
}
4142

42-
func testSetAdContainerViewController() {
43+
@Test func setAdContainerViewController() {
4344
let registrar = TestProxyApiRegistrar()
4445
let api = registrar.apiDelegate.pigeonApiIMAAdDisplayContainer(registrar)
4546

@@ -48,10 +49,10 @@ final class AdDisplayContainerTests: XCTestCase {
4849
try? api.pigeonDelegate.setAdContainerViewController(
4950
pigeonApi: api, pigeonInstance: instance, controller: controller)
5051

51-
XCTAssertEqual(instance.adContainerViewController, controller)
52+
#expect(instance.adContainerViewController == controller)
5253
}
5354

54-
func testGetAdContainerViewController() {
55+
@Test func getAdContainerViewController() {
5556
let registrar = TestProxyApiRegistrar()
5657
let api = registrar.apiDelegate.pigeonApiIMAAdDisplayContainer(registrar)
5758

@@ -61,10 +62,10 @@ final class AdDisplayContainerTests: XCTestCase {
6162
let value = try? api.pigeonDelegate.getAdContainerViewController(
6263
pigeonApi: api, pigeonInstance: instance)
6364

64-
XCTAssertEqual(value, adContainerViewController)
65+
#expect(value == adContainerViewController)
6566
}
6667

67-
func testRegisterFriendlyObstruction() {
68+
@Test func registerFriendlyObstruction() {
6869
let registrar = TestProxyApiRegistrar()
6970
let api = registrar.apiDelegate.pigeonApiIMAAdDisplayContainer(registrar)
7071

@@ -74,21 +75,22 @@ final class AdDisplayContainerTests: XCTestCase {
7475
try? api.pigeonDelegate.registerFriendlyObstruction(
7576
pigeonApi: api, pigeonInstance: instance, friendlyObstruction: friendlyObstruction)
7677

77-
XCTAssertEqual(instance.registerFriendlyObstructionArgs, [friendlyObstruction])
78+
#expect(instance.registerFriendlyObstructionArgs as! [AnyHashable] == [friendlyObstruction])
7879
}
7980

80-
func testUnregisterAllFriendlyObstructions() {
81+
@Test func unregisterAllFriendlyObstructions() {
8182
let registrar = TestProxyApiRegistrar()
8283
let api = registrar.apiDelegate.pigeonApiIMAAdDisplayContainer(registrar)
8384

8485
let instance = TestAdDisplayContainer()
8586
try? api.pigeonDelegate.unregisterAllFriendlyObstructions(
8687
pigeonApi: api, pigeonInstance: instance)
8788

88-
XCTAssertTrue(instance.unregisterAllFriendlyObstructionsCalled)
89+
#expect(instance.unregisterAllFriendlyObstructionsCalled)
8990
}
9091
}
9192

93+
@MainActor
9294
class TestAdDisplayContainer: IMAAdDisplayContainer {
9395
private var adContainerTestValue = UIView()
9496
private var companionSlotsTestValue = [IMACompanionAdSlot(view: UIView())]

packages/interactive_media_ads/example/ios/RunnerTests/AdErrorTests.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,42 +4,42 @@
44

55
import Flutter
66
import GoogleInteractiveMediaAds
7-
import XCTest
7+
import Testing
88

99
@testable import interactive_media_ads
1010

11-
final class AdErrorTests: XCTestCase {
12-
func testType() {
11+
struct AdErrorTests {
12+
@Test func type() {
1313
let registrar = TestProxyApiRegistrar()
1414
let api = registrar.apiDelegate.pigeonApiIMAAdError(registrar)
1515

1616
let instance = TestAdError.customInit()
1717

1818
let value = try? api.pigeonDelegate.type(pigeonApi: api, pigeonInstance: instance)
1919

20-
XCTAssertEqual(value, .loadingFailed)
20+
#expect(value == .loadingFailed)
2121
}
2222

23-
func testCode() {
23+
@Test func code() {
2424
let registrar = TestProxyApiRegistrar()
2525
let api = registrar.apiDelegate.pigeonApiIMAAdError(registrar)
2626

2727
let instance = TestAdError.customInit()
2828

2929
let value = try? api.pigeonDelegate.code(pigeonApi: api, pigeonInstance: instance)
3030

31-
XCTAssertEqual(value, .apiError)
31+
#expect(value == .apiError)
3232
}
3333

34-
func testMessage() {
34+
@Test func message() {
3535
let registrar = TestProxyApiRegistrar()
3636
let api = registrar.apiDelegate.pigeonApiIMAAdError(registrar)
3737

3838
let instance = TestAdError.customInit()
3939

4040
let value = try? api.pigeonDelegate.message(pigeonApi: api, pigeonInstance: instance)
4141

42-
XCTAssertEqual(value, "message")
42+
#expect(value == "message")
4343
}
4444
}
4545

packages/interactive_media_ads/example/ios/RunnerTests/AdEventTests.swift

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,53 +4,53 @@
44

55
import Flutter
66
import GoogleInteractiveMediaAds
7-
import XCTest
7+
import Testing
88

99
@testable import interactive_media_ads
1010

11-
final class AdEventTests: XCTestCase {
12-
func testType() {
11+
struct AdEventTests {
12+
@Test func type() {
1313
let registrar = TestProxyApiRegistrar()
1414
let api = registrar.apiDelegate.pigeonApiIMAAdEvent(registrar)
1515

1616
let instance = TestAdEvent.customInit()
1717

1818
let value = try? api.pigeonDelegate.type(pigeonApi: api, pigeonInstance: instance)
1919

20-
XCTAssertEqual(value, .adBreakEnded)
20+
#expect(value == .adBreakEnded)
2121
}
2222

23-
func testMessage() {
23+
@Test func message() {
2424
let registrar = TestProxyApiRegistrar()
2525
let api = registrar.apiDelegate.pigeonApiIMAAdEvent(registrar)
2626

2727
let instance = TestAdEvent.customInit()
2828

2929
let value = try? api.pigeonDelegate.typeString(pigeonApi: api, pigeonInstance: instance)
3030

31-
XCTAssertEqual(value, "message")
31+
#expect(value == "message")
3232
}
3333

34-
func testAdData() {
34+
@Test func adData() {
3535
let registrar = TestProxyApiRegistrar()
3636
let api = registrar.apiDelegate.pigeonApiIMAAdEvent(registrar)
3737

3838
let instance = TestAdEvent.customInit()
3939

4040
let value = try? api.pigeonDelegate.adData(pigeonApi: api, pigeonInstance: instance)
4141

42-
XCTAssertEqual(value as! [String: String], ["my": "string"])
42+
#expect((value as! [String: String]) == ["my": "string"])
4343
}
4444

45-
func testAd() {
45+
@Test func ad() {
4646
let registrar = TestProxyApiRegistrar()
4747
let api = registrar.apiDelegate.pigeonApiIMAAdEvent(registrar)
4848

4949
let instance = TestAdEvent.customInit()
5050
let value = try? api.pigeonDelegate.ad(pigeonApi: api, pigeonInstance: instance)
5151

52-
XCTAssertNotNil(value)
53-
XCTAssertEqual(value, instance.ad)
52+
#expect(value != nil)
53+
#expect(value == instance.ad)
5454
}
5555
}
5656

packages/interactive_media_ads/example/ios/RunnerTests/AdLoadingErrorDataTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@
44

55
import Flutter
66
import GoogleInteractiveMediaAds
7-
import XCTest
7+
import Testing
88

99
@testable import interactive_media_ads
1010

11-
final class AdLoadingErrorTests: XCTestCase {
12-
func testAdError() {
11+
struct AdLoadingErrorTests {
12+
@Test func adError() {
1313
let registrar = TestProxyApiRegistrar()
1414
let api = registrar.apiDelegate.pigeonApiIMAAdLoadingErrorData(registrar)
1515

1616
let instance = TestAdLoadingErrorData.customInit()
1717

1818
let value = try? api.pigeonDelegate.adError(pigeonApi: api, pigeonInstance: instance)
1919

20-
XCTAssertTrue(value is TestAdError)
20+
#expect(value is TestAdError)
2121
}
2222
}
2323

packages/interactive_media_ads/example/ios/RunnerTests/AdPodInfoProxyAPITests.swift

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,69 +4,75 @@
44

55
import Flutter
66
import GoogleInteractiveMediaAds
7-
import XCTest
7+
import Testing
88

99
@testable import interactive_media_ads
1010

11-
class AdPodInfoProxyAPITests: XCTestCase {
12-
func testAdPosition() {
11+
struct AdPodInfoProxyAPITests {
12+
@Test
13+
func adPosition() {
1314
let registrar = TestProxyApiRegistrar()
1415
let api = registrar.apiDelegate.pigeonApiIMAAdPodInfo(registrar)
1516

1617
let instance = TestAdPodInfo.customInit()
1718
let value = try? api.pigeonDelegate.adPosition(pigeonApi: api, pigeonInstance: instance)
1819

19-
XCTAssertEqual(value, Int64(instance.adPosition))
20+
#expect(value == Int64(instance.adPosition))
2021
}
2122

22-
func testMaxDuration() {
23+
@Test
24+
func maxDuration() {
2325
let registrar = TestProxyApiRegistrar()
2426
let api = registrar.apiDelegate.pigeonApiIMAAdPodInfo(registrar)
2527

2628
let instance = TestAdPodInfo.customInit()
2729
let value = try? api.pigeonDelegate.maxDuration(pigeonApi: api, pigeonInstance: instance)
2830

29-
XCTAssertEqual(value, instance.maxDuration)
31+
#expect(value == instance.maxDuration)
3032
}
3133

32-
func testPodIndex() {
34+
@Test
35+
func podIndex() {
3336
let registrar = TestProxyApiRegistrar()
3437
let api = registrar.apiDelegate.pigeonApiIMAAdPodInfo(registrar)
3538

3639
let instance = TestAdPodInfo.customInit()
3740
let value = try? api.pigeonDelegate.podIndex(pigeonApi: api, pigeonInstance: instance)
3841

39-
XCTAssertEqual(value, Int64(instance.podIndex))
42+
#expect(value == Int64(instance.podIndex))
4043
}
4144

42-
func testTimeOffset() {
45+
@Test
46+
func timeOffset() {
4347
let registrar = TestProxyApiRegistrar()
4448
let api = registrar.apiDelegate.pigeonApiIMAAdPodInfo(registrar)
4549

4650
let instance = TestAdPodInfo.customInit()
4751
let value = try? api.pigeonDelegate.timeOffset(pigeonApi: api, pigeonInstance: instance)
4852

49-
XCTAssertEqual(value, instance.timeOffset)
53+
#expect(value == instance.timeOffset)
5054
}
5155

52-
func testTotalAds() {
56+
@Test
57+
func totalAds() {
5358
let registrar = TestProxyApiRegistrar()
5459
let api = registrar.apiDelegate.pigeonApiIMAAdPodInfo(registrar)
5560

5661
let instance = TestAdPodInfo.customInit()
5762
let value = try? api.pigeonDelegate.totalAds(pigeonApi: api, pigeonInstance: instance)
5863

59-
XCTAssertEqual(value, Int64(instance.totalAds))
64+
#expect(value == Int64(instance.totalAds))
6065
}
6166

62-
func testIsBumper() {
67+
@Test
68+
func isBumper() {
6369
let registrar = TestProxyApiRegistrar()
6470
let api = registrar.apiDelegate.pigeonApiIMAAdPodInfo(registrar)
6571

6672
let instance = TestAdPodInfo.customInit()
6773
let value = try? api.pigeonDelegate.isBumper(pigeonApi: api, pigeonInstance: instance)
6874

69-
XCTAssertEqual(value, instance.isBumper)
75+
#expect(value == instance.isBumper)
7076
}
7177
}
7278

0 commit comments

Comments
 (0)