mirror of
https://codeberg.org/PGPainless/sop-java.git
synced 2024-11-17 21:12:07 +01:00
Add javadoc to JUtils
This commit is contained in:
parent
104b3a4ec4
commit
61c5eb2962
1 changed files with 41 additions and 0 deletions
|
@ -12,10 +12,25 @@ import static org.junit.jupiter.api.Assertions.fail;
|
||||||
|
|
||||||
public class JUtils {
|
public class JUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return true, if the given <pre>array</pre> starts with <pre>start</pre>.
|
||||||
|
*
|
||||||
|
* @param array array
|
||||||
|
* @param start start
|
||||||
|
* @return true if array starts with start, false otherwise
|
||||||
|
*/
|
||||||
public static boolean arrayStartsWith(byte[] array, byte[] start) {
|
public static boolean arrayStartsWith(byte[] array, byte[] start) {
|
||||||
return arrayStartsWith(array, start, 0);
|
return arrayStartsWith(array, start, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return true, if the given <pre>array</pre> contains the given <pre>start</pre> at offset <pre>offset</pre>.
|
||||||
|
*
|
||||||
|
* @param array array
|
||||||
|
* @param start start
|
||||||
|
* @param offset offset
|
||||||
|
* @return true, if array contains start at offset, false otherwise
|
||||||
|
*/
|
||||||
public static boolean arrayStartsWith(byte[] array, byte[] start, int offset) {
|
public static boolean arrayStartsWith(byte[] array, byte[] start, int offset) {
|
||||||
if (offset < 0) {
|
if (offset < 0) {
|
||||||
throw new IllegalArgumentException("Offset cannot be negative");
|
throw new IllegalArgumentException("Offset cannot be negative");
|
||||||
|
@ -33,6 +48,12 @@ public class JUtils {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assert that the given <pre>array</pre> starts with <pre>start</pre>.
|
||||||
|
*
|
||||||
|
* @param array array
|
||||||
|
* @param start start
|
||||||
|
*/
|
||||||
public static void assertArrayStartsWith(byte[] array, byte[] start) {
|
public static void assertArrayStartsWith(byte[] array, byte[] start) {
|
||||||
if (!arrayStartsWith(array, start)) {
|
if (!arrayStartsWith(array, start)) {
|
||||||
byte[] actual = new byte[Math.min(start.length, array.length)];
|
byte[] actual = new byte[Math.min(start.length, array.length)];
|
||||||
|
@ -43,6 +64,13 @@ public class JUtils {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assert that the given <pre>array</pre> contains <pre>start</pre> at <pre>offset</pre>.
|
||||||
|
*
|
||||||
|
* @param array array
|
||||||
|
* @param start start
|
||||||
|
* @param offset offset
|
||||||
|
*/
|
||||||
public static void assertArrayStartsWith(byte[] array, byte[] start, int offset) {
|
public static void assertArrayStartsWith(byte[] array, byte[] start, int offset) {
|
||||||
if (!arrayStartsWith(array, start, offset)) {
|
if (!arrayStartsWith(array, start, offset)) {
|
||||||
byte[] actual = new byte[Math.min(start.length, array.length - offset)];
|
byte[] actual = new byte[Math.min(start.length, array.length - offset)];
|
||||||
|
@ -53,6 +81,12 @@ public class JUtils {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assert equality of the given two ascii armored byte arrays, ignoring armor header lines.
|
||||||
|
*
|
||||||
|
* @param first first ascii armored bytes
|
||||||
|
* @param second second ascii armored bytes
|
||||||
|
*/
|
||||||
public static void assertAsciiArmorEquals(byte[] first, byte[] second) {
|
public static void assertAsciiArmorEquals(byte[] first, byte[] second) {
|
||||||
byte[] firstCleaned = removeArmorHeaders(first);
|
byte[] firstCleaned = removeArmorHeaders(first);
|
||||||
byte[] secondCleaned = removeArmorHeaders(second);
|
byte[] secondCleaned = removeArmorHeaders(second);
|
||||||
|
@ -60,6 +94,13 @@ public class JUtils {
|
||||||
assertArrayEquals(firstCleaned, secondCleaned);
|
assertArrayEquals(firstCleaned, secondCleaned);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove armor headers "Comment:", "Version:", "MessageID:", "Hash:" and "Charset:" along with their values
|
||||||
|
* from the given ascii armored byte array.
|
||||||
|
*
|
||||||
|
* @param armor ascii armored byte array
|
||||||
|
* @return ascii armored byte array with header lines removed
|
||||||
|
*/
|
||||||
public static byte[] removeArmorHeaders(byte[] armor) {
|
public static byte[] removeArmorHeaders(byte[] armor) {
|
||||||
String string = new String(armor, StandardCharsets.UTF_8);
|
String string = new String(armor, StandardCharsets.UTF_8);
|
||||||
string = string.replaceAll("Comment: .+\\R", "")
|
string = string.replaceAll("Comment: .+\\R", "")
|
||||||
|
|
Loading…
Reference in a new issue