From b0dc826227b64f4a2d8c13dbdb7040390c908d59 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 20 Sep 2023 11:18:51 +0200 Subject: [PATCH] Add test for the scheme `io.element.call` --- .../call/CallIntentDataParserTests.kt | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/features/call/src/test/kotlin/io/element/android/features/call/CallIntentDataParserTests.kt b/features/call/src/test/kotlin/io/element/android/features/call/CallIntentDataParserTests.kt index 93ae34a9c9..55fdbceb95 100644 --- a/features/call/src/test/kotlin/io/element/android/features/call/CallIntentDataParserTests.kt +++ b/features/call/src/test/kotlin/io/element/android/features/call/CallIntentDataParserTests.kt @@ -83,6 +83,14 @@ class CallIntentDataParserTests { assertThat(callIntentDataParser.parse(url)).isEqualTo(embeddedUrl) } + @Test + fun `element scheme 2 with url param gets url extracted`() { + val embeddedUrl = "http://call.element.io/some-actual-call?with=parameters" + val encodedUrl = URLEncoder.encode(embeddedUrl, "utf-8") + val url = "io.element.call:/?url=$encodedUrl" + assertThat(callIntentDataParser.parse(url)).isEqualTo(embeddedUrl) + } + @Test fun `element scheme with call host and no url param returns null`() { val embeddedUrl = "http://call.element.io/some-actual-call?with=parameters" @@ -91,6 +99,14 @@ class CallIntentDataParserTests { assertThat(callIntentDataParser.parse(url)).isNull() } + @Test + fun `element scheme 2 with no url returns null`() { + val embeddedUrl = "http://call.element.io/some-actual-call?with=parameters" + val encodedUrl = URLEncoder.encode(embeddedUrl, "utf-8") + val url = "io.element.call:/?no_url=$encodedUrl" + assertThat(callIntentDataParser.parse(url)).isNull() + } + @Test fun `element scheme with no call host returns null`() { val embeddedUrl = "http://call.element.io/some-actual-call?with=parameters" @@ -104,4 +120,10 @@ class CallIntentDataParserTests { val url = "element://call?url=" assertThat(callIntentDataParser.parse(url)).isNull() } + + @Test + fun `element scheme 2 with no data returns null`() { + val url = "io.element.call:/?url=" + assertThat(callIntentDataParser.parse(url)).isNull() + } }