From 4462e9d0a354930f4bbf215519338d3dbf8b7e56 Mon Sep 17 00:00:00 2001 From: Philip Date: Thu, 4 Jul 2024 09:10:48 +0100 Subject: [PATCH 1/9] Add a default error message for Assertions.fail() for when the error message is blank --- .../src/main/java/org/junit/jupiter/api/Assertions.java | 6 ++++++ .../org/junit/platform/engine/reporting/ReportEntry.java | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java index 3f5df08971a0..f3626b54ac42 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java @@ -135,6 +135,9 @@ public static V fail() { * } */ public static V fail(String message) { + if (message.isBlank()) { + message = "Something went wrong..."; + } AssertionUtils.fail(message); return null; // appeasing the compiler: this line will never be executed. } @@ -147,6 +150,9 @@ public static V fail(String message) { * generic return type {@code V}. */ public static V fail(String message, Throwable cause) { + if (message.isBlank()) { + message = "Something went wrong..."; + } AssertionUtils.fail(message, cause); return null; // appeasing the compiler: this line will never be executed. } diff --git a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java index 740df190eaaa..ad7c5a6c68a4 100644 --- a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java +++ b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java @@ -73,8 +73,8 @@ public static ReportEntry from(String key, String value) { } private void add(String key, String value) { - Preconditions.notBlank(key, "key must not be null or blank"); - Preconditions.notBlank(value, "value must not be null or blank"); + Preconditions.notBlank(key, "Key must not be null or blank"); + Preconditions.notBlank(value, "Value must not be null or blank"); this.keyValuePairs.put(key, value); } From 2765f00c133219f8a69e89b5345925294e83c24c Mon Sep 17 00:00:00 2001 From: Philip Date: Thu, 4 Jul 2024 09:12:48 +0100 Subject: [PATCH 2/9] Remove final methods from final class --- .../java/org/junit/platform/engine/reporting/ReportEntry.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java index ad7c5a6c68a4..28567201da2a 100644 --- a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java +++ b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java @@ -83,7 +83,7 @@ private void add(String key, String value) { * * @return a copy of the map of key-value pairs; never {@code null} */ - public final Map getKeyValuePairs() { + public Map getKeyValuePairs() { return Collections.unmodifiableMap(this.keyValuePairs); } @@ -94,7 +94,7 @@ public final Map getKeyValuePairs() { * * @return when this entry was created; never {@code null} */ - public final LocalDateTime getTimestamp() { + public LocalDateTime getTimestamp() { return this.timestamp; } From 6a75ce05580ecfc1ca175583d3687e0e258ee0a8 Mon Sep 17 00:00:00 2001 From: Philip Date: Thu, 4 Jul 2024 09:42:16 +0100 Subject: [PATCH 3/9] Change error message and minor grammar change --- .../src/main/java/org/junit/jupiter/api/Assertions.java | 4 ++-- .../java/org/junit/platform/engine/reporting/ReportEntry.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java index f3626b54ac42..5b5ffdf91905 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java @@ -136,7 +136,7 @@ public static V fail() { */ public static V fail(String message) { if (message.isBlank()) { - message = "Something went wrong..."; + message = "Assertions.fail() called"; } AssertionUtils.fail(message); return null; // appeasing the compiler: this line will never be executed. @@ -151,7 +151,7 @@ public static V fail(String message) { */ public static V fail(String message, Throwable cause) { if (message.isBlank()) { - message = "Something went wrong..."; + message = "Assertions.fail() called"; } AssertionUtils.fail(message, cause); return null; // appeasing the compiler: this line will never be executed. diff --git a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java index 28567201da2a..623ed3ed80b4 100644 --- a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java +++ b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java @@ -62,7 +62,7 @@ public static ReportEntry from(Map keyValuePairs) { /** * Factory for creating a new {@code ReportEntry} from a key-value pair. * - * @param key the key under which the value should published; never + * @param key the key under which the value should be published; never * {@code null} or blank * @param value the value to publish; never {@code null} or blank */ From 684e9cb8e39211f5107c259e27f868da6b69f311 Mon Sep 17 00:00:00 2001 From: Philip Date: Thu, 11 Jul 2024 10:56:21 +0100 Subject: [PATCH 4/9] Revert final method removal --- .../java/org/junit/platform/engine/reporting/ReportEntry.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java index 623ed3ed80b4..218001f5f949 100644 --- a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java +++ b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java @@ -83,7 +83,7 @@ private void add(String key, String value) { * * @return a copy of the map of key-value pairs; never {@code null} */ - public Map getKeyValuePairs() { + public final Map getKeyValuePairs() { return Collections.unmodifiableMap(this.keyValuePairs); } @@ -94,7 +94,7 @@ public Map getKeyValuePairs() { * * @return when this entry was created; never {@code null} */ - public LocalDateTime getTimestamp() { + public final LocalDateTime getTimestamp() { return this.timestamp; } From db99bf9fa37452f6f6217befa165efc8abee9a24 Mon Sep 17 00:00:00 2001 From: Philip Date: Thu, 18 Jul 2024 11:51:37 +0100 Subject: [PATCH 5/9] Fix 'key' and 'value' text changes --- .../java/org/junit/platform/engine/reporting/ReportEntry.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java index 218001f5f949..b5fdb7af561d 100644 --- a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java +++ b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java @@ -73,8 +73,8 @@ public static ReportEntry from(String key, String value) { } private void add(String key, String value) { - Preconditions.notBlank(key, "Key must not be null or blank"); - Preconditions.notBlank(value, "Value must not be null or blank"); + Preconditions.notBlank(key, "key must not be null or blank"); + Preconditions.notBlank(value, "value must not be null or blank"); this.keyValuePairs.put(key, value); } From 73ae77c251f525ecc027855f545375eea964a33f Mon Sep 17 00:00:00 2001 From: Philip Date: Thu, 18 Jul 2024 13:07:13 +0100 Subject: [PATCH 6/9] Fix .isBlank errors --- .../src/main/java/org/junit/jupiter/api/Assertions.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java index 5b5ffdf91905..d6886fcebcb7 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java @@ -135,8 +135,8 @@ public static V fail() { * } */ public static V fail(String message) { - if (message.isBlank()) { - message = "Assertions.fail() called"; + if (message.isEmpty()|| message.equals(null)) { + AssertionUtils.fail("Assertion.fail() called"); } AssertionUtils.fail(message); return null; // appeasing the compiler: this line will never be executed. @@ -150,8 +150,8 @@ public static V fail(String message) { * generic return type {@code V}. */ public static V fail(String message, Throwable cause) { - if (message.isBlank()) { - message = "Assertions.fail() called"; + if (message.isEmpty() || message.equals(null)) { + AssertionUtils.fail("Assertion.fail() called", cause); } AssertionUtils.fail(message, cause); return null; // appeasing the compiler: this line will never be executed. From ded1b44ca7ecae2be7af206365dc58980da979d7 Mon Sep 17 00:00:00 2001 From: Philip Date: Fri, 19 Jul 2024 10:26:41 +0100 Subject: [PATCH 7/9] Remove null check --- .../src/main/java/org/junit/jupiter/api/Assertions.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java index d6886fcebcb7..687d143caccb 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java @@ -135,7 +135,7 @@ public static V fail() { * } */ public static V fail(String message) { - if (message.isEmpty()|| message.equals(null)) { + if (message.isEmpty()) { AssertionUtils.fail("Assertion.fail() called"); } AssertionUtils.fail(message); @@ -150,7 +150,7 @@ public static V fail(String message) { * generic return type {@code V}. */ public static V fail(String message, Throwable cause) { - if (message.isEmpty() || message.equals(null)) { + if (message.isEmpty()) { AssertionUtils.fail("Assertion.fail() called", cause); } AssertionUtils.fail(message, cause); From 20b58538abe6f55515e67f1293898231451bb682 Mon Sep 17 00:00:00 2001 From: Philip Date: Fri, 19 Jul 2024 10:34:21 +0100 Subject: [PATCH 8/9] Add StringUtils.isBlank --- .../src/main/java/org/junit/jupiter/api/Assertions.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java index 687d143caccb..85eaddb6685c 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java @@ -25,6 +25,7 @@ import org.apiguardian.api.API; import org.junit.jupiter.api.function.Executable; import org.junit.jupiter.api.function.ThrowingSupplier; +import org.junit.platform.commons.util.StringUtils; import org.opentest4j.MultipleFailuresError; /** @@ -135,7 +136,7 @@ public static V fail() { * } */ public static V fail(String message) { - if (message.isEmpty()) { + if (StringUtils.isBlank(message)) { AssertionUtils.fail("Assertion.fail() called"); } AssertionUtils.fail(message); @@ -150,7 +151,7 @@ public static V fail(String message) { * generic return type {@code V}. */ public static V fail(String message, Throwable cause) { - if (message.isEmpty()) { + if (StringUtils.isBlank(message)) { AssertionUtils.fail("Assertion.fail() called", cause); } AssertionUtils.fail(message, cause); From 79e6e794693f9aadc68a7cf7484b6d3fa98fe09d Mon Sep 17 00:00:00 2001 From: Philip Date: Fri, 19 Jul 2024 10:48:44 +0100 Subject: [PATCH 9/9] Test fixes --- .../org/junit/jupiter/api/FailAssertionsTests.java | 11 +++++------ .../junit/jupiter/api/KotlinFailAssertionsTests.kt | 9 ++++----- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/junit-jupiter-engine/src/test/java/org/junit/jupiter/api/FailAssertionsTests.java b/junit-jupiter-engine/src/test/java/org/junit/jupiter/api/FailAssertionsTests.java index 95db2c35ccaa..d1fd300b59ed 100644 --- a/junit-jupiter-engine/src/test/java/org/junit/jupiter/api/FailAssertionsTests.java +++ b/junit-jupiter-engine/src/test/java/org/junit/jupiter/api/FailAssertionsTests.java @@ -10,7 +10,6 @@ package org.junit.jupiter.api; -import static org.junit.jupiter.api.AssertionTestUtils.assertEmptyMessage; import static org.junit.jupiter.api.AssertionTestUtils.assertMessageContains; import static org.junit.jupiter.api.AssertionTestUtils.assertMessageEquals; import static org.junit.jupiter.api.AssertionTestUtils.expectAssertionFailedError; @@ -36,7 +35,7 @@ void failWithoutArgument() { expectAssertionFailedError(); } catch (AssertionFailedError ex) { - assertEmptyMessage(ex); + assertMessageEquals(ex, "Assertion.fail() called"); } } @@ -69,7 +68,7 @@ void failWithNullString() { expectAssertionFailedError(); } catch (AssertionFailedError ex) { - assertEmptyMessage(ex); + assertMessageEquals(ex, "Assertion.fail() called"); } } @@ -80,7 +79,7 @@ void failWithNullMessageSupplier() { expectAssertionFailedError(); } catch (AssertionFailedError ex) { - assertEmptyMessage(ex); + assertMessageEquals(ex, "Assertion.fail() called"); } } @@ -104,7 +103,7 @@ void failWithThrowable() { expectAssertionFailedError(); } catch (AssertionFailedError ex) { - assertEmptyMessage(ex); + assertMessageEquals(ex, "Assertion.fail() called"); Throwable cause = ex.getCause(); assertMessageContains(cause, "cause"); } @@ -131,7 +130,7 @@ void failWithNullStringAndThrowable() { expectAssertionFailedError(); } catch (AssertionFailedError ex) { - assertEmptyMessage(ex); + assertMessageEquals(ex, "Assertion.fail() called"); Throwable cause = ex.getCause(); assertMessageContains(cause, "cause"); } diff --git a/junit-jupiter-engine/src/test/kotlin/org/junit/jupiter/api/KotlinFailAssertionsTests.kt b/junit-jupiter-engine/src/test/kotlin/org/junit/jupiter/api/KotlinFailAssertionsTests.kt index 2b1311232187..315874cbf839 100644 --- a/junit-jupiter-engine/src/test/kotlin/org/junit/jupiter/api/KotlinFailAssertionsTests.kt +++ b/junit-jupiter-engine/src/test/kotlin/org/junit/jupiter/api/KotlinFailAssertionsTests.kt @@ -10,7 +10,6 @@ package org.junit.jupiter.api import org.junit.jupiter.api.AssertEquals.assertEquals -import org.junit.jupiter.api.AssertionTestUtils.assertEmptyMessage import org.junit.jupiter.api.AssertionTestUtils.assertMessageContains import org.junit.jupiter.api.AssertionTestUtils.assertMessageEquals import org.opentest4j.AssertionFailedError @@ -43,7 +42,7 @@ class KotlinFailAssertionsTests { assertThrows { fail(null as String?) } - assertEmptyMessage(ex) + assertMessageEquals(ex, "Assertion.fail() called") } @Test @@ -52,7 +51,7 @@ class KotlinFailAssertionsTests { assertThrows { fail(null as (() -> String)?) } - assertEmptyMessage(ex) + assertMessageEquals(ex, "Assertion.fail() called") } @Test @@ -75,7 +74,7 @@ class KotlinFailAssertionsTests { assertThrows { fail(Throwable(throwableCause)) } - assertEmptyMessage(ex) + assertMessageEquals(ex, "Assertion.fail() called") val cause = ex.cause assertMessageContains(cause, throwableCause) } @@ -100,7 +99,7 @@ class KotlinFailAssertionsTests { assertThrows { fail(null, Throwable(throwableCause)) } - assertEmptyMessage(ex) + assertMessageEquals(ex, "Assertion.fail() called") val cause = ex.cause assertMessageContains(cause, throwableCause) }