Files
preland/tests/check-demo-layout.php
T
Panfilov Konstantin 45e20ed0cd
deploy-preland / deploy barbariskatest (push) Skipped
deploy-preland / deploy zoomstage.online (push) Successful in 19s
deploy-preland / deploy zoompixel.online (push) Skipped
deploy-preland / deploy zoompixel.ru (push) Skipped
fix: align stage preland picker and demo layout
2026-10-17 07:39:37 +03:00

51 lines
1.6 KiB
PHP

<?php
/**
* Наборы примеров Preland должны копироваться с Index без переложения:
* images/demo/<пример>/ и images/demo-N/<пример>/.
*/
declare(strict_types=1);
$root = dirname(__DIR__);
$failures = [];
foreach ([
'images/demo/1/source.avif',
'images/demo/1/result.avif',
'images/demo/1/thumb.avif',
'images/demo/5/source_mob.avif',
'images/demo-2/1/source.avif',
'images/demo-2/5/result_mob.avif',
] as $relativePath) {
if (!is_file($root . '/' . $relativePath)) {
$failures[] = "Отсутствует Index-совместимый asset {$relativePath}.";
}
}
foreach ([
'images/demo/1/1',
'images/demo/2/1',
] as $legacyPath) {
if (is_dir($root . '/' . $legacyPath)) {
$failures[] = "Не должна оставаться промежуточная группировка {$legacyPath}.";
}
}
$template = (string) file_get_contents($root . '/template.php');
$examples = (string) file_get_contents($root . '/components/examples.php');
$pathBuilder = "\$demoDirName = 'demo' . (\$indpic === '1' ? '' : '-' . \$indpic);";
if (!str_contains($template, $pathBuilder)
|| !str_contains($examples, $pathBuilder)
|| !str_contains($template, '"/images/{$demoDirName}/1"')
|| !str_contains($examples, '"/images/{$demoDirName}"')) {
$failures[] = 'Template и examples должны строить путь из Index-совместимого имени demo/demo-N.';
}
if ($failures !== []) {
fwrite(STDERR, "FAILED\n- " . implode("\n- ", $failures) . "\n");
exit(1);
}
fwrite(STDOUT, "OK: Preland demo layout matches Index\n");