aboutsummaryrefslogtreecommitdiff
path: root/app/src/test/kotlin/com/pitchedapps/frost/facebook
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-12-29 19:39:04 -0500
committerGitHub <noreply@github.com>2017-12-29 19:39:04 -0500
commit32e6b5be0e662bbac22806bcc87259fd1a2e2ed0 (patch)
treec97f7ef11b60231bbe7337f5960413b95da0a8c2 /app/src/test/kotlin/com/pitchedapps/frost/facebook
parent8fee0629c27edee847358efc82309118f3a9a3a5 (diff)
downloadfrost-32e6b5be0e662bbac22806bcc87259fd1a2e2ed0.tar.gz
frost-32e6b5be0e662bbac22806bcc87259fd1a2e2ed0.tar.bz2
frost-32e6b5be0e662bbac22806bcc87259fd1a2e2ed0.zip
Feature/native notifs (#579)
* Improve parser and add zip test * Remove ActivityOptionsCompat, resolves #555 * Create native notifs * Add animations * Add image rounder * Improve glide transformations * Add request service * Fix parser * Fix parser * Add thumbnail and fix notification text * Update parsers and regex * Auto mark as read * Add request implementation in pending intent * Remove unnecessary return data * Simplify command retrieval * Use name keys instead * Revamp all bundle calls * Fix up thumbnail layout
Diffstat (limited to 'app/src/test/kotlin/com/pitchedapps/frost/facebook')
-rw-r--r--app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt26
-rw-r--r--app/src/test/kotlin/com/pitchedapps/frost/facebook/FbRegexTest.kt9
-rw-r--r--app/src/test/kotlin/com/pitchedapps/frost/facebook/FbRequestTest.kt8
3 files changed, 32 insertions, 11 deletions
diff --git a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt
index 65777f97..8c568279 100644
--- a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt
+++ b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt
@@ -7,6 +7,8 @@ import com.pitchedapps.frost.internal.authDependent
import com.pitchedapps.frost.parsers.*
import org.junit.BeforeClass
import org.junit.Test
+import kotlin.test.assertNotNull
+import kotlin.test.assertTrue
import kotlin.test.fail
/**
@@ -22,25 +24,39 @@ class FbParseTest {
}
}
- private inline fun <T : Any> FrostParser<T>.test(action: T.() -> Unit = {}) {
- val response = parse(COOKIE)
- ?: fail("${this::class.java.simpleName} returned null for $url")
+ private inline fun <reified T : Any> FrostParser<T>.test(action: T.() -> Unit = {}) =
+ parse(COOKIE).test(url, action)
+
+ private inline fun <reified T : Any> ParseResponse<T>?.test(url: String, action: T.() -> Unit = {}) {
+ val response = this
+ ?: fail("${T::class.simpleName} parser returned null for $url")
println(response)
response.data.action()
}
@Test
fun message() = MessageParser.test {
- threads.forEach(FrostThread::assertComponentsNotEmpty)
+ threads.forEach {
+ it.assertComponentsNotEmpty()
+ assertTrue(it.id > FALLBACK_TIME_MOD, "id may not be properly matched")
+ assertNotNull(it.img, "img may not be properly matched")
+ }
threads.map(FrostThread::time).assertDescending("thread time values")
}
@Test
+ fun messageUser() = MessageParser.queryUser(COOKIE, "allan").test("allan query")
+
+ @Test
fun search() = SearchParser.test()
@Test
fun notif() = NotifParser.test {
- notifs.forEach(FrostNotif::assertComponentsNotEmpty)
+ notifs.forEach {
+ it.assertComponentsNotEmpty()
+ assertTrue(it.id > FALLBACK_TIME_MOD, "id may not be properly matched")
+ assertNotNull(it.img, "img may not be properly matched")
+ }
notifs.map(FrostNotif::time).assertDescending("notif time values")
}
} \ No newline at end of file
diff --git a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbRegexTest.kt b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbRegexTest.kt
index a21bcb13..da815b34 100644
--- a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbRegexTest.kt
+++ b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbRegexTest.kt
@@ -25,8 +25,13 @@ class FbRegexTest {
@Test
fun ppRegex() {
val img = "https\\3a //scontent-yyz1-1.xx.fbcdn.net/v/asdf1234.jpg?efg\\3d 333\\26 oh\\3d 77\\26 oe\\3d 444"
- val ppStyle = "background:#d8dce6 url('$img') no-repeat center;background-size:100% 100%;-webkit-background-size:100% 100%;width:58px;height:58px;"
- assertEquals(StringEscapeUtils.unescapeCsv(img), StringEscapeUtils.unescapeCsv(FB_CSS_URL_MATCHER.find(ppStyle)[1]))
+ val imgUnescaped = StringEscapeUtils.unescapeCsv(img)
+ val ppStyleSingleQuote = "background:#d8dce6 url('$img') no-repeat center;"
+ val ppStyleDoubleQuote = "background:#d8dce6 url(\"$img\") no-repeat center;"
+ val ppStyleNoQuote = "background:#d8dce6 url($img) no-repeat center;"
+ listOf(ppStyleSingleQuote, ppStyleDoubleQuote, ppStyleNoQuote).forEach {
+ assertEquals(imgUnescaped, StringEscapeUtils.unescapeCsv(FB_CSS_URL_MATCHER.find(it)[1]))
+ }
}
@Test
diff --git a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbRequestTest.kt b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbRequestTest.kt
index 16894b16..c3b19727 100644
--- a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbRequestTest.kt
+++ b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbRequestTest.kt
@@ -23,7 +23,7 @@ class FbRequestTest {
}
/**
- * Used to emulate [executeAndCheck]
+ * Used to emulate [executeForNoError]
* Must be consistent with that method
*/
private fun Call.assertNoError() {
@@ -35,7 +35,7 @@ class FbRequestTest {
@Test
fun auth() {
- val auth = (USER_ID to COOKIE).getAuth()
+ val auth = COOKIE.getAuth()
assertNotNull(auth)
assertEquals(USER_ID, auth.userId)
assertEquals(COOKIE, auth.cookie)
@@ -44,8 +44,8 @@ class FbRequestTest {
@Test
fun markNotification() {
- val notifId = 1513544657695779
- AUTH.markNotificationRead(notifId).assertNoError()
+ val notifId = 1514443903880
+ AUTH.markNotificationRead(notifId).call.assertNoError()
}
} \ No newline at end of file