import { createRoot, createSignal } from 'solid-js' import { isServer } from 'solid-js/web' import { describe, expect, it } from 'vitest' import { Hello, createHello } from '../src' describe('environment', () => { it('runs on client', () => { expect(typeof window).toBe('object') expect(isServer).toBe(false) }) }) describe('createHello', () => { it('Returns a Hello World signal', () => createRoot(dispose => { const [hello] = createHello() expect(hello()).toBe('Hello World!') dispose() })) it('Changes the hello target', () => createRoot(dispose => { const [hello, setHello] = createHello() setHello('Solid') expect(hello()).toBe('Hello Solid!') dispose() })) }) describe('Hello', () => { it('renders a hello component', () => { createRoot(() => { const container = () as HTMLDivElement expect(container.outerHTML).toBe('
Hello World!
') }) }) it('changes the hello target', () => createRoot(dispose => { const [to, setTo] = createSignal('Solid') const container = () as HTMLDivElement expect(container.outerHTML).toBe('
Hello Solid!
') setTo('Tests') // rendering is async queueMicrotask(() => { expect(container.outerHTML).toBe('
Hello Tests!
') dispose() }) })) })