mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
8abe737068
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
60 lines
1.7 KiB
JavaScript
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.',
|
|
);
|
|
});
|
|
});
|