summaryrefslogtreecommitdiff
path: root/packages/SystemUI/tests/src/com/android/systemui/qs/QSContainerImplTest.kt
blob: bf237abba8fae85e404229102d4a617290ce4115 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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)
            )
    }
}