Skip to content

Commit 34deaed

Browse files
committed
Fix missing dispatcher test coverage
1 parent 169a379 commit 34deaed

File tree

3 files changed

+29
-5
lines changed

3 files changed

+29
-5
lines changed

src/__tests__/suspense.test.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,21 @@ describe('renderPrepass', () => {
7272
const Outer = jest.fn(() => {
7373
const [state, setState] = useState('default')
7474

75-
const memoed = useMemo(() => state, [state])
75+
const memoedA = useMemo(() => state, [state])
76+
expect(memoedA).toBe(state)
77+
78+
// This is to test changing dependency arrays
79+
const memoedB = useMemo(
80+
() => state,
81+
state === 'default' ? null : [state]
82+
)
83+
expect(memoedB).toBe(state)
84+
7685
const ref = useRef('initial')
77-
expect(memoed).toBe(state)
7886
expect(ref.current).toBe('initial')
7987

8088
const value = getValue()
81-
setState(value)
89+
setState(() => value)
8290

8391
return <Inner value={value} state={state} />
8492
})

src/__tests__/visitor.test.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,15 +280,20 @@ describe('visitElement', () => {
280280
it('renders function components', () => {
281281
const Test = () => {
282282
const [value, setValue] = useState('a')
283-
if (value === 'a') setValue('b')
283+
if (value === 'a') {
284+
setValue('b')
285+
setValue('c')
286+
setValue('d')
287+
}
288+
284289
return <Noop>{value}</Noop>
285290
}
286291

287292
const visitor = jest.fn()
288293
const children = visitElement(<Test />, [], visitor)
289294
expect(children.length).toBe(1)
290295
expect(children[0].type).toBe(Noop)
291-
expect(children[0].props.children).toBe('b')
296+
expect(children[0].props.children).toBe('d')
292297
expect(visitor).toHaveBeenCalledWith(<Test />)
293298
})
294299

src/internals/__tests__/dispatcher.test.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { setCurrentContextStore } from '../context'
12
import { getCurrentIdentity, Dispatcher } from '../dispatcher'
23

34
describe('getCurrentIdentity', () => {
@@ -6,6 +7,16 @@ describe('getCurrentIdentity', () => {
67
})
78
})
89

10+
describe('readContext', () => {
11+
it('calls readContextValue', () => {
12+
const map = new Map()
13+
const ctx = {}
14+
setCurrentContextStore(map)
15+
map.set(ctx, 'value')
16+
expect(Dispatcher.readContext(ctx)).toBe('value')
17+
})
18+
})
19+
920
describe('useEffect', () => {
1021
it('is a noop', () => {
1122
expect(Dispatcher.useEffect).not.toThrow()

0 commit comments

Comments
 (0)