diff options
author | Allan Wang <me@allanwang.ca> | 2017-10-26 11:54:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-26 11:54:56 -0400 |
commit | 27832f1a0081ef423342a3162ce8ed5f0be66d82 (patch) | |
tree | 757e47446bd438bd7a600a41c0911391cc433bc6 /app | |
parent | f3c14a1e5591f9d244c73bc0e53a6e042f5b9a06 (diff) | |
download | frost-27832f1a0081ef423342a3162ce8ed5f0be66d82.tar.gz frost-27832f1a0081ef423342a3162ce8ed5f0be66d82.tar.bz2 frost-27832f1a0081ef423342a3162ce8ed5f0be66d82.zip |
Fix/url parsing (#448)
* Fix url formatting
* Optimize imports
Diffstat (limited to 'app')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt | 1 | ||||
-rw-r--r-- | app/src/test/kotlin/com/pitchedapps/frost/facebook/FbUrlTest.kt | 13 |
2 files changed, 11 insertions, 3 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt index 4db75fff..22fc275f 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt @@ -31,6 +31,7 @@ class FbUrlFormatter(url: String) { var cleanedUrl = url discardable.forEach { cleanedUrl = cleanedUrl.replace(it, "", true) } converter.forEach { (k, v) -> cleanedUrl = cleanedUrl.replace(k, v, true) } + if (cleanedUrl != url) cleanedUrl = cleanedUrl.replaceFirst("&", "?") cleanedUrl = URLDecoder.decode(cleanedUrl, StandardCharsets.UTF_8.name()) val qm = cleanedUrl.indexOf("?") if (qm > -1) { diff --git a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbUrlTest.kt b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbUrlTest.kt index 57589b5e..5ac484b5 100644 --- a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbUrlTest.kt +++ b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbUrlTest.kt @@ -1,9 +1,6 @@ package com.pitchedapps.frost.facebook -import okhttp3.HttpUrl -import okio.Utf8 import org.junit.Test -import java.net.URLDecoder import kotlin.test.assertEquals @@ -36,6 +33,16 @@ class FbUrlTest { assertFbFormat("$prefix$suffix", "$prefix&ref=hello$suffix") } + /** + * Unnecessary wraps should be removed & the query items should be bound properly (first & to ?) + */ + @Test + fun queryConversion() { + val url = "https://m.facebook.com/l.php?u=https%3A%2F%2Fgoogle.ca&h=hi" + val expected = "https://google.ca?h=hi" + assertFbFormat(expected, url) + } + @Test fun doubleDash() { assertFbFormat("${FB_URL_BASE}relative", "$FB_URL_BASE/relative") |