mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-11-11 13:28:19 +00:00
* Add aria hidden to lucide package * Add aria-hidden to astro package * Add tests for shared package * Fix test for props * add aria prop to lucide-solid * Add aria-hidden to lucide-vue-next * Add aria-hidden prop to angular package * Fix builds * Add notice about aria-label in docs * Format code * Update packages/svelte/tests/Icon.spec.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update packages/lucide-svelte/tests/Icon.spec.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update packages/shared/src/utils/hasA11yProp.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Adjusted docs * Fix import * update tests * test(shared): fix hasA11yProp unit test * fix(packages/lucide-angular): fix hasA11yProp import path (non-relative import path will not get properly resolved by ng-packagr) * Format code * Adjust aria props to root element * Format code --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org>
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import { describe, it, expect } from 'vitest';
|
|
import { hasA11yProp } from '../src/utils/hasA11yProp';
|
|
|
|
describe('hasA11yProp', () => {
|
|
it('returns true if props contain an aria- attribute', () => {
|
|
expect(hasA11yProp({ 'aria-label': 'Close' })).toBe(true);
|
|
expect(hasA11yProp({ 'aria-hidden': true })).toBe(true);
|
|
});
|
|
|
|
it('returns true if props contain a role attribute', () => {
|
|
expect(hasA11yProp({ role: 'button' })).toBe(true);
|
|
});
|
|
|
|
it('returns true if props contain a title attribute', () => {
|
|
expect(hasA11yProp({ title: 'Icon' })).toBe(true);
|
|
});
|
|
|
|
it('returns false if props do not contain any a11y attributes', () => {
|
|
expect(hasA11yProp({ className: 'foo', id: 'bar' })).toBe(false);
|
|
expect(hasA11yProp({})).toBe(false);
|
|
});
|
|
|
|
it('returns true if multiple a11y props are present', () => {
|
|
expect(hasA11yProp({ 'aria-label': 'Close', role: 'button', title: 'Close icon' })).toBe(true);
|
|
});
|
|
|
|
it('returns true if a11y prop is present among other props', () => {
|
|
expect(hasA11yProp({ className: 'foo', 'aria-label': 'Close' })).toBe(true);
|
|
});
|
|
});
|