Skip to content

Commit

Permalink
Use Character.isEmojiPresentation(int) instead of Character.isEmoji(i…
Browse files Browse the repository at this point in the history
…nt) which excludes e.g. digit that are technically an emoji but do not have a representation (TweetWallFX#1961)
  • Loading branch information
mklaehn authored Oct 5, 2024
1 parent cbf5f4f commit 4857a97
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 2 deletions.
2 changes: 1 addition & 1 deletion emoji/src/main/java/org/tweetwallfx/emoji/Emojify.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public static List<Object> tokenizeStringToTextAndEmoji(final String message) {
for (int idx = 0; idx < codePoints.length; idx++) {
var cp = codePoints[idx];

if (Character.isEmoji(cp)) {
if (Character.isEmojiPresentation(cp)) {
// we have an emoji
if (idx != idxStart) {
// prior to the emoji is a non-empty text
Expand Down
70 changes: 69 additions & 1 deletion emoji/src/test/java/org/tweetwallfx/emoji/EmojifyTest.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2023 TweetWallFX
* Copyright (c) 2023-2024 TweetWallFX
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
Expand Down Expand Up @@ -54,6 +54,74 @@ static Stream<Arguments> parameters() {
" Awesome emojis! ",
new Twemoji("1f609")
}
),
arguments(
"Wired 2.0! Create your ultimate learning environment",
new Object[]{
"Wired 2.0! Create your ultimate learning environment"
}
),
arguments(
"HTTP 1.0",
new Object[]{
"HTTP 1.0"
}
),
arguments(
"0",
new Object[]{"0"}
),
arguments(
"1",
new Object[]{"1"}
),
arguments(
"2",
new Object[]{"2"}
),
arguments(
"3",
new Object[]{"3"}
),
arguments(
"4",
new Object[]{"4"}
),
arguments(
"5",
new Object[]{"5"}
),
arguments(
"6",
new Object[]{"6"}
),
arguments(
"7",
new Object[]{"7"}
),
arguments(
"8",
new Object[]{"8"}
),
arguments(
"9",
new Object[]{"9"}
),
arguments(
"#",
new Object[]{"#"}
),
arguments(
"*",
new Object[]{"*"}
),
arguments(
"©",
new Object[]{"©"}
),
arguments(
"®",
new Object[]{"®"}
)
);
}
Expand Down

0 comments on commit 4857a97

Please sign in to comment.