2026-08-13 07:17:37 +00:00
|
|
|
<?php
|
|
|
|
|
|
2026-09-08 09:49:02 +00:00
|
|
|
test('app layouts let the root element own vertical scrolling', function (string $layout) {
|
2026-08-13 07:17:37 +00:00
|
|
|
$contents = file_get_contents(dirname(__DIR__, 2).'/'.$layout);
|
|
|
|
|
|
2026-09-08 09:49:02 +00:00
|
|
|
expect($contents)->not->toMatch('/<body(?:\s+[^>]*)?class="[^"]*overflow-y-scroll[^"]*"[^>]*>/');
|
chore(v5): archive V5 implementation and remove runtime integration
Move V5 source, migrations, UI, scripts, and tests into documentation, then remove V5 routes, models, jobs, configuration, dependencies, and application hooks.
2026-08-15 17:13:30 +00:00
|
|
|
})->with(['resources/views/layouts/base.blade.php']);
|
2026-09-08 09:49:02 +00:00
|
|
|
|
|
|
|
|
test('scroll locking is left to Alpine scrollbar compensation', function () {
|
|
|
|
|
$styles = file_get_contents(dirname(__DIR__, 2).'/resources/css/app.css');
|
|
|
|
|
|
|
|
|
|
expect($styles)->not->toMatch('/html\s*\{[^}]*scrollbar-gutter:\s*stable;/s');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('desktop navbar uses the document width', function () {
|
|
|
|
|
$layout = file_get_contents(dirname(__DIR__, 2).'/resources/views/layouts/app.blade.php');
|
|
|
|
|
|
|
|
|
|
expect($layout)->not->toMatch('/class="[^"]*hidden lg:flex fixed top-0 inset-x-0[^"]*w-screen[^"]*"/');
|
|
|
|
|
});
|