diff --git a/packages/autocomplete-core/src/__tests__/getInputProps.test.ts b/packages/autocomplete-core/src/__tests__/getInputProps.test.ts index 23befd84d..2f2bb2101 100644 --- a/packages/autocomplete-core/src/__tests__/getInputProps.test.ts +++ b/packages/autocomplete-core/src/__tests__/getInputProps.test.ts @@ -89,11 +89,21 @@ describe('getInputProps', () => { test('returns aria-controls with list ID when panel is open', () => { const { getInputProps, inputElement } = createPlayground( createAutocomplete, - { id: 'autocomplete', initialState: { isOpen: true } } + { + id: 'autocomplete', + initialState: { + isOpen: true, + collections: [ + createCollection({ + source: { sourceId: 'testSource' }, + }), + ], + }, + } ); const inputProps = getInputProps({ inputElement }); - expect(inputProps['aria-controls']).toEqual('autocomplete-list'); + expect(inputProps['aria-controls']).toEqual('autocomplete-testSource-list'); }); test('returns aria-labelledby with label ID', () => { @@ -669,6 +679,7 @@ describe('getInputProps', () => { initialState: { collections: [ createCollection({ + source: { sourceId: 'testSource' }, items: [{ label: '1' }], }), ], @@ -676,7 +687,7 @@ describe('getInputProps', () => { ...props, }); const item = document.createElement('div'); - item.setAttribute('id', 'autocomplete-item-0'); + item.setAttribute('id', 'autocomplete-testSource-item-0'); document.body.appendChild(item); return { ...playground, item }; diff --git a/packages/autocomplete-core/src/__tests__/getItemProps.test.ts b/packages/autocomplete-core/src/__tests__/getItemProps.test.ts index c1ef1c24e..7e46c082b 100644 --- a/packages/autocomplete-core/src/__tests__/getItemProps.test.ts +++ b/packages/autocomplete-core/src/__tests__/getItemProps.test.ts @@ -29,7 +29,7 @@ describe('getItemProps', () => { ...defaultItemProps, }); - expect(itemProps.id).toEqual('autocomplete-item-0'); + expect(itemProps.id).toEqual('autocomplete-testSource-item-0'); }); test('returns the role to option', () => { diff --git a/packages/autocomplete-core/src/__tests__/getRootProps.test.ts b/packages/autocomplete-core/src/__tests__/getRootProps.test.ts index 228f6afca..5a5fee2c6 100644 --- a/packages/autocomplete-core/src/__tests__/getRootProps.test.ts +++ b/packages/autocomplete-core/src/__tests__/getRootProps.test.ts @@ -1,3 +1,4 @@ +import { createCollection } from '../../../../test/utils'; import { createAutocomplete } from '../createAutocomplete'; describe('getRootProps', () => { @@ -60,11 +61,16 @@ describe('getRootProps', () => { id: 'autocomplete', initialState: { isOpen: true, + collections: [ + createCollection({ + source: { sourceId: 'testSource' }, + }), + ], }, }); const rootProps = autocomplete.getRootProps({}); - expect(rootProps['aria-owns']).toEqual('autocomplete-list'); + expect(rootProps['aria-owns']).toEqual('autocomplete-testSource-list'); }); test('returns label id in aria-labelledby', () => { diff --git a/packages/autocomplete-core/src/utils/getAutocompleteElementId.ts b/packages/autocomplete-core/src/utils/getAutocompleteElementId.ts index d71e7a940..5dc69e01b 100644 --- a/packages/autocomplete-core/src/utils/getAutocompleteElementId.ts +++ b/packages/autocomplete-core/src/utils/getAutocompleteElementId.ts @@ -14,5 +14,6 @@ export function getAutocompleteElementId( ) { return [autocompleteInstanceId, source?.sourceId, elementId] .filter(Boolean) - .join('-'); + .join('-') + .replace(/\s/g, ''); } diff --git a/packages/autocomplete-js/src/__tests__/detached.test.ts b/packages/autocomplete-js/src/__tests__/detached.test.ts index 01005d638..d39559210 100644 --- a/packages/autocomplete-js/src/__tests__/detached.test.ts +++ b/packages/autocomplete-js/src/__tests__/detached.test.ts @@ -80,7 +80,7 @@ describe('detached', () => { }); const firstItem = document.querySelector( - '#autocomplete-0-item-0' + '#autocomplete-testSource-item-0' )!; // Select the first item diff --git a/packages/autocomplete-js/src/__tests__/renderer.test.ts b/packages/autocomplete-js/src/__tests__/renderer.test.ts index cca9ed416..62697bcd8 100644 --- a/packages/autocomplete-js/src/__tests__/renderer.test.ts +++ b/packages/autocomplete-js/src/__tests__/renderer.test.ts @@ -221,15 +221,15 @@ describe('renderer', () => { data-autocomplete-source-id="testSource" >