Adds the latin1 characters to the ascii block to avoid splitting words
This commit is contained in:
+1
-1
@@ -348,7 +348,7 @@ class RichTextParser {
|
|||||||
|
|
||||||
// Splits at spaces AND at ASCII/multibyte character boundaries
|
// Splits at spaces AND at ASCII/multibyte character boundaries
|
||||||
// e.g. "ああexample.com" -> ["ああ", "example.com"]
|
// e.g. "ああexample.com" -> ["ああ", "example.com"]
|
||||||
private val wordBoundaryRegex = Regex("(?<=[\\u0000-\\u007F])(?=[\\u0080-\\uFFFF])|(?<=[\\u0080-\\uFFFF])(?=[\\u0000-\\u007F])| +")
|
val wordBoundaryRegex = Regex("(?<=[\\u0000-\\u007F])(?=[\\u0080-\\uFFFF])|(?<=[\\u0080-\\uFFFF])(?=[\\u0000-\\u007F])| +")
|
||||||
|
|
||||||
val additionalUrlSchema =
|
val additionalUrlSchema =
|
||||||
"""^([A-Za-z0-9-_]+(\.[A-Za-z0-9-_]+)+)(:[0-9]+)?(/[^?#]*)?(\?[^#]*)?(#.*)?"""
|
"""^([A-Za-z0-9-_]+(\.[A-Za-z0-9-_]+)+)(:[0-9]+)?(/[^?#]*)?(\?[^#]*)?(#.*)?"""
|
||||||
|
|||||||
+15
@@ -23,6 +23,7 @@ package com.vitorpamplona.amethyst.commons.richtext
|
|||||||
import com.vitorpamplona.amethyst.commons.model.EmptyTagList
|
import com.vitorpamplona.amethyst.commons.model.EmptyTagList
|
||||||
import org.junit.Assert.assertTrue
|
import org.junit.Assert.assertTrue
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
class RichTextParserMultibyteTest {
|
class RichTextParserMultibyteTest {
|
||||||
@Test
|
@Test
|
||||||
@@ -58,6 +59,20 @@ class RichTextParserMultibyteTest {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testFullTextWithMultibyteAndLatinAccents() {
|
||||||
|
// Multibyte characters around an email address should not produce URL/Link segments
|
||||||
|
val text =
|
||||||
|
"Vitor, você tem como colocar alguma forma de aviso se o link vai carregar uma imagem ou um vídeo? \uD83E\uDD7A"
|
||||||
|
|
||||||
|
val regex = Regex("(?<=[\\u0000-\\u00FF])(?=[\\u0100-\\uFFFF])|(?<=[\\u0100-\\uFFFF])(?=[\\u0000-\\u00FF])| +")
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
"Vitor,-você-tem-como-colocar-alguma-forma-de-aviso-se-o-link-vai-carregar-uma-imagem-ou-um-vídeo?-\uD83E\uDD7A",
|
||||||
|
text.split(regex).joinToString("-"),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testEmailSegmentStandalone() {
|
fun testEmailSegmentStandalone() {
|
||||||
val text = "user@example.com"
|
val text = "user@example.com"
|
||||||
|
|||||||
Reference in New Issue
Block a user