24 lines
1.4 KiB
PowerShell
24 lines
1.4 KiB
PowerShell
$ErrorActionPreference = 'Stop'
|
|
$root = Split-Path $PSScriptRoot -Parent
|
|
$page = [System.IO.File]::ReadAllText((Join-Path $root 'pages/genealogy/g10-application-review.vue'), [System.Text.Encoding]::UTF8)
|
|
|
|
foreach ($expected in @(
|
|
'@include adaptive-genealogy-list-card',
|
|
'@include adaptive-feedback-toast',
|
|
'background: url("/static/assets/modules/genealogy/transparent/section-divider.png") bottom center / 100% 14rpx no-repeat',
|
|
'grid-template-columns: auto minmax(0, 1fr) auto',
|
|
'padding: 28rpx 28rpx 22rpx 40rpx',
|
|
'<AppButton',
|
|
'compact-actions',
|
|
'z-index: 1',
|
|
'@include adaptive-genealogy-form-field'
|
|
)) {
|
|
if (-not $page.Contains($expected)) { throw "G10 document-flow contract missing: $expected" }
|
|
}
|
|
if ($page -notmatch '(?s)\.review-feedback\s*\{[^}]*position:\s*fixed;') { throw 'G10 feedback must remain fixed' }
|
|
if ([regex]::Matches($page, 'position\s*:').Count -ne 1) { throw 'G10 must keep only its fixed feedback positioned' }
|
|
if ($page -match 'class="(?:application-card__skin|review-state-card__skin)"|review-intro[^>]*>.*?section-divider\.png|review-feedback[^>]*>\s*<image') { throw 'G10 decorative frames must be container backgrounds' }
|
|
if ($page -match '(?s)\.(?:application-card|review-state-card)\s*\{[^}]*background:[^}]*list-slip-frame\.png[^}]*100%\s+100%') { throw 'G10 card frames must use nine-slice border images instead of complete-image stretching' }
|
|
|
|
Write-Output 'G10-DOCUMENT-FLOW-CONTRACT PASS'
|