Files
react-native/Libraries/YellowBox/__tests__/YellowBoxDeprecated-test.js
T
Rubén Norte 8abe737068 Centralize public access to LogBox in LogBox module
Summary:
Some components are using `LogBoxData` directly, forcing logs to be shown on the screen even when LogBox is uninstalled. This changes all accesses to `LogBoxData` to go through `LogBox` so `uninstall` is used correctly.

It also changes when LogBox is installed, moving it from `AppContainer` to `InitializeCore` (which happens earlier) so we can capture more logs in LogBox.

Changelog: [General][Changed] Initialized LogBox earlier and centralized access in LogBox module

Reviewed By: rickhanlonii

Differential Revision: D27999361

fbshipit-source-id: 1115ef6b71e08cc33743d205da0064fbe9a74a0e
2021-05-04 10:58:24 -07:00

60 lines
1.7 KiB
JavaScript

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @emails oncall+react_native
* @format
* @flow
*/
'use strict';
const LogBox = require('../../LogBox/LogBox');
const YellowBox = require('../YellowBoxDeprecated');
describe('YellowBox', () => {
beforeEach(() => {
jest.restoreAllMocks();
});
it('calling ignoreWarnings proxies to LogBox.ignoreLogs', () => {
jest.spyOn(LogBox, 'ignoreLogs');
const consoleWarn = jest
.spyOn(console, 'warn')
.mockImplementation(() => {});
YellowBox.ignoreWarnings(['foo']);
expect(LogBox.ignoreLogs).toBeCalledWith(['foo']);
expect(consoleWarn).toBeCalledWith(
'YellowBox has been replaced with LogBox. Please call LogBox.ignoreLogs() instead.',
);
});
it('calling install proxies to LogBox.install', () => {
jest.spyOn(LogBox, 'install');
const consoleWarn = jest
.spyOn(console, 'warn')
.mockImplementation(() => {});
YellowBox.install();
expect(LogBox.install).toBeCalled();
expect(consoleWarn).toBeCalledWith(
'YellowBox has been replaced with LogBox. Please call LogBox.install() instead.',
);
});
it('calling uninstall proxies to LogBox.uninstall', () => {
jest.spyOn(LogBox, 'uninstall');
const consoleWarn = jest
.spyOn(console, 'warn')
.mockImplementation(() => {});
YellowBox.uninstall();
expect(LogBox.uninstall).toBeCalled();
expect(consoleWarn).toBeCalledWith(
'YellowBox has been replaced with LogBox. Please call LogBox.uninstall() instead.',
);
});
});