Skip to content

Commit 139f541

Browse files
authored
Added unit tests for DiscordImageUtil.java (#117)
1 parent 648de54 commit 139f541

File tree

5 files changed

+54
-1
lines changed

5 files changed

+54
-1
lines changed

api/src/main/java/com/javadiscord/jdi/core/api/utils/DiscordImageUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public static String toDiscordString(Path path) throws IOException {
2323
}
2424

2525
public static boolean isNotImage(Path path) {
26-
return IMAGE_EXTENSIONS.contains(getExtension(path));
26+
return !IMAGE_EXTENSIONS.contains(getExtension(path));
2727
}
2828

2929
private static String getExtension(Path path) {

api/src/test/resources/file.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This is just an ordinary file.

api/src/test/resources/image.jpg

1.49 KB
Loading

api/src/test/resources/image.png

1.87 KB
Loading
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.javadiscord.jdi.internal.api.utils;
2+
3+
import static org.junit.jupiter.api.Assertions.*;
4+
5+
import com.javadiscord.jdi.core.api.utils.DiscordImageUtil;
6+
7+
import org.junit.jupiter.api.Test;
8+
9+
import java.net.URL;
10+
import java.nio.file.Path;
11+
import java.nio.file.Paths;
12+
13+
class DiscordImageUtilTest {
14+
private static final String IMAGE_JPG_BASE64 =
15+
"/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////2wBDAf//////////////////////////////////////////////////////////////////////////////////////wAARCADqATkDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECA//EACQQAQEBAAIBBAMBAQEBAAAAAAABESExQQISUXFhgZGxocHw/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/xAAWEQEBAQAAAAAAAAAAAAAAAAAAEQH/2gAMAwEAAhEDEQA/AMriLyCKgg1gQwCgs4FTMOdutepjQak+FzMSVqgxZdRdPPIIvH5WzzGdBriphtTeAXg2ZjKA1pqKDUGZca3foBek8gFv8Ie3fKdA1qb8s7hoL6eLVt51FsAnql3Ut1M7AWbflLMDkEMX/F6/YjK/pADFQAUNA6alYagKk72m/j9p4Bq2fDDSYKLNXPNLoHE/NT6RYC31cJxZ3yWVM+aBYi/S2ZgiAsnYJx5D21vPmqrm3PTfpQQwyAC8JZvSKDni41ZrMuUVVl+Uz9w9v/1QWrZsZ5nFPHYH+JZyureQSF5M+fJ0CAfwRAVRBQA1DAWVUayoJUWoDpsxntPsueBV4+VxhdyAtv8AjOLGpIDMLbeGvbF4iozJfr/WukAVABAXAQXEAAASzVAZdO2WNordm+emFl7XcQSNZiFtv0C9w90nhJf4mA1u+GcJFwIyAqL/AOovwgGNfSRqdIrNa29M0gKCAojU9PAMjWXpckEJFNFEAAXEUBABYz6rZ0ureQc9vyt9XxDF2QAXtABcQAs0AZywkvluJbyipifas52DcyxjlZweAO0xri/hc+wZOEKIu6nSyeToVZyWXwvCg53gW81QQ7aTNAn5dGZJPs1UXURQAUEMCXQLZE93PRZ5hPTgNMrbIzKCm52LZwCs+2M8w2g3sjPuZAXb4IsMAUACzVUGM4/K+md6vEXUUyM5PDR0IxYe6ramih0VNBrS4xoqN8Q1BFQk3yqyAsioioAAKgDSJL4/jQIn5igLrPqtOuf6oOaxbMoAltUAhhIoJiiggrPu+AaOIxtAX3JbaAIaLwi4t9X4T3fg2AFtqcrUUarP20zUDAmqoE0WRBZPNVUVEAAAAVAC8kvih2DSKxOdBqs7Z0l0gI0mKAC4AuHE7ZtBriM+744QAAAAABAFsveIttBICyaikvy1+r/Cen5rWQHIBQa4rIDRqSl5qDWqziqgAAAATA7BpGdqXb2C2+J/UgAtRQBSQtkBWb6vhLbQAAAAAEBRAAAAAUbm+GZNdPxAP+ql2Tjwx7/wIgZ8iKvBk+CJoCXii9gaqZ/qqihAAAEVABGkBFUwBftNkZ3QW34QAAABFAQAVAAAAAARVkl8gs/43sk1jL45LvHArepk+E9XTG35oLqsmIKmLAEygKg0y1AFQBUXwgAAAoBC34S3UAAABAVAAAAAABAUQAVABdRQa1PcYyit2z58M8C4ouM2NXpOEGeWtNZUatiAIoAKIoCoAoG4C9MW6dgIoAIAAAAAAACKWAgL0CAAAALiANCKioNLgM1CrLihmTafkt1EF3SZ5ZVUW4mnIKvAi5fhEURVDWVQBRAAAAAAAAQFRVyAyulgAqCKlF8IqLsEgC9mGoC+IusqCrv5ZEUVOk1RuJfwSLOOkGFi4XPCoYYrNiKauosBGi9ICstM1UAAAAAAFQ0VcTBAXUGgIqGoKhKAzRRUQUAwxoSrGRpkQA/qiosOL9oJptMRRVZa0VUqSiChE6BqMgCwqKqIogAIAqKCKgKoogg0lBFuIKgAAAKNRlf2gqsftsEtZWoAAqAACKoMqAAeSoqp39kL2AqLOlE8rEBFQARYALhigrNC9gGmooLp4TweEQFFBFAECgIoAu0ifIAqAAA//9k=";
16+
17+
private Path getPathFromString(String path) throws Exception {
18+
URL url = DiscordImageUtilTest.class.getResource(path);
19+
if (url != null) {
20+
return Paths.get(url.toURI());
21+
}
22+
return null;
23+
}
24+
25+
@Test
26+
void testBase64EncodePng() throws Exception {
27+
assertEquals(
28+
IMAGE_JPG_BASE64, DiscordImageUtil.base64Encode(getPathFromString("/image.jpg")));
29+
}
30+
31+
@Test
32+
void testNullImage() {
33+
assertThrows(NullPointerException.class, () -> DiscordImageUtil.base64Encode(null));
34+
}
35+
36+
@Test
37+
void testToDiscordString() throws Exception {
38+
String expected = String.format("data:image/jpg;base64,%s", IMAGE_JPG_BASE64);
39+
assertEquals(expected, DiscordImageUtil.toDiscordString(getPathFromString("/image.jpg")));
40+
}
41+
42+
@Test
43+
void testIsNotImage() throws Exception {
44+
Path txt = getPathFromString("/file.txt");
45+
Path jpg = getPathFromString("/image.jpg");
46+
Path png = getPathFromString("/image.png");
47+
48+
assertTrue(DiscordImageUtil.isNotImage(txt));
49+
assertFalse(DiscordImageUtil.isNotImage(jpg));
50+
assertFalse(DiscordImageUtil.isNotImage(png));
51+
}
52+
}

0 commit comments

Comments
 (0)