Split auth login accessibility contracts

This commit is contained in:
2026-03-19 19:12:25 +01:00
parent 2de0039d4f
commit 115723fcd6
8 changed files with 122 additions and 79 deletions

View File

@@ -0,0 +1,25 @@
<?php
namespace MintyPHP\Tests\Architecture;
use PHPUnit\Framework\TestCase;
final class AuthLoginPasswordToggleContractTest extends TestCase
{
use ProjectFileAssertionSupport;
public function testPasswordToggleUsesLocalizedLabelsAndKeyboardFocusableControl(): void
{
$layoutContent = $this->readProjectFile('templates/login.phtml');
$scriptContent = $this->readProjectFile('web/js/components/app-password-toggle.js');
$this->assertStringContainsString('data-password-toggle-show-label', $layoutContent);
$this->assertStringContainsString('data-password-toggle-hide-label', $layoutContent);
$this->assertStringContainsString('passwordToggleShowLabel', $scriptContent);
$this->assertStringContainsString('passwordToggleHideLabel', $scriptContent);
$this->assertStringNotContainsString('toggle.tabIndex = -1;', $scriptContent);
$this->assertStringNotContainsString("'Show password'", $scriptContent);
$this->assertStringNotContainsString("'Hide password'", $scriptContent);
}
}