55import 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 )
0 commit comments