|
|
|
@ -63,8 +63,8 @@ class CallIntentDataParserTests {
@@ -63,8 +63,8 @@ class CallIntentDataParserTests {
|
|
|
|
|
fun `Element Call urls will be returned as is`() { |
|
|
|
|
val httpsBaseUrl = "https://call.element.io" |
|
|
|
|
val httpsCallUrl = VALID_CALL_URL_WITH_PARAM |
|
|
|
|
assertThat(callIntentDataParser.parse(httpsBaseUrl)).isEqualTo("$httpsBaseUrl?$EXTRA_PARAMS") |
|
|
|
|
assertThat(callIntentDataParser.parse(httpsCallUrl)).isEqualTo("$httpsCallUrl&$EXTRA_PARAMS") |
|
|
|
|
assertThat(callIntentDataParser.parse(httpsBaseUrl)).isEqualTo("$httpsBaseUrl#?$EXTRA_PARAMS") |
|
|
|
|
assertThat(callIntentDataParser.parse(httpsCallUrl)).isEqualTo("$httpsCallUrl#?$EXTRA_PARAMS") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@ -92,7 +92,7 @@ class CallIntentDataParserTests {
@@ -92,7 +92,7 @@ class CallIntentDataParserTests {
|
|
|
|
|
val embeddedUrl = VALID_CALL_URL_WITH_PARAM |
|
|
|
|
val encodedUrl = URLEncoder.encode(embeddedUrl, "utf-8") |
|
|
|
|
val url = "element://call?url=$encodedUrl" |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM&$EXTRA_PARAMS") |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM#?$EXTRA_PARAMS") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@ -108,7 +108,7 @@ class CallIntentDataParserTests {
@@ -108,7 +108,7 @@ class CallIntentDataParserTests {
|
|
|
|
|
val embeddedUrl = VALID_CALL_URL_WITH_PARAM |
|
|
|
|
val encodedUrl = URLEncoder.encode(embeddedUrl, "utf-8") |
|
|
|
|
val url = "io.element.call:/?url=$encodedUrl" |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM&$EXTRA_PARAMS") |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM#?$EXTRA_PARAMS") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@ -160,7 +160,15 @@ class CallIntentDataParserTests {
@@ -160,7 +160,15 @@ class CallIntentDataParserTests {
|
|
|
|
|
val embeddedUrl = "${VALID_CALL_URL_WITH_PARAM}&appPrompt=true" |
|
|
|
|
val encodedUrl = URLEncoder.encode(embeddedUrl, "utf-8") |
|
|
|
|
val url = "io.element.call:/?url=$encodedUrl" |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM&$EXTRA_PARAMS") |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM#?$EXTRA_PARAMS") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
fun `element scheme 2 with url extra param in fragment appPrompt gets url extracted`() { |
|
|
|
|
val embeddedUrl = "${VALID_CALL_URL_WITH_PARAM}#?appPrompt=true" |
|
|
|
|
val encodedUrl = URLEncoder.encode(embeddedUrl, "utf-8") |
|
|
|
|
val url = "io.element.call:/?url=$encodedUrl" |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM#?appPrompt=false&confineToRoom=true") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@ -168,7 +176,15 @@ class CallIntentDataParserTests {
@@ -168,7 +176,15 @@ class CallIntentDataParserTests {
|
|
|
|
|
val embeddedUrl = "${VALID_CALL_URL_WITH_PARAM}&confineToRoom=false" |
|
|
|
|
val encodedUrl = URLEncoder.encode(embeddedUrl, "utf-8") |
|
|
|
|
val url = "io.element.call:/?url=$encodedUrl" |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM&$EXTRA_PARAMS") |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM#?$EXTRA_PARAMS") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
fun `element scheme 2 with url extra param in fragment confineToRoom gets url extracted`() { |
|
|
|
|
val embeddedUrl = "${VALID_CALL_URL_WITH_PARAM}#?confineToRoom=false" |
|
|
|
|
val encodedUrl = URLEncoder.encode(embeddedUrl, "utf-8") |
|
|
|
|
val url = "io.element.call:/?url=$encodedUrl" |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM#?confineToRoom=true&appPrompt=false") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@ -176,9 +192,24 @@ class CallIntentDataParserTests {
@@ -176,9 +192,24 @@ class CallIntentDataParserTests {
|
|
|
|
|
val embeddedUrl = "${VALID_CALL_URL_WITH_PARAM}#fragment" |
|
|
|
|
val encodedUrl = URLEncoder.encode(embeddedUrl, "utf-8") |
|
|
|
|
val url = "io.element.call:/?url=$encodedUrl" |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM&$EXTRA_PARAMS#fragment") |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM#fragment?$EXTRA_PARAMS") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
fun `element scheme 2 with empty fragment`() { |
|
|
|
|
val embeddedUrl = "${VALID_CALL_URL_WITH_PARAM}#" |
|
|
|
|
val encodedUrl = URLEncoder.encode(embeddedUrl, "utf-8") |
|
|
|
|
val url = "io.element.call:/?url=$encodedUrl" |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM#?$EXTRA_PARAMS") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
fun `element scheme 2 with empty fragment and fragment query`() { |
|
|
|
|
val embeddedUrl = "${VALID_CALL_URL_WITH_PARAM}#?" |
|
|
|
|
val encodedUrl = URLEncoder.encode(embeddedUrl, "utf-8") |
|
|
|
|
val url = "io.element.call:/?url=$encodedUrl" |
|
|
|
|
assertThat(callIntentDataParser.parse(url)).isEqualTo("$VALID_CALL_URL_WITH_PARAM#?$EXTRA_PARAMS") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
companion object { |
|
|
|
|
const val VALID_CALL_URL_WITH_PARAM = "https://call.element.io/some-actual-call?with=parameters" |
|
|
|
|