You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2026/10/26 00:02:14 UTC

(juneau) branch master updated: Fix Settings_DefaultChain_Test.camel() throwing on an environment variable named only underscores, which broke CI.

This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 1db0fcd91c Fix Settings_DefaultChain_Test.camel() throwing on an environment variable named only underscores, which broke CI.
1db0fcd91c is described below

commit 1db0fcd91ca0ca21dd3076aaf079ed5fb0f80846
Author: James Bognar <ja...@apache.org>
AuthorDate: Sun Oct 25 20:02:08 2026 -0400

    Fix Settings_DefaultChain_Test.camel() throwing on an environment variable named only underscores, which broke CI.
---
 .../juneau/commons/settings/Settings_DefaultChain_Test.java       | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_DefaultChain_Test.java b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_DefaultChain_Test.java
index f4ae94cb9f..7b074083c8 100644
--- a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_DefaultChain_Test.java
+++ b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_DefaultChain_Test.java
@@ -85,7 +85,7 @@ class Settings_DefaultChain_Test extends TestBase {
 	}
 
 	private static String camel(String envKey) {
-		var parts = envKey.toLowerCase(Locale.ROOT).split("_");
+		var parts = envKey.toLowerCase(Locale.ROOT).split("_", -1);
 		var sb = new StringBuilder(parts[0]);
 		for (var i = 1; i < parts.length; i++)
 			if (! parts[i].isEmpty())
@@ -229,6 +229,12 @@ class Settings_DefaultChain_Test extends TestBase {
 		assertNull(c.get("d06.k").orElse(null));
 	}
 
+	@Test void d10_camel_underscoreOnlyEnvKeys_doNotThrow() {
+		assertEquals("", camel("_"));
+		assertEquals("", camel("__"));
+		assertEquals("fooBar", camel("FOO__BAR"));
+	}
+
 	@Test void d09_commonsProviderOrders_arePinned() {
 		assertEquals(10, new ManifestFilePropertySourceProvider().order());
 		assertEquals(20, new DotenvPropertySourceProvider().order());