diff options
Diffstat (limited to 'android/app/src/test/java/org/terst')
| -rw-r--r-- | android/app/src/test/java/org/terst/doot/widget/ui/LinkifiedTextTest.kt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/android/app/src/test/java/org/terst/doot/widget/ui/LinkifiedTextTest.kt b/android/app/src/test/java/org/terst/doot/widget/ui/LinkifiedTextTest.kt new file mode 100644 index 0000000..b3cfa5b --- /dev/null +++ b/android/app/src/test/java/org/terst/doot/widget/ui/LinkifiedTextTest.kt @@ -0,0 +1,44 @@ +package org.terst.doot.widget.ui + +import org.junit.Assert.assertEquals +import org.junit.Test + +class LinkifiedTextTest { + + @Test + fun `findLinks finds a plain URL`() { + val links = findLinks("Check out https://example.com/path for details") + assertEquals(1, links.size) + assertEquals(LinkKind.URL, links[0].kind) + assertEquals("https://example.com/path", links[0].target) + } + + @Test + fun `findLinks finds a phone number`() { + val links = findLinks("Call me at 555-123-4567 tomorrow") + assertEquals(1, links.size) + assertEquals(LinkKind.PHONE, links[0].kind) + assertEquals("555-123-4567", links[0].target) + } + + @Test + fun `findLinks finds both a URL and a phone number in the same text`() { + val links = findLinks("See https://example.com or call 555-123-4567") + assertEquals(2, links.size) + assertEquals(LinkKind.URL, links[0].kind) + assertEquals(LinkKind.PHONE, links[1].kind) + } + + @Test + fun `findLinks returns empty list for plain text`() { + val links = findLinks("Just a regular description with no links.") + assertEquals(0, links.size) + } + + @Test + fun `findLinks does not double-count phone-like digits inside a URL`() { + val links = findLinks("https://example.com/555-123-4567") + assertEquals(1, links.size) + assertEquals(LinkKind.URL, links[0].kind) + } +} |
