From e621d3f693691c54d38f5f984748150efd472ab3 Mon Sep 17 00:00:00 2001 From: cketti Date: Sat, 8 Apr 2023 15:27:33 +0200 Subject: [PATCH] Add support for signature delimiters using non-breaking space in HTML parts --- .../message/signature/HtmlSignatureRemover.kt | 2 +- .../signature/HtmlSignatureRemoverTest.kt | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/core/src/main/java/com/fsck/k9/message/signature/HtmlSignatureRemover.kt b/app/core/src/main/java/com/fsck/k9/message/signature/HtmlSignatureRemover.kt index 07746c20dc..d7a0de6b47 100644 --- a/app/core/src/main/java/com/fsck/k9/message/signature/HtmlSignatureRemover.kt +++ b/app/core/src/main/java/com/fsck/k9/message/signature/HtmlSignatureRemover.kt @@ -130,7 +130,7 @@ class HtmlSignatureRemover { } companion object { - private val DASH_SIGNATURE_HTML = Pattern.compile("\\s*-- \\s*", Pattern.CASE_INSENSITIVE) + private val DASH_SIGNATURE_HTML = Pattern.compile("\\s*--[ \u00A0]\\s*") private val BLOCKQUOTE = Tag.valueOf("blockquote") private val BR = Tag.valueOf("br") diff --git a/app/core/src/test/java/com/fsck/k9/message/signature/HtmlSignatureRemoverTest.kt b/app/core/src/test/java/com/fsck/k9/message/signature/HtmlSignatureRemoverTest.kt index a8c79c7758..932f192ae8 100644 --- a/app/core/src/test/java/com/fsck/k9/message/signature/HtmlSignatureRemoverTest.kt +++ b/app/core/src/test/java/com/fsck/k9/message/signature/HtmlSignatureRemoverTest.kt @@ -182,4 +182,22 @@ class HtmlSignatureRemoverTest { """.trimIndent().removeNewlines(), ) } + + @Test + fun `signature delimiter with non-breaking space character entity`() { + val html = "Body text
-- 
Signature text" + + val withoutSignature = stripSignature(html) + + assertThat(extractText(withoutSignature)).isEqualTo("Body text") + } + + @Test + fun `signature delimiter with non-breaking space`() { + val html = "Body text
--\u00A0
Signature text" + + val withoutSignature = stripSignature(html) + + assertThat(extractText(withoutSignature)).isEqualTo("Body text") + } }