From 77f1b624390259b704ef9e4116edf22455e54ecc Mon Sep 17 00:00:00 2001 From: Ivan Date: Tue, 27 Jan 2026 16:45:46 +0000 Subject: [PATCH 1/3] fix text-239 --- .../apache/commons/text/TextStringBuilder.java | 2 +- .../commons/text/TextStringBuilderTest.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/commons/text/TextStringBuilder.java b/src/main/java/org/apache/commons/text/TextStringBuilder.java index b3ea8585f7..2977fa3232 100644 --- a/src/main/java/org/apache/commons/text/TextStringBuilder.java +++ b/src/main/java/org/apache/commons/text/TextStringBuilder.java @@ -483,7 +483,7 @@ public TextStringBuilder append(final char[] chars, final int startIndex, final return appendNull(); } if (startIndex < 0 || startIndex > chars.length) { - throw new StringIndexOutOfBoundsException("Invalid startIndex: " + length); + throw new StringIndexOutOfBoundsException("Invalid startIndex: " + startIndex); } if (length < 0 || startIndex + length > chars.length) { throw new StringIndexOutOfBoundsException("Invalid length: " + length); diff --git a/src/test/java/org/apache/commons/text/TextStringBuilderTest.java b/src/test/java/org/apache/commons/text/TextStringBuilderTest.java index 1900c19d68..151f448f66 100644 --- a/src/test/java/org/apache/commons/text/TextStringBuilderTest.java +++ b/src/test/java/org/apache/commons/text/TextStringBuilderTest.java @@ -2393,4 +2393,21 @@ void testWrap_CharArray_Int_Exceptions() { assertThrows(IllegalArgumentException.class, () -> TextStringBuilder.wrap(ArrayUtils.EMPTY_CHAR_ARRAY, 1)); } + @Test + void testErrorMessageShowsCorrectVariable() { + TextStringBuilder sb = new TextStringBuilder("Hello"); + char[] chars = {'a', 'b', 'c'}; + + StringIndexOutOfBoundsException ex = assertThrows( + StringIndexOutOfBoundsException.class, + () -> sb.append(chars, 1, 4) + ); + assertTrue(ex.getMessage().contains("length: 4")); + + ex = assertThrows( + StringIndexOutOfBoundsException.class, + () -> sb.append(chars, 7, 3) + ); + assertTrue(ex.getMessage().contains("startIndex: 7")); + } } From f65dbf078a342d7e57a6348492237cb2b19f2a9d Mon Sep 17 00:00:00 2001 From: Ivan Date: Wed, 28 Jan 2026 03:15:27 +0000 Subject: [PATCH 2/3] fix for StrBuilder --- .../org/apache/commons/text/StrBuilder.java | 2 +- .../org/apache/commons/text/StrBuilderTest.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/commons/text/StrBuilder.java b/src/main/java/org/apache/commons/text/StrBuilder.java index fce069d001..f1df60a2a2 100644 --- a/src/main/java/org/apache/commons/text/StrBuilder.java +++ b/src/main/java/org/apache/commons/text/StrBuilder.java @@ -376,7 +376,7 @@ public StrBuilder append(final char[] chars, final int startIndex, final int len return appendNull(); } if (startIndex < 0 || startIndex > chars.length) { - throw new StringIndexOutOfBoundsException("Invalid startIndex: " + length); + throw new StringIndexOutOfBoundsException("Invalid startIndex: " + startIndex); } if (length < 0 || startIndex + length > chars.length) { throw new StringIndexOutOfBoundsException("Invalid length: " + length); diff --git a/src/test/java/org/apache/commons/text/StrBuilderTest.java b/src/test/java/org/apache/commons/text/StrBuilderTest.java index 6ae331e931..a40749f397 100644 --- a/src/test/java/org/apache/commons/text/StrBuilderTest.java +++ b/src/test/java/org/apache/commons/text/StrBuilderTest.java @@ -2017,4 +2017,21 @@ void testTrim() { assertEquals("a b c", sb.trim().toString()); } + @Test + void testErrorMessageShowsCorrectVariable() { + StrBuilder sb = new StrBuilder("Hello"); + char[] chars = {'a', 'b', 'c'}; + + StringIndexOutOfBoundsException ex = assertThrows( + StringIndexOutOfBoundsException.class, + () -> sb.append(chars, 1, 4) + ); + assertTrue(ex.getMessage().contains("length: 4")); + + ex = assertThrows( + StringIndexOutOfBoundsException.class, + () -> sb.append(chars, 7, 3) + ); + assertTrue(ex.getMessage().contains("startIndex: 7")); + } } From 317e6130b39319538edf306ede27ecc8850cafd2 Mon Sep 17 00:00:00 2001 From: Ivan Date: Wed, 28 Jan 2026 03:19:08 +0000 Subject: [PATCH 3/3] fix checkstyle issues --- src/test/java/org/apache/commons/text/StrBuilderTest.java | 4 ++-- .../java/org/apache/commons/text/TextStringBuilderTest.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/java/org/apache/commons/text/StrBuilderTest.java b/src/test/java/org/apache/commons/text/StrBuilderTest.java index a40749f397..5edfec6fc6 100644 --- a/src/test/java/org/apache/commons/text/StrBuilderTest.java +++ b/src/test/java/org/apache/commons/text/StrBuilderTest.java @@ -2019,8 +2019,8 @@ void testTrim() { @Test void testErrorMessageShowsCorrectVariable() { - StrBuilder sb = new StrBuilder("Hello"); - char[] chars = {'a', 'b', 'c'}; + final StrBuilder sb = new StrBuilder("Hello"); + final char[] chars = {'a', 'b', 'c'}; StringIndexOutOfBoundsException ex = assertThrows( StringIndexOutOfBoundsException.class, diff --git a/src/test/java/org/apache/commons/text/TextStringBuilderTest.java b/src/test/java/org/apache/commons/text/TextStringBuilderTest.java index 151f448f66..1efbf25113 100644 --- a/src/test/java/org/apache/commons/text/TextStringBuilderTest.java +++ b/src/test/java/org/apache/commons/text/TextStringBuilderTest.java @@ -2395,8 +2395,8 @@ void testWrap_CharArray_Int_Exceptions() { @Test void testErrorMessageShowsCorrectVariable() { - TextStringBuilder sb = new TextStringBuilder("Hello"); - char[] chars = {'a', 'b', 'c'}; + final TextStringBuilder sb = new TextStringBuilder("Hello"); + final char[] chars = {'a', 'b', 'c'}; StringIndexOutOfBoundsException ex = assertThrows( StringIndexOutOfBoundsException.class,