/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import * as React from 'react'; import {render} from '@testing-library/react'; import {expectLogsAndClear, log} from './expectLogs'; function Hello({name}) { const items = [1, 2, 3].map(item => { log(`recomputing ${item}`); return
Item {item}
; }); return (
Hello{name} {items}
); } test('hello', () => { const {asFragment, rerender} = render(); expect(asFragment()).toMatchInlineSnapshot(`
Hello World
Item 1
Item 2
Item 3
`); expectLogsAndClear(['recomputing 1', 'recomputing 2', 'recomputing 3']); rerender(); expect(asFragment()).toMatchInlineSnapshot(`
Hello Universe
Item 1
Item 2
Item 3
`); expectLogsAndClear( __FORGET__ ? [] : ['recomputing 1', 'recomputing 2', 'recomputing 3'] ); });