11 lines
810 B
PowerShell
11 lines
810 B
PowerShell
$ErrorActionPreference = 'Stop'
|
|
$root = Split-Path -Parent $PSScriptRoot
|
|
$page = Get-Content -LiteralPath (Join-Path $root 'pages/family/f01-family-feed.vue') -Raw -Encoding UTF8
|
|
foreach ($route in @('people: "R01"','gifts: "R03"','merits: "R11"','videos: "F10"')) {
|
|
if (-not $page.Contains($route)) { throw "F01 product entry missing: $route" }
|
|
}
|
|
if ($page -match '(?s)\.family-page\s*\{[^}]*overflow:\s*hidden') { throw 'F01 must not clip long page content' }
|
|
if (-not $page.Contains('return openPage(routes[key], { genealogyId: genealogyId.value }, "F01");')) { throw 'F01 child routes must preserve genealogy context through the navigation gateway' }
|
|
if ($page.Contains('/pages/')) { throw 'F01 must not retain route literals outside the unique registry' }
|
|
Write-Output 'F01-PRODUCT-ENTRY-CONTRACT PASS'
|