@ -9,6 +9,8 @@ import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import androidx.coordinatorlayout.widget.CoordinatorLayout
import io.mockk.every
import io.mockk.mockk
import mozilla.components.support.test.robolectric.testContext
import org.junit.Assert.assertEquals
import org.junit.Before
@ -20,14 +22,20 @@ import org.mozilla.fenix.helpers.FenixRobolectricTestRunner
@RunWith ( FenixRobolectricTestRunner :: class )
class FenixSnackbarBehaviorTest {
private val snackbar Params = CoordinatorLayout . LayoutParams ( 0 , 0 )
private va l snackbarContainer = FrameLayout ( testContext )
private val snackbar Container = mockk < FrameLayout > ( relaxed = true )
private va r snackbarLayoutParams = CoordinatorLayout . LayoutParams ( 0 , 0 )
private val dependency = View ( testContext )
private val parent = CoordinatorLayout ( testContext )
@Before
fun setup ( ) {
snackbarContainer . layoutParams = snackbarParams
every { snackbarContainer . layoutParams } returns snackbarLayoutParams
every { snackbarContainer . post ( any ( ) ) } answers {
// Immediately run the given Runnable argument
val action : Runnable = firstArg ( )
action . run ( )
true
}
parent . addView ( dependency )
}
@ -235,17 +243,14 @@ class FenixSnackbarBehaviorTest {
}
private fun assertSnackbarPlacementAboveAnchor ( anchor : View = dependency ) {
assertEquals ( anchor . id , snackbar Container. p arams. anchorId )
assertEquals ( Gravity . TOP or Gravity . CENTER _HORIZONTAL , snackbar Container. p arams. anchorGravity )
assertEquals ( Gravity . TOP or Gravity . CENTER _HORIZONTAL , snackbar Container. p arams. gravity )
assertEquals ( anchor . id , snackbar LayoutP arams. anchorId )
assertEquals ( Gravity . TOP or Gravity . CENTER _HORIZONTAL , snackbar LayoutP arams. anchorGravity )
assertEquals ( Gravity . TOP or Gravity . CENTER _HORIZONTAL , snackbar LayoutP arams. gravity )
}
private fun assertSnackbarIsPlacedAtTheBottomOfTheScreen ( ) {
assertEquals ( View . NO _ID , snackbar Container. p arams. anchorId )
assertEquals ( Gravity . NO _GRAVITY , snackbar Container. p arams. anchorGravity )
assertEquals ( Gravity . BOTTOM or Gravity . CENTER _HORIZONTAL , snackbar Container. p arams. gravity )
assertEquals ( View . NO _ID , snackbar LayoutP arams. anchorId )
assertEquals ( Gravity . NO _GRAVITY , snackbar LayoutP arams. anchorGravity )
assertEquals ( Gravity . BOTTOM or Gravity . CENTER _HORIZONTAL , snackbar LayoutP arams. gravity )
}
private val FrameLayout . params
get ( ) = layoutParams as CoordinatorLayout . LayoutParams
}