Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
2560aae
Build shared Windows sheet framework
coneilen Oct 21, 2026
13c2d59
Merge origin/main into dialog framework
coneilen Oct 21, 2026
a0d6bde
Harden sheet relayout and DPI behavior
coneilen Oct 21, 2026
16e97f9
Restore NativeForms default actions
coneilen Oct 21, 2026
3ccc4b8
Preserve focused sheet footer actions
coneilen Oct 21, 2026
4f4520d
Merge origin/main into dialog framework
coneilen Oct 21, 2026
6327a3b
Preserve owner focus across sheets
coneilen Oct 21, 2026
d3237d8
Avoid App dialog title shadowing
coneilen Oct 21, 2026
e7cb238
Fix dialog CI contracts and draw routing
coneilen Oct 21, 2026
d824e66
Merge origin/main into dialog framework
coneilen Oct 21, 2026
008b8a7
Fail closed on unknown prompt controls
coneilen Oct 21, 2026
8b4d7cd
Merge origin/main into dialog framework
coneilen Oct 21, 2026
9fffd18
Preserve Win32 handle bit patterns
coneilen Oct 21, 2026
587c0d6
Restore repository sheet headings
coneilen Oct 21, 2026
355c156
Bound UIA ingress commands
coneilen Oct 21, 2026
9db8b4d
Anchor UIA timeout contracts
coneilen Oct 21, 2026
5d9c73e
Reject decoy UIA timeout contracts
coneilen Oct 21, 2026
18d136c
Find native forms through owned sheets
coneilen Oct 21, 2026
386e009
Discover captionless sheets by ownership
coneilen Oct 21, 2026
102387c
Wait for owned sheet evidence
coneilen Oct 21, 2026
6ac1670
Stabilize sheet teardown sequencing
coneilen Oct 21, 2026
2010bab
Invoke Delete through the native menu
coneilen Oct 21, 2026
6f443f0
Route Escape through sheet cancel actions
coneilen Oct 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
451 changes: 411 additions & 40 deletions Tools/windows/Tests/ValidationRunner.Tests.ps1

Large diffs are not rendered by default.

27 changes: 22 additions & 5 deletions Tools/windows/Tests/WindowsShell.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -654,6 +654,7 @@ Assert-Contract ($appSource -match

$codespaceDialogSource = Get-Content -LiteralPath (Join-Path $shellRoot "src\WindowsCodespaceDialog.zig") -Raw
$codespaceClientSource = Get-Content -LiteralPath (Join-Path $shellRoot "src\Codespaces.zig") -Raw
$sheetFrameworkSource = Get-Content -LiteralPath (Join-Path $shellRoot "src\SheetFramework.zig") -Raw
$graphModelSource = Get-Content -LiteralPath (Join-Path $shellRoot "src\GraphModel.zig") -Raw

Assert-Contract ($mainWindowSource -match 'Add Codespace\.\.\.\\tCtrl\+Shift\+K') `
Expand All @@ -674,7 +675,11 @@ Assert-Contract ($codespaceClientSource -match 'gh auth refresh -h github\.com -
"a missing codespace scope must tell the human the exact command that fixes it"
Assert-Contract ($codespaceDialogSource -match 'WM_CTLCOLORLISTBOX' -and $codespaceDialogSource -match 'WM_CTLCOLOREDIT') `
"the codespace sheet must paint its list and fields dark like the rest of the shell"
Assert-Contract ($codespaceDialogSource -match 'IsDialogMessageW') `
Assert-Contract (
$codespaceDialogSource -match '@import\("SheetFramework\.zig"\)' -and
$codespaceDialogSource -match 'host\.runModal\(\)' -and
$sheetFrameworkSource -match 'IsDialogMessageW\(self\.hwnd,\s*&message\)'
) `
"the codespace sheet must remain keyboard navigable"

$zmxSessionSource = Get-Content -LiteralPath (Join-Path $shellRoot "src\ZmxSession.zig") -Raw
Expand Down Expand Up @@ -772,7 +777,7 @@ Invoke-Native "Native dialog message-loop executable tests" {
$include = Join-Path $winghosttyRoot "include"
Push-Location $shellRoot
try {
& $zig test src\NativeForms.zig -target x86_64-windows-msvc -lc -luser32 "-I$include"
& $zig test src\NativeForms.zig -target x86_64-windows-msvc -lc -luser32 -lgdi32 "-I$include"
} finally { Pop-Location }
}
Invoke-Native "Update offer modal deferral executable tests" {
Expand All @@ -792,7 +797,7 @@ Invoke-Native "Context menu and gate fixture message executable tests" {
$include = Join-Path $winghosttyRoot "include"
Push-Location $shellRoot
try {
& $zig test src\GraphContextMenu.zig -target x86_64-windows-msvc -lc -luser32 "-I$include"
& $zig test src\GraphContextMenu.zig -target x86_64-windows-msvc -lc -luser32 -lgdi32 "-I$include"
if ($LASTEXITCODE -ne 0) { return }
& $zig test src\MainWindow.zig -target x86_64-windows-msvc -lc -luser32 -lgdi32 -ladvapi32 "-I$include"
} finally { Pop-Location }
Expand Down Expand Up @@ -1178,6 +1183,18 @@ Invoke-Native "GDI gradient executable tests" {
& $zig test src\GdiGradient.zig -target x86_64-windows-msvc -lc -luser32 -lgdi32 "-I$include"
} finally { Pop-Location }
}
Invoke-Native "Sheet framework executable tests" {
$depotRoot = Split-Path (Split-Path $repoRoot -Parent) -Parent
$winghosttyRoot = [Environment]::GetEnvironmentVariable("GRAPHCODE_WINGHOSTTY_ROOT")
if (-not $winghosttyRoot) {
$winghosttyRoot = Join-Path $depotRoot "Winghostty-worktrees\host-integration"
}
$include = Join-Path $winghosttyRoot "include"
Push-Location $shellRoot
try {
& $zig test src\SheetFramework.zig -target x86_64-windows-msvc -lc -luser32 -lgdi32 "-I$include"
} finally { Pop-Location }
}
Invoke-Native "App font cache executable tests" {
$depotRoot = Split-Path (Split-Path $repoRoot -Parent) -Parent
$winghosttyRoot = [Environment]::GetEnvironmentVariable("GRAPHCODE_WINGHOSTTY_ROOT")
Expand Down Expand Up @@ -1244,7 +1261,7 @@ Invoke-Native "Update offer dialog executable tests" {
$include = Join-Path $winghosttyRoot "include"
Push-Location $shellRoot
try {
& $zig test src\UpdateOfferDialog.zig -target x86_64-windows-msvc -lc -luser32 "-I$include"
& $zig test src\UpdateOfferDialog.zig -target x86_64-windows-msvc -lc -luser32 -lgdi32 "-I$include"
} finally { Pop-Location }
}
Invoke-Native "Update install dialog executable tests" {
Expand All @@ -1256,7 +1273,7 @@ Invoke-Native "Update install dialog executable tests" {
$include = Join-Path $winghosttyRoot "include"
Push-Location $shellRoot
try {
& $zig test src\UpdateInstallDialog.zig -target x86_64-windows-msvc -lc -lwinhttp -luser32 "-I$include"
& $zig test src\UpdateInstallDialog.zig -target x86_64-windows-msvc -lc -lwinhttp -luser32 -lgdi32 "-I$include"
} finally { Pop-Location }
}
Invoke-Native "Native dialog field contract executable tests" {
Expand Down
Loading
Loading