reference }}-', $view); self::assertStringContainsString('data-helpdesk-branch-suffix', $view); self::assertStringContainsString('data-helpdesk-branch-prefix-select', $view); self::assertStringContainsString('normaliseHelpdeskBranchPrefix', $view); self::assertStringContainsString('feature/', $view); self::assertStringContainsString('bugfix/', $view); self::assertStringContainsString('hotfix/', $view); self::assertStringContainsString('support/', $view); self::assertStringContainsString('data-helpdesk-copy-branch-command', $view); self::assertStringContainsString('copyHelpdeskBranchCommand', $view); self::assertStringContainsString('normaliseHelpdeskBranchSuffix', $view); self::assertStringContainsString('Copied to clipboard.', $view); } /** * Ensure visibility selectors keep their accent backgrounds during interaction. */ public function test_visibility_controls_keep_accent_backgrounds_on_hover_and_focus(): void { $ticketViewPath = dirname(__DIR__, 2) . '/Resources/views/livewire/ticket-show.blade.php'; $threadViewPath = dirname(__DIR__, 2) . '/Resources/views/partials/comment-thread.blade.php'; $ticketView = file_get_contents($ticketViewPath); $threadView = file_get_contents($threadViewPath); self::assertIsString($ticketView); self::assertIsString($threadView); self::assertStringContainsString('hover:bg-emerald-100/80', $ticketView); self::assertStringContainsString('focus-within:bg-emerald-100/80', $ticketView); self::assertStringContainsString('hover:bg-purple-100/80', $ticketView); self::assertStringContainsString('focus-within:bg-purple-100/80', $ticketView); self::assertStringContainsString('hover:bg-emerald-100/80', $threadView); self::assertStringContainsString('hover:bg-purple-100/80', $threadView); } /** * Ensure ticket comments and threaded replies expose browser spelling hints. */ public function test_ticket_comment_subjects_and_bodies_enable_spellcheck(): void { $ticketViewPath = dirname(__DIR__, 2) . '/Resources/views/livewire/ticket-show.blade.php'; $threadViewPath = dirname(__DIR__, 2) . '/Resources/views/partials/comment-thread.blade.php'; $ticketView = file_get_contents($ticketViewPath); $threadView = file_get_contents($threadViewPath); self::assertIsString($ticketView); self::assertIsString($threadView); self::assertStringContainsString('data-helpdesk-comment-subject', $ticketView); self::assertStringContainsString('spellcheck="true" lang="en-GB" autocorrect="on" autocomplete="on" autocapitalize="sentences" inputmode="text"', $ticketView); self::assertStringContainsString('role="textbox" aria-multiline="true" spellcheck="true"', $ticketView); self::assertStringContainsString('id="reply-subject-{{ $comment->id }}"', $threadView); self::assertStringContainsString('spellcheck="true" lang="en-GB" autocorrect="on" autocomplete="on" autocapitalize="sentences" inputmode="text"', $threadView); } }