-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add ControlHelper truncateString tests
- Loading branch information
1 parent
6406619
commit 4149e01
Showing
1 changed file
with
58 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
package org.jabref.gui.util; | ||
|
||
import org.junit.jupiter.api.Test; | ||
import org.junit.jupiter.params.ParameterizedTest; | ||
import org.junit.jupiter.params.provider.*; | ||
|
||
import static org.junit.jupiter.api.Assertions.assertEquals; | ||
import static org.junit.jupiter.api.Assertions.assertThrows; | ||
|
||
public class ControlHelperTest { | ||
|
||
private final String TEXT = "abcdef"; | ||
private final int MAX_CHARACTERS = 5; | ||
private final int DEFAULT_MAX_CHARACTERS = -1; | ||
private final String ELLIPSIS_STRING = "***"; | ||
private final ControlHelper.EllipsisPosition ELLIPSIS_POSITION = ControlHelper.EllipsisPosition.ENDING; | ||
|
||
@ParameterizedTest | ||
@NullAndEmptySource | ||
void truncateWithTextNullAndEmptyReturnsSource(String text){ | ||
String truncatedText = ControlHelper.truncateString(text, MAX_CHARACTERS, ELLIPSIS_STRING, ELLIPSIS_POSITION); | ||
assertEquals(text, truncatedText); | ||
} | ||
|
||
@Test | ||
void truncateWithDefaultMaxCharactersReturnsText(){ | ||
String truncatedText = ControlHelper.truncateString(TEXT, DEFAULT_MAX_CHARACTERS, ELLIPSIS_STRING, ELLIPSIS_POSITION); | ||
assertEquals(TEXT, truncatedText); | ||
} | ||
|
||
@Test | ||
void truncateWithEllipsisPositionBeginningReturnsTruncatedText(){ | ||
String truncatedText = ControlHelper.truncateString(TEXT, MAX_CHARACTERS, ELLIPSIS_STRING, ControlHelper.EllipsisPosition.BEGINNING); | ||
assertEquals("***ef", truncatedText); | ||
} | ||
|
||
@Test | ||
void truncateWithEllipsisPositionCenterReturnsTruncatedText(){ | ||
String truncatedText = ControlHelper.truncateString(TEXT, MAX_CHARACTERS, ELLIPSIS_STRING, ControlHelper.EllipsisPosition.CENTER); | ||
assertEquals("a***f", truncatedText); | ||
} | ||
|
||
@Test | ||
void truncateWithDefaultMaxCharactersAndNullEllipsisAndPositionEndingReturnsTruncatedText(){ | ||
String text = "a".repeat(75) + "b".repeat(25); | ||
String truncatedText = ControlHelper.truncateString(text, DEFAULT_MAX_CHARACTERS, null, ControlHelper.EllipsisPosition.ENDING); | ||
assertEquals("a".repeat(75), truncatedText); | ||
} | ||
|
||
@ParameterizedTest | ||
@NullSource | ||
void truncateWithNullEllipsisPositionThrowsNullPointerException(ControlHelper.EllipsisPosition ellipsisPosition){ | ||
assertThrows( | ||
NullPointerException.class, | ||
() -> ControlHelper.truncateString(TEXT, MAX_CHARACTERS, ELLIPSIS_STRING, ellipsisPosition) | ||
); | ||
} | ||
} |