diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c4f0f99f..d2eb26f7 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -79,6 +79,10 @@ android { lint { abortOnError = false } + + testOptions { + unitTests.isReturnDefaultValues = true + } } dependencies { diff --git a/app/src/main/java/com/readrops/app/util/ShareIntentTextRenderer.kt b/app/src/main/java/com/readrops/app/util/ShareIntentTextRenderer.kt index b78d8954..7733754f 100644 --- a/app/src/main/java/com/readrops/app/util/ShareIntentTextRenderer.kt +++ b/app/src/main/java/com/readrops/app/util/ShareIntentTextRenderer.kt @@ -126,6 +126,7 @@ class ShareIntentTextRenderer(private val itemWithFeed: ItemWithFeed): KoinCompo override fun getFilters(): Map = this@Companion.filters }) .newLineTrimming(false) + .autoEscaping(false) .build() } -} \ No newline at end of file +} diff --git a/app/src/test/java/com/readrops/app/TemplateTest.kt b/app/src/test/java/com/readrops/app/TemplateTest.kt index faf11f1f..e7b6cbea 100644 --- a/app/src/test/java/com/readrops/app/TemplateTest.kt +++ b/app/src/test/java/com/readrops/app/TemplateTest.kt @@ -2,6 +2,10 @@ package com.readrops.app import com.readrops.app.util.FrenchTypography import com.readrops.app.util.RemoveAuthorFilter +import com.readrops.app.util.ShareIntentTextRenderer +import com.readrops.db.entities.Item +import com.readrops.db.entities.OpenIn +import com.readrops.db.pojo.ItemWithFeed import junit.framework.TestCase.assertEquals import kotlinx.coroutines.test.runTest import org.junit.Test @@ -33,4 +37,22 @@ class TemplateTest { assertEquals(" :", FrenchTypography.filter(" :")) assertEquals(" ;", FrenchTypography.filter(" ;")) } -} \ No newline at end of file + + /** Asserts rendered won't HTML escape */ + @Test + fun dontEscape() { + val renderer = ShareIntentTextRenderer( + ItemWithFeed( + Item(title = "\"Title\""), + "", + 0, + 0, + null, + null, + null, + openIn = OpenIn.EXTERNAL_VIEW + ) + ) + assertEquals("\"Title\"", renderer.render("{{ title }}")) + } +}