toContain('.listbox-trigger {')
->toContain('min-width: 0;')
->toContain('overflow: hidden;')
->toContain('.listbox-trigger-label {')
->toContain('text-overflow: ellipsis;')
->toContain('white-space: nowrap;');
});
test('listbox component uses shared trigger label truncation', function () {
$html = Blade::render(<<<'BLADE'
BLADE);
expect($html)
->toContain('class="w-full min-w-0"')
->toContain('relative min-w-0')
->toContain('listbox-trigger')
->toContain('listbox-trigger-label')
->toContain(':title="current"')
->not->toContain('class="truncate" x-text="current"');
});
test('searchable listbox component uses shared trigger label truncation', function () {
$html = Blade::render(<<<'BLADE'
BLADE);
expect($html)
->toContain('class="w-full min-w-0"')
->toContain('relative min-w-0')
->toContain('listbox-trigger-label')
->toContain(':title="current"');
});
test('notification event multiselect truncates long selected summaries', function () {
$html = Blade::render(<<<'BLADE'
BLADE);
expect($html)
->toContain('class="w-full min-w-0"')
->toContain('relative min-w-0')
->toContain('listbox-trigger')
->toContain('listbox-trigger-label')
->toContain('Docker cleanup failure, Disk usage warning, Server unreachable, Server patching')
->toContain('title="Docker cleanup failure, Disk usage warning, Server unreachable, Server patching"')
->toContain('4/4');
});