diff --git a/Sources/OpenSwiftUITestsSupport/Integration/PlatformHostingControllerHelper.swift b/Sources/OpenSwiftUITestsSupport/Integration/PlatformHostingControllerHelper.swift index 0c61fe46f..0a8b2df55 100644 --- a/Sources/OpenSwiftUITestsSupport/Integration/PlatformHostingControllerHelper.swift +++ b/Sources/OpenSwiftUITestsSupport/Integration/PlatformHostingControllerHelper.swift @@ -44,6 +44,10 @@ package func triggerLayoutWithWindow( vc.triggerLayout() window = vc.view.window } + #if os(macOS) + window.isReleasedWhenClosed = false + window.close() + #endif withExtendedLifetime(window) {} } @@ -57,6 +61,10 @@ package func triggerLayoutWithWindow( vc.triggerLayout() window = vc.view.window } + #if os(macOS) + window.isReleasedWhenClosed = false + window.close() + #endif withExtendedLifetime(window) {} } @@ -73,6 +81,10 @@ package func triggerLayoutWithWindow( window = vc.view.window } } + #if os(macOS) + window.isReleasedWhenClosed = false + window.close() + #endif withExtendedLifetime(window) {} } @@ -89,6 +101,10 @@ package func triggerLayoutWithWindow( window = vc.view.window } } + #if os(macOS) + window.isReleasedWhenClosed = false + window.close() + #endif withExtendedLifetime(window) {} } diff --git a/Tests/OpenSwiftUICompatibilityTests/Modifier/ViewModifier/AppearanceActionModifierCompatibilityTests.swift b/Tests/OpenSwiftUICompatibilityTests/Modifier/ViewModifier/AppearanceActionModifierCompatibilityTests.swift index 16bf217b6..a14084603 100644 --- a/Tests/OpenSwiftUICompatibilityTests/Modifier/ViewModifier/AppearanceActionModifierCompatibilityTests.swift +++ b/Tests/OpenSwiftUICompatibilityTests/Modifier/ViewModifier/AppearanceActionModifierCompatibilityTests.swift @@ -7,7 +7,6 @@ import Testing import Foundation import OpenSwiftUITestsSupport -@MainActor struct AppearanceActionModifierCompatibilityTests { @Test func appear() async throws { @@ -70,12 +69,7 @@ struct AppearanceActionModifierCompatibilityTests { ) ) } - #if os(macOS) - // FIXME: NSHostingView is not dealloc here - // See #454 - #expect(Helper.result == "AAD") - #else - #expect(Helper.result == "AADD") - #endif + + await #expect(Helper.result == "AADD") } }