Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f366ad55 authored by Xiaowen Lei's avatar Xiaowen Lei
Browse files

Add unit test to verify SmartSpaceComplicationViewHolder.getView() reuses view.

Bug: 235625099
Fix: 235625099
Test: atest SmartSpaceComplicationTest
Change-Id: I51fcca158812a159ff6f59e3e53b4098cfe4a699
parent 593ac556
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@
 */
package com.android.systemui.dreams;

import static org.junit.Assert.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
@@ -23,10 +25,13 @@ import static org.mockito.Mockito.when;
import android.app.smartspace.SmartspaceTarget;
import android.content.Context;
import android.testing.AndroidTestingRunner;
import android.view.View;

import androidx.test.filters.SmallTest;

import com.android.systemui.SysuiTestCase;
import com.android.systemui.dreams.complication.Complication;
import com.android.systemui.dreams.complication.ComplicationViewModel;
import com.android.systemui.dreams.smartspace.DreamSmartspaceController;
import com.android.systemui.plugins.BcSmartspaceDataPlugin;

@@ -55,6 +60,12 @@ public class SmartSpaceComplicationTest extends SysuiTestCase {
    @Mock
    private SmartSpaceComplication mComplication;

    @Mock
    private ComplicationViewModel mComplicationViewModel;

    @Mock
    private View mBcSmartspaceView;

    @Before
    public void setup() {
        MockitoAnnotations.initMocks(this);
@@ -90,4 +101,13 @@ public class SmartSpaceComplicationTest extends SysuiTestCase {
        listenerCaptor.getValue().onSmartspaceTargetsUpdated(Arrays.asList(target));
        verify(mDreamOverlayStateController).addComplication(eq(mComplication));
    }

    @Test
    public void testGetViewReusesSameView() {
        final SmartSpaceComplication complication = new SmartSpaceComplication(getContext(),
                mSmartspaceController);
        final Complication.ViewHolder viewHolder = complication.createView(mComplicationViewModel);
        when(mSmartspaceController.buildAndConnectView(any())).thenReturn(mBcSmartspaceView);
        assertEquals(viewHolder.getView(), viewHolder.getView());
    }
}