move Html parsing to ViewData (#2414)
* move Html parsing to ViewData * refactor reports to use viewdata * cleanup code * refactor conversations * fix getEditableText * rename StatusParsingHelper * fix tests * commit db schema file * add file header * rename helper function to parseAsMastodonHtml * order imports correctly * move mapping off main thread to default dispatcher * fix ktlint
This commit is contained in:
parent
ffbc4b6403
commit
3e849244f9
34 changed files with 1232 additions and 500 deletions
|
@ -15,7 +15,6 @@
|
|||
|
||||
package com.keylesspalace.tusky
|
||||
|
||||
import android.text.SpannedString
|
||||
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
|
||||
import com.keylesspalace.tusky.entity.SearchResult
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
|
@ -70,7 +69,7 @@ class BottomSheetActivityTest {
|
|||
inReplyToId = null,
|
||||
inReplyToAccountId = null,
|
||||
reblog = null,
|
||||
content = SpannedString("omgwat"),
|
||||
content = "omgwat",
|
||||
createdAt = Date(),
|
||||
emojis = emptyList(),
|
||||
reblogsCount = 0,
|
||||
|
|
|
@ -17,7 +17,6 @@ package com.keylesspalace.tusky
|
|||
|
||||
import android.content.Intent
|
||||
import android.os.Looper.getMainLooper
|
||||
import android.text.SpannedString
|
||||
import android.widget.EditText
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import com.keylesspalace.tusky.components.compose.ComposeActivity
|
||||
|
@ -469,7 +468,7 @@ class ComposeActivityTest {
|
|||
"admin",
|
||||
"admin",
|
||||
"admin",
|
||||
SpannedString(""),
|
||||
"",
|
||||
"https://example.token",
|
||||
"",
|
||||
"",
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.keylesspalace.tusky
|
||||
|
||||
import android.text.SpannedString
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import com.keylesspalace.tusky.entity.Attachment
|
||||
import com.keylesspalace.tusky.entity.Filter
|
||||
|
@ -162,7 +161,7 @@ class FilterTest {
|
|||
inReplyToId = null,
|
||||
inReplyToAccountId = null,
|
||||
reblog = null,
|
||||
content = SpannedString(content),
|
||||
content = content,
|
||||
createdAt = Date(),
|
||||
emojis = emptyList(),
|
||||
reblogsCount = 0,
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
package com.keylesspalace.tusky
|
||||
|
||||
import android.text.Spanned
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import com.google.gson.GsonBuilder
|
||||
import com.google.gson.Gson
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
import com.keylesspalace.tusky.json.SpannedTypeAdapter
|
||||
import com.keylesspalace.tusky.viewdata.StatusViewData
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertNotEquals
|
||||
|
@ -39,9 +37,7 @@ class StatusComparisonTest {
|
|||
assertEquals(createStatus(note = "Test"), createStatus(note = "Test 123456"))
|
||||
}
|
||||
|
||||
private val gson = GsonBuilder().registerTypeAdapter(
|
||||
Spanned::class.java, SpannedTypeAdapter()
|
||||
).create()
|
||||
private val gson = Gson()
|
||||
|
||||
@Test
|
||||
fun `two equal status view data - should be equal`() {
|
||||
|
@ -49,14 +45,12 @@ class StatusComparisonTest {
|
|||
status = createStatus(),
|
||||
isExpanded = false,
|
||||
isShowingContent = false,
|
||||
isCollapsible = false,
|
||||
isCollapsed = false
|
||||
)
|
||||
val viewdata2 = StatusViewData.Concrete(
|
||||
status = createStatus(),
|
||||
isExpanded = false,
|
||||
isShowingContent = false,
|
||||
isCollapsible = false,
|
||||
isCollapsed = false
|
||||
)
|
||||
assertEquals(viewdata1, viewdata2)
|
||||
|
@ -68,14 +62,12 @@ class StatusComparisonTest {
|
|||
status = createStatus(),
|
||||
isExpanded = true,
|
||||
isShowingContent = false,
|
||||
isCollapsible = false,
|
||||
isCollapsed = false
|
||||
)
|
||||
val viewdata2 = StatusViewData.Concrete(
|
||||
status = createStatus(),
|
||||
isExpanded = false,
|
||||
isShowingContent = false,
|
||||
isCollapsible = false,
|
||||
isCollapsed = false
|
||||
)
|
||||
assertNotEquals(viewdata1, viewdata2)
|
||||
|
@ -87,14 +79,12 @@ class StatusComparisonTest {
|
|||
status = createStatus(content = "whatever"),
|
||||
isExpanded = true,
|
||||
isShowingContent = false,
|
||||
isCollapsible = false,
|
||||
isCollapsed = false
|
||||
)
|
||||
val viewdata2 = StatusViewData.Concrete(
|
||||
status = createStatus(),
|
||||
isExpanded = false,
|
||||
isShowingContent = false,
|
||||
isCollapsible = false,
|
||||
isCollapsed = false
|
||||
)
|
||||
assertNotEquals(viewdata1, viewdata2)
|
||||
|
|
|
@ -1,14 +1,19 @@
|
|||
package com.keylesspalace.tusky.components.timeline
|
||||
|
||||
import androidx.paging.PagingSource
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import com.keylesspalace.tusky.components.timeline.viewmodel.NetworkTimelinePagingSource
|
||||
import com.keylesspalace.tusky.components.timeline.viewmodel.NetworkTimelineViewModel
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.kotlin.doReturn
|
||||
import org.mockito.kotlin.mock
|
||||
import org.robolectric.annotation.Config
|
||||
|
||||
@Config(sdk = [28])
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class NetworkTimelinePagingSourceTest {
|
||||
|
||||
private val status = mockStatusViewData()
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.keylesspalace.tusky.components.timeline
|
||||
|
||||
import android.text.SpannedString
|
||||
import com.google.gson.Gson
|
||||
import com.keylesspalace.tusky.db.TimelineStatusWithAccount
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
|
@ -25,7 +24,7 @@ fun mockStatus(id: String = "100") = Status(
|
|||
inReplyToId = null,
|
||||
inReplyToAccountId = null,
|
||||
reblog = null,
|
||||
content = SpannedString("Test"),
|
||||
content = "Test",
|
||||
createdAt = fixedDate,
|
||||
emojis = emptyList(),
|
||||
reblogsCount = 1,
|
||||
|
@ -50,7 +49,6 @@ fun mockStatusViewData(id: String = "100") = StatusViewData.Concrete(
|
|||
status = mockStatus(id),
|
||||
isExpanded = false,
|
||||
isShowingContent = false,
|
||||
isCollapsible = false,
|
||||
isCollapsed = true,
|
||||
)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue