blob: bf237abba8fae85e404229102d4a617290ce4115 [file] [log] [blame]
package com.android.systemui.qs
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper
import android.view.View
import android.widget.FrameLayout
import androidx.test.filters.SmallTest
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.qs.customize.QSCustomizer
import com.android.systemui.util.mockito.eq
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mockito.anyInt
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
import org.mockito.Mockito.`when` as whenever
@RunWith(AndroidTestingRunner::class)
@TestableLooper.RunWithLooper
@SmallTest
class QSContainerImplTest : SysuiTestCase() {
@Mock
private lateinit var quickStatusBarHeader: QuickStatusBarHeader
@Mock
private lateinit var qsCustomizer: QSCustomizer
@Mock
private lateinit var qsPanelContainer: NonInterceptingScrollView
@Mock
private lateinit var qsPanelController: QSPanelController
@Mock
private lateinit var quickStatusBarHeaderController: QuickStatusBarHeaderController
private lateinit var qsContainer: QSContainerImpl
@Before
fun setUp() {
MockitoAnnotations.initMocks(this)
qsContainer = QSContainerImpl(mContext, null)
setUpMockView(quickStatusBarHeader, R.id.header)
setUpMockView(qsCustomizer, R.id.qs_customize)
setUpMockView(qsPanelContainer, R.id.expanded_qs_scroll_view)
qsContainer.onFinishInflate()
}
private fun setUpMockView(view: View, id: Int) {
whenever(view.findViewById<View>(id)).thenReturn(view)
whenever(view.layoutParams).thenReturn(FrameLayout.LayoutParams(0, 0))
qsContainer.addView(view)
}
@Test
fun testContainerBottomPadding() {
val originalPadding = qsPanelContainer.paddingBottom
qsContainer.updateResources(
qsPanelController,
quickStatusBarHeaderController
)
verify(qsPanelContainer)
.setPaddingRelative(
anyInt(),
anyInt(),
anyInt(),
eq(originalPadding)
)
}
}