From a042a2adfcfd98e2e45f2de5910fdd6bd170d95a Mon Sep 17 00:00:00 2001 From: Spencer Gilson Date: Sat, 23 Jan 2021 14:49:17 -0800 Subject: [PATCH 1/4] Add test case to demo bug in Strings utility When Strings.join is given a single element, an empty String is returned instead of the element. --- .../java/org/testng/util/StringsTest.java | 30 +++++++++++++++++++ src/test/resources/testng.xml | 1 + 2 files changed, 31 insertions(+) create mode 100644 src/test/java/org/testng/util/StringsTest.java diff --git a/src/test/java/org/testng/util/StringsTest.java b/src/test/java/org/testng/util/StringsTest.java new file mode 100644 index 0000000000..57b900795d --- /dev/null +++ b/src/test/java/org/testng/util/StringsTest.java @@ -0,0 +1,30 @@ +package org.testng.util; + +import org.testng.annotations.Test; + +import static org.testng.Assert.assertEquals; + +/** + * Unit tests for {@link Strings} + * + * @author Spencer Gilson + */ +public class StringsTest { + @Test + public void joinEmptyArray() { + String[] emptyArray = new String[0]; + assertEquals(Strings.join(",", emptyArray), ""); + } + + @Test + public void joinArrayWithOneElement() { + String[] array = new String[]{"one"}; + assertEquals(Strings.join(",", array), "one"); + } + + @Test + public void joinArrayWithTwoElements() { + String[] array = new String[]{"one", "two"}; + assertEquals(Strings.join(",", array), "one,two"); + } +} diff --git a/src/test/resources/testng.xml b/src/test/resources/testng.xml index 15057bfad4..ebd485ed3f 100644 --- a/src/test/resources/testng.xml +++ b/src/test/resources/testng.xml @@ -767,6 +767,7 @@ + From 7bbc9e65c3bd6f325f5522da7ccf799f25153ea8 Mon Sep 17 00:00:00 2001 From: Spencer Gilson Date: Sat, 23 Jan 2021 15:07:11 -0800 Subject: [PATCH 2/4] Fix bux where String.join returns empty String --- src/main/java/org/testng/util/Strings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/testng/util/Strings.java b/src/main/java/org/testng/util/Strings.java index bd008b01c0..54c0fcedf3 100644 --- a/src/main/java/org/testng/util/Strings.java +++ b/src/main/java/org/testng/util/Strings.java @@ -67,7 +67,7 @@ public static String join(String delimiter, String[] parts) { for (int i = 0; i < parts.length - 1; i++) { sb.append(parts[i]).append(delimiter); } - if (parts.length > 1) { + if (parts.length > 0) { sb.append(parts[parts.length - 1]); } return sb.toString(); From f3f3f73bf1e46479a584192bafe6b4071c25fb53 Mon Sep 17 00:00:00 2001 From: Spencer Gilson Date: Sat, 23 Jan 2021 21:18:22 -0800 Subject: [PATCH 3/4] Update CHANGES.txt --- CHANGES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.txt b/CHANGES.txt index 1d586af3ba..85a83562c0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ Current +Fixed: GITHUB-2465: Fix bux where Strings.join returns empty String Fixed: GITHUB-1632: throwing SkipException sets iTestResult status to Failure instead of Skip (Julien Herr & Krishnan Mahadevan) New : GITHUB-2456: Add onDataProviderFailure listener (Krishnan Mahadevan) Fixed: GITHUB-2445: NPE in FailedReporter.java With Tests Created in Factory (Arham Jain) From c0ed1f5f445f672e948c87e5e76b469025aeca7c Mon Sep 17 00:00:00 2001 From: Spencer Gilson Date: Sat, 23 Jan 2021 21:59:44 -0800 Subject: [PATCH 4/4] Remove @author tag --- src/test/java/org/testng/util/StringsTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/test/java/org/testng/util/StringsTest.java b/src/test/java/org/testng/util/StringsTest.java index 57b900795d..581540454c 100644 --- a/src/test/java/org/testng/util/StringsTest.java +++ b/src/test/java/org/testng/util/StringsTest.java @@ -6,8 +6,6 @@ /** * Unit tests for {@link Strings} - * - * @author Spencer Gilson */ public class StringsTest { @Test