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
     }
 
 }

Reply via email to