Skip to content

Commit a6bf173

Browse files
committed
test: hydrate + rerender behavior
1 parent 68d2a23 commit a6bf173

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

src/__tests__/rerender.js

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as React from 'react'
2+
import * as ReactDOMServer from 'react-dom/server'
23
import {render} from '../'
34

45
test('rerender will re-render the element', () => {
@@ -10,22 +11,19 @@ test('rerender will re-render the element', () => {
1011
})
1112

1213
test('hydrate will not update props until next render', () => {
13-
const initialInputElement = document.createElement('input')
1414
const container = document.createElement('div')
15-
container.appendChild(initialInputElement)
1615
document.body.appendChild(container)
16+
const ui = <main>Server</main>
17+
container.innerHTML = ReactDOMServer.renderToString(ui)
1718

18-
const firstValue = 'hello'
19-
initialInputElement.value = firstValue
20-
21-
const {rerender} = render(<input value="" onChange={() => null} />, {
19+
const {rerender} = render(ui, {
2220
container,
2321
hydrate: true,
2422
})
2523

26-
expect(initialInputElement).toHaveValue(firstValue)
24+
expect(container).toHaveTextContent('Server')
25+
26+
rerender(<main>Client</main>)
2727

28-
const secondValue = 'goodbye'
29-
rerender(<input value={secondValue} onChange={() => null} />)
30-
expect(initialInputElement).toHaveValue(secondValue)
28+
expect(container).toHaveTextContent('Client')
3129
})

0 commit comments

Comments
 (0)