From f28c7505fa5b4a7ddf1e9311d38dfcd15e8953a2 Mon Sep 17 00:00:00 2001 From: Rick Hanlon Date: Wed, 8 Jul 2020 18:50:06 -0700 Subject: [PATCH] Fix LogBox.ignoreAllLogs used with no argument (#29310) Summary: When you call `LogBox.ignoreAllLogs()` it should ignore logs. This fixes a bug that made this equivalent to `LogBox.ignoreAllLogs(false)` ## Changelog [General] [Fixed] - LogBox.ignoreAllLogs() should ignore logs Pull Request resolved: https://github.com/facebook/react-native/pull/29310 Test Plan: Added tests Reviewed By: TheSavior Differential Revision: D22448436 Pulled By: rickhanlonii fbshipit-source-id: 6ba12b9d9c1f29cf3ac503946ac5ca0097425a7a --- Libraries/LogBox/LogBox.js | 2 +- Libraries/LogBox/__tests__/LogBox-test.js | 24 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Libraries/LogBox/LogBox.js b/Libraries/LogBox/LogBox.js index 6c489e3e4e..e2754504c1 100644 --- a/Libraries/LogBox/LogBox.js +++ b/Libraries/LogBox/LogBox.js @@ -43,7 +43,7 @@ if (__DEV__) { }, ignoreAllLogs: (value?: ?boolean): void => { - LogBoxData.setDisabled(!!value); + LogBoxData.setDisabled(value == null ? true : value); }, uninstall: (): void => { diff --git a/Libraries/LogBox/__tests__/LogBox-test.js b/Libraries/LogBox/__tests__/LogBox-test.js index 974f1cca30..56857f8ba2 100644 --- a/Libraries/LogBox/__tests__/LogBox-test.js +++ b/Libraries/LogBox/__tests__/LogBox-test.js @@ -69,6 +69,30 @@ describe('LogBox', () => { expect(LogBoxData.isDisabled()).toBe(true); }); + it('will not ignore logs for `ignoreAllLogs(false)`', () => { + expect(LogBoxData.isDisabled()).toBe(false); + + LogBox.install(); + + expect(LogBoxData.isDisabled()).toBe(false); + + LogBox.ignoreAllLogs(false); + + expect(LogBoxData.isDisabled()).toBe(false); + }); + + it('will ignore logs for `ignoreAllLogs()`', () => { + expect(LogBoxData.isDisabled()).toBe(false); + + LogBox.install(); + + expect(LogBoxData.isDisabled()).toBe(false); + + LogBox.ignoreAllLogs(); + + expect(LogBoxData.isDisabled()).toBe(true); + }); + it('registers warnings', () => { jest.mock('../Data/LogBoxData');