import { h, Fragment, render, mount, ref, nextTick } from '@/index'; const testChangeRef = ref void)>(null); const Selectbox = mount(renew => { let value = '4'; const changeChange = (event: InputEvent) => { value = (event.target as HTMLInputElement).value; renew(); }; testChangeRef.value = (newValue: string) => { value = newValue; renew(); }; return () => (
{value}
); }); const testWrap = document.getElementById('root') || document.createElement('div'); render(, testWrap); if (import.meta.vitest) { const { it, expect } = import.meta.vitest; it('Should see a selectbox with the default values set.', () => { expect(testWrap.outerHTML).toBe( '
4
' ); expect(testWrap?.querySelector('select')?.value).toBe('4'); }); it('Should see a selectbox reflecting the changed value.', () => { if (testChangeRef.value) { testChangeRef.value('1'); } nextTick().then(() => { expect(testWrap.outerHTML).toBe( '
1
' ); expect(testWrap?.querySelector('select')?.value).toBe('1'); }); }); }