/
githubmr
/
facebook-react
Обзор
Документация
Войти
/
githubmr
/
facebook-react
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-devtools-shared/src/__tests__/bridge-test.js
53 строки
2 KB
Jack Works
fix: devtools cannot be closed correctly (#25510)
13 июн 2023, 12:04
Не верифицирован
13 июн 2023, 12:04
88df88f
Код
Авторство
О чём код?
/** * 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. * * @flow */ describe('Bridge', () => { let Bridge; beforeEach(() => { Bridge = require('react-devtools-shared/src/bridge').default; }); // @reactVersion >=16.0 it('should shutdown properly', () => { const wall = { listen: jest.fn(() => () => {}), send: jest.fn(), }; const bridge = new Bridge(wall); const shutdownCallback = jest.fn(); bridge.addListener('shutdown', shutdownCallback); // Check that we're wired up correctly. bridge.send('reloadAppForProfiling'); jest.runAllTimers(); expect(wall.send).toHaveBeenCalledWith('reloadAppForProfiling'); // Should flush pending messages and then shut down. wall.send.mockClear(); bridge.send('update', '1'); bridge.send('update', '2'); bridge.shutdown(); jest.runAllTimers(); expect(wall.send).toHaveBeenCalledWith('update', '1'); expect(wall.send).toHaveBeenCalledWith('update', '2'); expect(wall.send).toHaveBeenCalledWith('shutdown'); expect(shutdownCallback).toHaveBeenCalledTimes(1); // Verify that the Bridge doesn't send messages after shutdown. jest.spyOn(console, 'warn').mockImplementation(() => {}); wall.send.mockClear(); bridge.send('should not send'); jest.runAllTimers(); expect(wall.send).not.toHaveBeenCalled(); expect(console.warn).toHaveBeenCalledWith( 'Cannot send message "should not send" through a Bridge that has been shutdown.', ); }); });