Files
jiapuapp/tests/g09-all-states-visual-contract.ps1
T
2026-07-21 20:59:10 +08:00

25 lines
1.4 KiB
PowerShell

$ErrorActionPreference = 'Stop'
$root = Split-Path -Parent $PSScriptRoot
$page = Get-Content -LiteralPath (Join-Path $root 'pages/genealogy/g09-my-applications.vue') -Raw -Encoding utf8
$rules = @(
'(?s)\.application-intro text:last-child\s*\{[^}]*font-size:\s*24rpx;',
'(?s)\.application-card__time\s*\{[^}]*font-size:\s*23rpx;',
'(?s)\.application-card__relation\s*\{[^}]*font-size:\s*24rpx;',
'(?s)\.application-card__status\s*\{[^}]*font-size:\s*25rpx;',
'(?s)\.application-card__hint\s*\{[^}]*font-size:\s*23rpx;',
'(?s)\.application-card__action\s*\{[^}]*font-size:\s*23rpx;',
'(?s)\.application-card__action\s*\{[^}]*white-space:\s*nowrap;',
'(?s)\.application-card\s*\{[^}]*@include\s+adaptive\.adaptive-genealogy-list-card;[^}]*min-height:\s*210rpx;[^}]*margin-bottom:\s*12rpx;',
'(?s)\.application-card__body\s*\{[^}]*min-height:\s*174rpx;[^}]*gap:\s*8rpx 14rpx;[^}]*padding:\s*26rpx 28rpx 22rpx 40rpx;',
'(?s)\.application-state-card__copy text:last-child\s*\{[^}]*font-size:\s*24rpx;'
)
if ($page -match '(?s)\.application-card\s*\{[^}]*background:\s*url\("/static/assets/modules/genealogy/transparent/list-slip-frame\.png"\)[^}]*100%\s+100%') {
throw 'G09 application card must not stretch the complete frame asset to 100% 100%'
}
foreach ($rule in $rules) {
if ($page -notmatch $rule) { throw "G09 readable visual rule missing: $rule" }
}
Write-Output 'G09-ALL-STATES-VISUAL-CONTRACT PASS'