import React from 'react'; import { Icon, InlineIcon } from '../../dist/offline'; import { describe, test, expect } from 'vitest'; import { render } from '@testing-library/react'; const iconData = { body: '', width: 24, height: 24, }; describe('Passing attributes', () => { test('title', () => { // @ts-expect-error const renderResult = render(); expect(renderResult.container.innerHTML).toContain('title="Icon!"'); }); test('aria-hidden', () => { // dashes, string value const renderResult = render( ); expect(renderResult.container.innerHTML).not.toContain('aria-hidden'); }); test('ariaHidden', () => { // camelCase, boolean value const renderResult = render( // @ts-expect-error ); expect(renderResult.container.innerHTML).not.toContain('aria-hidden'); }); test('style', () => { const renderResult = render( ); expect(renderResult.container.innerHTML).toContain( 'style="vertical-align: 0; color: red;"' ); }); test('color', () => { const renderResult = render(); expect(renderResult.container.innerHTML).toContain( 'style="color: red;"' ); }); test('color with style', () => { const renderResult = render( ); // In React component, `style` overrides `color` expect(renderResult.container.innerHTML).toContain( 'style="color: green;"' ); expect(renderResult.container.innerHTML).not.toContain('red'); }); test('attributes that cannot change', () => { const renderResult = render( ); expect(renderResult.container.innerHTML).toContain( 'viewBox="0 0 24 24"' ); expect(renderResult.container.innerHTML).not.toContain('0 0 0 0'); }); });