diff options
author | Allan Wang <me@allanwang.ca> | 2019-03-04 16:24:36 -0500 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2019-03-04 16:24:36 -0500 |
commit | ca6ecf83b15e96e65791e21749e3263296aef057 (patch) | |
tree | eb012e19ae07f5ec1966ffdee463051201f3452d | |
parent | f77c652e612241e046d16690ca239cce44a00b07 (diff) | |
download | frost-ca6ecf83b15e96e65791e21749e3263296aef057.tar.gz frost-ca6ecf83b15e96e65791e21749e3263296aef057.tar.bz2 frost-ca6ecf83b15e96e65791e21749e3263296aef057.zip |
Add fbclid trimmer, resolves #1290
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt | 10 | ||||
-rw-r--r-- | app/src/test/kotlin/com/pitchedapps/frost/facebook/FbUrlTest.kt | 13 |
2 files changed, 21 insertions, 2 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 2c171762..6208f401 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt @@ -82,7 +82,13 @@ class FbUrlFormatter(url: String) { builder.append(cleaned) if (queries.isNotEmpty()) { builder.append("?") - queries.forEach { (k, v) -> builder.append("$k=$v&") } + queries.forEach { (k, v) -> + if (v.isEmpty()) { + builder.append("$k&") + } else { + builder.append("$k=$v&") + } + } } return builder.removeSuffix("&").toString() } @@ -121,7 +127,7 @@ class FbUrlFormatter(url: String) { * * acontext is not required for "friends interested in" notifications */ - val discardableQueries = arrayOf("ref", "refid", "SharedWith") + val discardableQueries = arrayOf("ref", "refid", "SharedWith", "fbclid") val converter = listOf( "\\3C " to "%3C", "\\3E " to "%3E", "\\23 " to "%23", "\\25 " to "%25", 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 3bd59fd3..e2a6f4ae 100644 --- a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbUrlTest.kt +++ b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbUrlTest.kt @@ -71,6 +71,19 @@ class FbUrlTest { } @Test + fun valuelessQuery() { + val url = "$FB_URL_BASE?foo" + assertFbFormat(url, url) + } + + @Test + fun fbclid() { + val url = "$FB_URL_BASE?foo&fbclid=abc&bar=bbb" + val formattedUrl = "$FB_URL_BASE?foo&bar=bbb" + assertFbFormat(formattedUrl, url) + } + + @Test fun doubleDash() { assertFbFormat("${FB_URL_BASE}relative", "$FB_URL_BASE/relative") } |