Loading app/html-cleaner/src/main/java/app/k9mail/html/cleaner/HeadCleaner.kt +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ import org.jsoup.parser.Tag import org.jsoup.select.NodeTraversor import org.jsoup.select.NodeVisitor private val ALLOWED_TAGS = listOf("style", "meta") private val ALLOWED_TAGS = listOf("style", "meta", "base") internal class HeadCleaner { fun clean(dirtyDocument: Document, cleanedDocument: Document) { Loading app/html-cleaner/src/test/java/app/k9mail/html/cleaner/HtmlSanitizerTest.kt +21 −0 Original line number Diff line number Diff line Loading @@ -465,6 +465,25 @@ class HtmlSanitizerTest { assertTagsNotStripped("var") } @Test fun `should keep 'base' element`() { val html = """ <html> <head> <base href="https://domain.example/"> </head> <body> <a href="relative">Link</a> </body> </html> """.compactHtml() val result = htmlSanitizer.sanitize(html) assertThat(result.toCompactString()).isEqualTo(html) } private fun assertTagsNotStripped(element: String) { val html = """<$element>some text</$element>""" Loading @@ -491,4 +510,6 @@ class HtmlSanitizerTest { } private fun String.trimLineBreaks() = replace("\n", "") private fun String.compactHtml() = lines().joinToString(separator = "") { it.trim() } } Loading
app/html-cleaner/src/main/java/app/k9mail/html/cleaner/HeadCleaner.kt +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ import org.jsoup.parser.Tag import org.jsoup.select.NodeTraversor import org.jsoup.select.NodeVisitor private val ALLOWED_TAGS = listOf("style", "meta") private val ALLOWED_TAGS = listOf("style", "meta", "base") internal class HeadCleaner { fun clean(dirtyDocument: Document, cleanedDocument: Document) { Loading
app/html-cleaner/src/test/java/app/k9mail/html/cleaner/HtmlSanitizerTest.kt +21 −0 Original line number Diff line number Diff line Loading @@ -465,6 +465,25 @@ class HtmlSanitizerTest { assertTagsNotStripped("var") } @Test fun `should keep 'base' element`() { val html = """ <html> <head> <base href="https://domain.example/"> </head> <body> <a href="relative">Link</a> </body> </html> """.compactHtml() val result = htmlSanitizer.sanitize(html) assertThat(result.toCompactString()).isEqualTo(html) } private fun assertTagsNotStripped(element: String) { val html = """<$element>some text</$element>""" Loading @@ -491,4 +510,6 @@ class HtmlSanitizerTest { } private fun String.trimLineBreaks() = replace("\n", "") private fun String.compactHtml() = lines().joinToString(separator = "") { it.trim() } }