Skip to content

Commit 6fb17c0

Browse files
authored
Refactor FXIOS-13481 [Swift 6 Migration] Turn on Concurrency for TabDataStoreTests in BrowserKit #29763 (#29765)
1 parent 5f3a165 commit 6fb17c0

File tree

4 files changed

+23
-11
lines changed

4 files changed

+23
-11
lines changed

BrowserKit/Package.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,11 @@ let package = Package(
155155
]),
156156
.testTarget(
157157
name: "TabDataStoreTests",
158-
dependencies: ["TabDataStore"]),
158+
dependencies: ["TabDataStore"],
159+
swiftSettings: [
160+
.enableExperimentalFeature("StrictConcurrency"),
161+
]
162+
),
159163
.target(
160164
name: "Redux",
161165
dependencies: ["Common"],

BrowserKit/Tests/TabDataStoreTests/TabDataStoreTests.swift

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import XCTest
66
@testable import TabDataStore
77

8-
final class TabDataStoreTests: XCTestCase {
8+
final class TabDataStoreTests: XCTestCase, @unchecked Sendable {
99
private var mockFileManager: TabFileManagerMock!
1010
private let sleepTime: UInt64 = 1 * NSEC_PER_SEC
1111
private let defaultTestTabWindowUUID = UUID(uuidString: "E3FF60DA-D1E7-407B-AA3B-130D48B3909D")!
@@ -16,12 +16,12 @@ final class TabDataStoreTests: XCTestCase {
1616
}
1717

1818
override func tearDown() {
19-
super.tearDown()
2019
mockFileManager = nil
20+
super.tearDown()
2121
}
2222

2323
// MARK: - Saving Data
24-
24+
@MainActor
2525
func testSaveWindowData_noWindowDataDirectory_returns() async throws {
2626
let windowData = createMockWindow(uuid: defaultTestTabWindowUUID)
2727
let subject = createSubject()
@@ -36,6 +36,7 @@ final class TabDataStoreTests: XCTestCase {
3636
XCTAssertEqual(mockFileManager.writeWindowDataCalledCount, 0)
3737
}
3838

39+
@MainActor
3940
func testSaveWindowData_createsDirectory_notForced() async throws {
4041
let subject = createSubject()
4142
let windowData = createMockWindow(uuid: defaultTestTabWindowUUID)
@@ -54,6 +55,7 @@ final class TabDataStoreTests: XCTestCase {
5455
XCTAssertEqual(mockFileManager.writeWindowDataCalledCount, 1)
5556
}
5657

58+
@MainActor
5759
func testSaveWindowDataWithBackup_doesntCreateDirectory_notForced() async throws {
5860
let subject = createSubject()
5961
let windowData = createMockWindow(uuid: defaultTestTabWindowUUID)
@@ -74,7 +76,7 @@ final class TabDataStoreTests: XCTestCase {
7476
}
7577

7678
func testSaveWindowDataForceAndNotForcedMix() async throws {
77-
let subject = createSubject()
79+
let subject = await createSubject()
7880
let windowData = createMockWindow(uuid: defaultTestTabWindowUUID)
7981
mockFileManager.primaryDirectoryURL = URL(string: "some/directory1")
8082
mockFileManager.backupDirectoryURL = URL(string: "some/directory2")
@@ -95,7 +97,7 @@ final class TabDataStoreTests: XCTestCase {
9597
}
9698

9799
// MARK: - Fetching Data
98-
100+
@MainActor
99101
func testFetchWindowData_withoutDirectory_returnEmpty() async throws {
100102
let subject = createSubject()
101103

@@ -109,6 +111,7 @@ final class TabDataStoreTests: XCTestCase {
109111
XCTAssertNil(fetchedWindowData)
110112
}
111113

114+
@MainActor
112115
func testFetchWindowData_withoutWindowDataAndBackupURL_returnEmpty() async throws {
113116
let subject = createSubject()
114117
mockFileManager.primaryDirectoryURL = URL(string: "some/directory")
@@ -120,6 +123,7 @@ final class TabDataStoreTests: XCTestCase {
120123
XCTAssertNil(fetchedWindowData)
121124
}
122125

126+
@MainActor
123127
func testFetchWindowData_withoutWindowDataEmptyData_useBackupReturnEmpty() async throws {
124128
let subject = createSubject()
125129
mockFileManager.primaryDirectoryURL = URL(string: "some/directory")
@@ -132,6 +136,7 @@ final class TabDataStoreTests: XCTestCase {
132136
XCTAssertNil(fetchedWindowData)
133137
}
134138

139+
@MainActor
135140
func testFetchWindowData_withWindowData_returnFetchedWindow() async throws {
136141
let subject = createSubject()
137142
let windowData = createMockWindow(uuid: defaultTestTabWindowUUID)
@@ -149,7 +154,7 @@ final class TabDataStoreTests: XCTestCase {
149154
}
150155

151156
// MARK: - Fetching and Saving Data
152-
157+
@MainActor
153158
func testPreserveBeforeRestore() async throws {
154159
let subject = createSubject()
155160
let windowData = createMockWindow(uuid: defaultTestTabWindowUUID)
@@ -167,6 +172,7 @@ final class TabDataStoreTests: XCTestCase {
167172
XCTAssertEqual(fetchedWindowData?.tabData.count, windowData.tabData.count)
168173
}
169174

175+
@MainActor
170176
func testRestoreBeforePreserve() async throws {
171177
let subject = createSubject()
172178
let windowData = createMockWindow(uuid: defaultTestTabWindowUUID)
@@ -182,6 +188,7 @@ final class TabDataStoreTests: XCTestCase {
182188
XCTAssertNil(fetchedWindowData)
183189
}
184190

191+
@MainActor
185192
func testSavingTwiceReturnsMostRecentData() async throws {
186193
let subject = createSubject()
187194
let windowData1 = createMockWindow(uuid: defaultTestTabWindowUUID)
@@ -203,7 +210,7 @@ final class TabDataStoreTests: XCTestCase {
203210
}
204211

205212
// MARK: - Clearing Data
206-
213+
@MainActor
207214
func testClearAllTabData() async throws {
208215
let subject = createSubject()
209216
mockFileManager.primaryDirectoryURL = URL(string: "some/directory1")
@@ -213,7 +220,7 @@ final class TabDataStoreTests: XCTestCase {
213220
}
214221

215222
// MARK: - Helpers
216-
223+
@MainActor
217224
func createSubject(throttleTime: UInt64 = 100) -> TabDataStore {
218225
let subject = DefaultTabDataStore(fileManager: mockFileManager,
219226
throttleTime: 100)

BrowserKit/Tests/TabDataStoreTests/TabSessionStoreTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ final class TabSessionStoreTests: XCTestCase {
1515
}
1616

1717
override func tearDown() {
18-
super.tearDown()
1918
mockFileManager = nil
19+
super.tearDown()
2020
}
2121

2222
// MARK: Save
@@ -70,7 +70,7 @@ final class TabSessionStoreTests: XCTestCase {
7070
}
7171

7272
// MARK: Helper functions
73-
73+
@MainActor
7474
func createSubject() -> DefaultTabSessionStore {
7575
let subject = DefaultTabSessionStore(fileManager: mockFileManager)
7676
trackForMemoryLeaks(subject)

BrowserKit/Tests/TabDataStoreTests/XCTestCaseExtension.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import Foundation
66
import XCTest
77

88
extension XCTestCase {
9+
@MainActor
910
func trackForMemoryLeaks(_ instance: AnyObject, file: StaticString = #filePath, line: UInt = #line) {
1011
addTeardownBlock { [weak instance] in
1112
XCTAssertNil(

0 commit comments

Comments
 (0)