Harden browser devtools split reparent flow

This commit is contained in:
Lawrence Chen 2026-02-19 21:13:41 -08:00
parent 6170143b6d
commit 54a0f78d75
4 changed files with 204 additions and 11 deletions

View file

@ -297,6 +297,27 @@ final class BrowserDeveloperToolsVisibilityPersistenceTests: XCTestCase {
XCTAssertEqual(inspector.showCount, 2)
}
func testForcedRefreshAfterAttachReopensVisibleInspectorOnce() {
let (panel, inspector) = makePanelWithInspector()
XCTAssertTrue(panel.showDeveloperTools())
XCTAssertTrue(panel.isDeveloperToolsVisible())
XCTAssertEqual(inspector.showCount, 1)
XCTAssertEqual(inspector.closeCount, 0)
panel.requestDeveloperToolsRefreshAfterNextAttach(reason: "unit-test")
panel.restoreDeveloperToolsAfterAttachIfNeeded()
XCTAssertTrue(panel.isDeveloperToolsVisible())
XCTAssertEqual(inspector.closeCount, 1)
XCTAssertEqual(inspector.showCount, 2)
// The force-refresh request should be one-shot.
panel.restoreDeveloperToolsAfterAttachIfNeeded()
XCTAssertEqual(inspector.closeCount, 1)
XCTAssertEqual(inspector.showCount, 2)
}
func testTransientHideAttachmentPreserveFollowsDeveloperToolsIntent() {
let (panel, _) = makePanelWithInspector()