This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v4
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/v4 by this push:
new c1bb8c0cf07 CAUSEWAY-3889: fixes prev. commit
c1bb8c0cf07 is described below
commit c1bb8c0cf07d2e5bf06610c3c7305baad3abac4d
Author: a.huber <[email protected]>
AuthorDate: Sun Aug 17 21:49:04 2025 +0200
CAUSEWAY-3889: fixes prev. commit
adds parameter specific test
---
.../org/apache/causeway/applib/value/DataUri.java | 3 ++-
.../org/apache/causeway/applib/value/DataUriTest.java | 19 ++++++-------------
2 files changed, 8 insertions(+), 14 deletions(-)
diff --git
a/api/applib/src/main/java/org/apache/causeway/applib/value/DataUri.java
b/api/applib/src/main/java/org/apache/causeway/applib/value/DataUri.java
index bef78784e54..1c8a2fc4432 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/value/DataUri.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/value/DataUri.java
@@ -74,7 +74,7 @@ public static DataUri parse(String dataURI) {
: Encoding.NONE
: Encoding.NONE;
- var parameters = IntStream.range(1, metadataParts.length - (encoding
== Encoding.BASE64 ? 2 : 1))
+ var parameters = IntStream.range(1, metadataParts.length - (encoding
== Encoding.BASE64 ? 1 : 0))
.mapToObj(i->metadataParts[i])
.toList();
@@ -127,6 +127,7 @@ public boolean equals(Object o) {
if(this == o) return true;
return o instanceof DataUri other
? Objects.equals(this.mediaType, other.mediaType)
+ && Objects.equals(this.parameters, other.parameters)
&& Objects.equals(this.encoding, other.encoding)
&& Arrays.equals(this.data, other.data)
: false;
diff --git
a/api/applib/src/test/java/org/apache/causeway/applib/value/DataUriTest.java
b/api/applib/src/test/java/org/apache/causeway/applib/value/DataUriTest.java
index 7e0f966968e..92601995851 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/value/DataUriTest.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/value/DataUriTest.java
@@ -19,6 +19,7 @@
package org.apache.causeway.applib.value;
import java.nio.charset.StandardCharsets;
+import java.util.Base64;
import java.util.List;
import org.junit.jupiter.params.ParameterizedTest;
@@ -35,9 +36,9 @@ enum Scenario {
HALLO_WORLD("text/plain", null, DataUri.Encoding.BASE64, "Hello,
World!".getBytes(StandardCharsets.UTF_8),
"data:text/plain;base64,SGVsbG8sIFdvcmxkIQ=="),
-// TEXT_OTHER("text/vnd-example+xyz;foo=bar", "base64",
"R0lGODdh".getBytes(StandardCharsets.UTF_8),
-// "data:text/vnd-example+xyz;foo=bar;base64,R0lGODdh"),
-//
+ TEXT_OTHER("text/vnd-example+xyz", List.of("foo=bar"),
DataUri.Encoding.BASE64, Base64.getDecoder().decode("R0lGODdh"),
+ "data:text/vnd-example+xyz;foo=bar;base64,R0lGODdh"),
+
TEXT_ADVANCED("text/plain", List.of("charset=UTF-8", "page=21"),
DataUri.Encoding.NONE, "the data:1234,5678".getBytes(StandardCharsets.UTF_8),
"data:text/plain;charset=UTF-8;page=21,the%20data%3A1234%2C5678"),
;
@@ -53,16 +54,8 @@ enum Scenario {
void rundtrip(Scenario scenario) {
var ref = new DataUri(scenario.mediaType, scenario.parameters,
scenario.encoding, scenario.data);
var parsed = DataUri.parse(scenario.externalForm);
- switch (scenario) {
- case TEXT_ADVANCED: {
- assertEquals(scenario.externalForm, ref.toExternalForm());
- assertEquals(ref, parsed); // check equality relation
- }
- default:
- assertEquals(scenario.externalForm, ref.toExternalForm());
- assertEquals(ref, parsed); // check equality relation
- }
-
+ assertEquals(scenario.externalForm, ref.toExternalForm());
+ assertEquals(ref, parsed); // check equality relation
}
}