diff options
Diffstat (limited to 'app/src/test/java/org/terst/feedreader/readability/ArticleLitterTest.kt')
| -rw-r--r-- | app/src/test/java/org/terst/feedreader/readability/ArticleLitterTest.kt | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/app/src/test/java/org/terst/feedreader/readability/ArticleLitterTest.kt b/app/src/test/java/org/terst/feedreader/readability/ArticleLitterTest.kt new file mode 100644 index 0000000..121783b --- /dev/null +++ b/app/src/test/java/org/terst/feedreader/readability/ArticleLitterTest.kt @@ -0,0 +1,47 @@ +package org.terst.feedreader.readability + +import org.junit.Assert.assertEquals +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue +import org.junit.Test + +/** + * The single entry point both cleaning sites call. + * + * The thing worth testing is that it applies *every* cleaner, because the failure it exists to + * prevent is a cleaner that only runs on one of the two paths. + */ +class ArticleLitterTest { + + private val recirculationWidget = + """<div data-mrf-recirculation="IL_x" data-testid="text-html">""" + + """<p><h3><span>Trending</span></h3></p></div>""" + + private val preferredSourceBadge = + """<p><a href="https://www.google.com/preferences/source?q=westhawaiitoday.com">""" + + """<img src="https://example.com/google_preferred_source_badge_light_en.png" """ + + """alt="Add as a preferred source on Google"></a></p>""" + + @Test + fun `removes both kinds of litter from one body`() { + val html = "$preferredSourceBadge<p>Real sentence.</p>$recirculationWidget" + + val cleaned = ArticleLitter.strip(html)!! + + assertFalse("badge survived: $cleaned", cleaned.contains("preferences/source")) + assertFalse("widget survived: $cleaned", cleaned.contains("Trending")) + assertTrue(cleaned.contains("Real sentence.")) + } + + @Test + fun `leaves a clean article untouched`() { + val html = "<p>Nothing to clean.</p>" + + assertEquals(html, ArticleLitter.strip(html)) + } + + @Test + fun `copes with nothing`() { + assertEquals(null, ArticleLitter.strip(null)) + } +} |
