summaryrefslogtreecommitdiff
path: root/android/app/src/test/java/org
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-07-15 00:12:48 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-07-16 02:44:52 +0000
commit7c7d9246e778d0e9eeb8fce4894e1bb0923b624e (patch)
treec86f0d6213e52f31bf6e91526f9267ef85c5f6f1 /android/app/src/test/java/org
parentffc56608ace1a80f020c53add081514a5428252d (diff)
feat(widget): add description linkification for URLs and phone numbers
Diffstat (limited to 'android/app/src/test/java/org')
-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)
+ }
+}