import InlineSnapshotTesting import TestCases import XCTest final class iOS16_PresentationTests: BaseIntegrationTests { @MainActor override func setUpWithError() throws { try super.setUpWithError() self.app.buttons["iOS 16"].tap() self.app.buttons["Presentation"].tap() self.clearLogs() // SnapshotTesting.isRecording = true } @MainActor func testOptional() throws { try XCTSkipIf(ProcessInfo.processInfo.environment["CI"] != nil) self.app.buttons["Present sheet"].tap() self.assertLogs { """ BasicsView.body StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init ViewStoreOf.deinit ViewStoreOf.init ViewStoreOf.init ViewStoreOf.deinit ViewStoreOf.init ViewStoreOf.init WithViewStoreOf.body WithViewStoreOf.body """ } self.app.buttons["Increment"].tap() self.assertLogs { """ BasicsView.body ViewStoreOf.deinit ViewStoreOf.init WithViewStoreOf.body """ } self.app.buttons["Dismiss"].firstMatch.tap() self.assertLogs { """ StoreOf.deinit StoreOf.deinit StoreOf.deinit StoreOf.deinit ViewStoreOf.deinit ViewStoreOf.deinit """ } } @MainActor func testOptional_ObserveChildCount() { self.app.buttons["Present sheet"].tap() self.assertLogs { """ BasicsView.body StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init ViewStoreOf.deinit ViewStoreOf.init ViewStoreOf.init ViewStoreOf.deinit ViewStoreOf.init ViewStoreOf.init WithViewStoreOf.body WithViewStoreOf.body """ } self.app.buttons["Observe child count"].tap() self.assertLogs { """ PresentationView.body ViewStore.deinit ViewStore.init WithViewStore.body """ } self.app.buttons["Increment"].tap() self.assertLogs { """ BasicsView.body PresentationView.body ViewStore.deinit ViewStore.init ViewStoreOf.deinit ViewStoreOf.init WithViewStore.body WithViewStoreOf.body """ } XCTAssertEqual(self.app.staticTexts["Count: 1"].exists, true) self.app.buttons["Dismiss"].firstMatch.tap() self.assertLogs { """ PresentationView.body StoreOf.deinit StoreOf.deinit StoreOf.deinit StoreOf.deinit ViewStore.deinit ViewStore.init ViewStoreOf.deinit ViewStoreOf.deinit WithViewStore.body """ } } }