diff --git a/Package.swift b/Package.swift index f730f69..f60e023 100644 --- a/Package.swift +++ b/Package.swift @@ -1,11 +1,11 @@ -// swift-tools-version:5.0 +// swift-tools-version:6.0 import PackageDescription let package = Package( name: "Then", platforms: [ - .macOS(.v10_10), .iOS(.v9), .tvOS(.v9), .watchOS(.v2), + .macOS(.v10_13), .iOS(.v12), .tvOS(.v12), .watchOS(.v4), ], products: [ .library(name: "Then", targets: ["Then"]), diff --git a/Project.swift b/Project.swift index 94d0723..e2cc816 100644 --- a/Project.swift +++ b/Project.swift @@ -24,7 +24,7 @@ let project = Project( headers: .headers(public: "Sources/Then/**/*.h"), settings: .settings( base: [ - "SWIFT_VERSION": "5.0", + "SWIFT_VERSION": "6.0", "PRODUCT_NAME": "Then", "PRODUCT_MODULE_NAME": "Then", ], @@ -43,7 +43,7 @@ let project = Project( ], settings: .settings( base: [ - "SWIFT_VERSION": "5.0", + "SWIFT_VERSION": "6.0", ], ), ), @@ -58,7 +58,7 @@ let project = Project( headers: .headers(public: "Sources/Then/**/*.h"), settings: .settings( base: [ - "SWIFT_VERSION": "5.0", + "SWIFT_VERSION": "6.0", "PRODUCT_NAME": "Then", "PRODUCT_MODULE_NAME": "Then", ], @@ -77,7 +77,7 @@ let project = Project( ], settings: .settings( base: [ - "SWIFT_VERSION": "5.0", + "SWIFT_VERSION": "6.0", ], ), ), @@ -92,7 +92,7 @@ let project = Project( headers: .headers(public: "Sources/Then/**/*.h"), settings: .settings( base: [ - "SWIFT_VERSION": "5.0", + "SWIFT_VERSION": "6.0", "PRODUCT_NAME": "Then", "PRODUCT_MODULE_NAME": "Then", ], @@ -111,7 +111,7 @@ let project = Project( ], settings: .settings( base: [ - "SWIFT_VERSION": "5.0", + "SWIFT_VERSION": "6.0", ], ), ), @@ -126,7 +126,7 @@ let project = Project( headers: .headers(public: "Sources/Then/**/*.h"), settings: .settings( base: [ - "SWIFT_VERSION": "5.0", + "SWIFT_VERSION": "6.0", "PRODUCT_NAME": "Then", "PRODUCT_MODULE_NAME": "Then", ], @@ -145,7 +145,7 @@ let project = Project( ], settings: .settings( base: [ - "SWIFT_VERSION": "5.0", + "SWIFT_VERSION": "6.0", ], ), ), diff --git a/Tests/ThenTests/ThenTests.swift b/Tests/ThenTests/ThenTests.swift index 2fc7157..86ee6d0 100644 --- a/Tests/ThenTests/ThenTests.swift +++ b/Tests/ThenTests/ThenTests.swift @@ -70,4 +70,38 @@ class ThenTests: XCTestCase { }, ) } + + @MainActor + func testThen_MainActorIsolated() { + @MainActor class MyView: NSObject { + var title: String = "" + } + let view = MyView().then { + $0.title = "hello" + } + XCTAssertEqual(view.title, "hello") + } + + @MainActor + func testWith_MainActorIsolated() { + @MainActor struct Config: Then { + var value: Int = 0 + } + let config = Config().with { + $0.value = 42 + } + XCTAssertEqual(config.value, 42) + } + + @MainActor + func testDo_MainActorIsolated() { + @MainActor class Store: NSObject { + var count: Int = 0 + } + let store = Store() + store.do { + $0.count = 10 + } + XCTAssertEqual(store.count, 10) + } }