diff --git a/reflection.json b/reflection.json index 507ad76c..ee23dd4c 100644 --- a/reflection.json +++ b/reflection.json @@ -263,6 +263,21 @@ "allPublicMethods" : true, "allPublicFields" : true, "allPublicConstructors" : true +}, { + "name" : "java.util.Base64", + "allPublicMethods" : true, + "allPublicFields" : true, + "allPublicConstructors" : true +}, { + "name" : "java.util.Base64$Decoder", + "allPublicMethods" : true, + "allPublicFields" : true, + "allPublicConstructors" : true +}, { + "name" : "java.util.Base64$Encoder", + "allPublicMethods" : true, + "allPublicFields" : true, + "allPublicConstructors" : true }, { "name" : "java.util.concurrent.LinkedBlockingQueue", "allPublicMethods" : true, diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index be6cbec9..36965fc3 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -59,6 +59,9 @@ java.time.ZoneOffset java.time.temporal.TemporalAccessor java.util.regex.Pattern + java.util.Base64 + java.util.Base64$Decoder + java.util.Base64$Encoder sun.nio.fs.UnixPath ;; included because of permission check ] :custom-classes {'java.lang.Thread diff --git a/test/babashka/main_test.clj b/test/babashka/main_test.clj index 056246a0..81affbd8 100644 --- a/test/babashka/main_test.clj +++ b/test/babashka/main_test.clj @@ -297,6 +297,10 @@ (deftest Math-test (is (== 8.0 (bb nil "(Math/pow 2 3)")))) +(deftest Base64-test + (is (= "babashka" + (bb nil "(String. (.decode (java.util.Base64/getDecoder) (.encode (java.util.Base64/getEncoder) (.getBytes \"babashka\"))))")))) + ;;;; Scratch (comment