Skip to content

Commit

Permalink
Issue mozilla-mobile#21236: Fix failing test
Browse files Browse the repository at this point in the history
  • Loading branch information
jonalmeida committed Sep 17, 2021
1 parent 122e3e4 commit 1ff6bc0
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 26 deletions.
Expand Up @@ -42,7 +42,7 @@ class TrayPagerAdapter(
ConcatAdapter(
InactiveTabsAdapter(context, browserInteractor, INACTIVE_TABS_FEATURE_NAME),
TabGroupAdapter(context, browserInteractor, tabsTrayStore, TAB_GROUP_FEATURE_NAME),
TitleHeaderAdapter(browserStore, R.string.tab_tray_header_title),
TitleHeaderAdapter(browserStore),
BrowserTabsAdapter(context, browserInteractor, tabsTrayStore, TABS_TRAY_FEATURE_NAME)
)
}
Expand Down
Expand Up @@ -7,7 +7,6 @@ package org.mozilla.fenix.tabstray.browser
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.StringRes
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
Expand All @@ -17,21 +16,18 @@ import org.mozilla.fenix.databinding.TabTrayTitleHeaderItemBinding

/**
* A [RecyclerView.Adapter] for tab header.
*
* @param title [String] used for the title
*/
class TitleHeaderAdapter(
private val browserStore: BrowserStore,
@StringRes val title: Int
browserStore: BrowserStore
) : ListAdapter<TitleHeaderAdapter.Header, TitleHeaderAdapter.HeaderViewHolder>(DiffCallback) {

object Header
class Header

private val normalTabsHeaderBinding = TitleHeaderBinding(browserStore, ::handleListChanges)

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HeaderViewHolder {
val view = LayoutInflater.from(parent.context).inflate(viewType, parent, false)
return HeaderViewHolder(view, title)
return HeaderViewHolder(view)
}

override fun getItemViewType(position: Int) = HeaderViewHolder.LAYOUT_ID
Expand All @@ -49,22 +45,20 @@ class TitleHeaderAdapter(

private fun handleListChanges(showHeader: Boolean) {
val header = if (showHeader) {
listOf(Header)
listOf(Header())
} else {
emptyList()
}

submitList(header)
}

class HeaderViewHolder(
itemView: View,
@StringRes val title: Int
) : RecyclerView.ViewHolder(itemView) {
class HeaderViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
private val binding = TabTrayTitleHeaderItemBinding.bind(itemView)

fun bind() {
binding.tabTrayHeaderTitle.text = itemView.context.getString(title)
binding.tabTrayHeaderTitle.text =
itemView.context.getString(R.string.tab_tray_header_title)
}

companion object {
Expand Down
Expand Up @@ -32,18 +32,6 @@ class SelectedItemAdapterBindingTest {
every { adapter.itemCount }.answers { 1 }
}

@Test
fun `WHEN observing on start THEN ignore the initial state update`() {
val store = TabsTrayStore()
val binding = SelectedItemAdapterBinding(store, adapter)

binding.start()

verify(exactly = 0) {
adapter.notifyItemRangeChanged(any(), any(), any())
}
}

@Test
fun `WHEN mode changes THEN notify the adapter`() {
val store = TabsTrayStore()
Expand Down

0 comments on commit 1ff6bc0

Please sign in to comment.