This commit is contained in:
51
test/index.test.tsx
Normal file
51
test/index.test.tsx
Normal file
@@ -0,0 +1,51 @@
|
||||
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 = (<Hello />) as HTMLDivElement
|
||||
expect(container.outerHTML).toBe('<div>Hello World!</div>')
|
||||
})
|
||||
})
|
||||
|
||||
it('changes the hello target', () =>
|
||||
createRoot(dispose => {
|
||||
const [to, setTo] = createSignal('Solid')
|
||||
const container = (<Hello to={to()} />) as HTMLDivElement
|
||||
expect(container.outerHTML).toBe('<div>Hello Solid!</div>')
|
||||
setTo('Tests')
|
||||
|
||||
// rendering is async
|
||||
queueMicrotask(() => {
|
||||
expect(container.outerHTML).toBe('<div>Hello Tests!</div>')
|
||||
dispose()
|
||||
})
|
||||
}))
|
||||
})
|
||||
30
test/server.test.tsx
Normal file
30
test/server.test.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { isServer, renderToString } from 'solid-js/web'
|
||||
import { Hello, createHello } from '../src'
|
||||
|
||||
describe('environment', () => {
|
||||
it('runs on server', () => {
|
||||
expect(typeof window).toBe('undefined')
|
||||
expect(isServer).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
describe('createHello', () => {
|
||||
it('Returns a Hello World signal', () => {
|
||||
const [hello] = createHello()
|
||||
expect(hello()).toBe('Hello World!')
|
||||
})
|
||||
|
||||
it('Changes the hello target', () => {
|
||||
const [hello, setHello] = createHello()
|
||||
setHello('Solid')
|
||||
expect(hello()).toBe('Hello Solid!')
|
||||
})
|
||||
})
|
||||
|
||||
describe('Hello', () => {
|
||||
it('renders a hello component', () => {
|
||||
const string = renderToString(() => <Hello />)
|
||||
expect(string).toBe('<div>Hello World!</div>')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user