UiThreadUtil.assertX should only throw in DEBUG mode
Summary: Turns out that `SoftAssertions.java` has always been a lie - it actually always throws exceptions. Migrate it to using `ReactSoftException`. This file hasn't been touched at all since it was originally open-sourced, besides codemods! Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D18336020 fbshipit-source-id: cba3db25a9f9d61325dd3f7843e92e984ae56281
This commit is contained in:
Родитель
e885ddedb9
Коммит
b1b97b8b45
|
@ -20,26 +20,32 @@ public class SoftAssertions {
|
||||||
/**
|
/**
|
||||||
* Throw {@link AssertionException} with a given message. Use this method surrounded with {@code
|
* Throw {@link AssertionException} with a given message. Use this method surrounded with {@code
|
||||||
* if} block with assert condition in case you plan to do string concatenation to produce the
|
* if} block with assert condition in case you plan to do string concatenation to produce the
|
||||||
* message.
|
* message. This logs an assertion with ReactSoftException, which decides whether or not to
|
||||||
|
* actually throw.
|
||||||
*/
|
*/
|
||||||
public static void assertUnreachable(String message) {
|
public static void assertUnreachable(String message) {
|
||||||
throw new AssertionException(message);
|
ReactSoftException.logSoftException("SoftAssertions", new AssertionException(message));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asserts the given condition, throwing an {@link AssertionException} if the condition doesn't
|
* Asserts the given condition, throwing an {@link AssertionException} if the condition doesn't
|
||||||
* hold.
|
* hold. This logs an assertion with ReactSoftException, which decides whether or not to actually
|
||||||
|
* throw.
|
||||||
*/
|
*/
|
||||||
public static void assertCondition(boolean condition, String message) {
|
public static void assertCondition(boolean condition, String message) {
|
||||||
if (!condition) {
|
if (!condition) {
|
||||||
throw new AssertionException(message);
|
ReactSoftException.logSoftException("SoftAssertions", new AssertionException(message));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Asserts that the given Object isn't null, throwing an {@link AssertionException} if it was. */
|
/**
|
||||||
|
* Asserts that the given Object isn't null, throwing an {@link AssertionException} if it was.
|
||||||
|
* This logs an assertion with ReactSoftException, which decides whether or not to actually throw.
|
||||||
|
*/
|
||||||
public static <T> T assertNotNull(@Nullable T instance) {
|
public static <T> T assertNotNull(@Nullable T instance) {
|
||||||
if (instance == null) {
|
if (instance == null) {
|
||||||
throw new AssertionException("Expected object to not be null!");
|
ReactSoftException.logSoftException(
|
||||||
|
"SoftAssertions", new AssertionException("Expected object to not be null!"));
|
||||||
}
|
}
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче