summaryrefslogtreecommitdiff
path: root/android/app/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'android/app/src/test')
-rw-r--r--android/app/src/test/java/org/terst/doot/widget/ui/LinkifiedTextTest.kt44
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)
+ }
+}