• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.android.launcher3
2 
3 import android.content.Context
4 import android.platform.test.annotations.EnableFlags
5 import android.platform.test.flag.junit.SetFlagsRule
6 import androidx.test.core.app.ApplicationProvider.getApplicationContext
7 import androidx.test.ext.junit.runners.AndroidJUnit4
8 import androidx.test.filters.SmallTest
9 import com.android.launcher3.Utilities.*
10 import com.android.launcher3.dragndrop.DragView
11 import com.android.launcher3.util.ActivityContextWrapper
12 import com.android.launcher3.util.MSDLPlayerWrapper
13 import com.google.android.msdl.data.model.MSDLToken
14 import com.google.common.truth.Truth.assertThat
15 import org.junit.Before
16 import org.junit.Rule
17 import org.junit.Test
18 import org.junit.runner.RunWith
19 import org.mockito.Mock
20 import org.mockito.kotlin.eq
21 import org.mockito.kotlin.mock
22 import org.mockito.kotlin.times
23 import org.mockito.kotlin.verify
24 import org.mockito.kotlin.verifyNoMoreInteractions
25 
26 @SmallTest
27 @RunWith(AndroidJUnit4::class)
28 class DeleteDropTargetTest {
29 
30     @get:Rule val mSetFlagsRule = SetFlagsRule()
31 
32     @Mock private val msdlPlayerWrapper = mock<MSDLPlayerWrapper>()
33 
34     private var mContext: Context = ActivityContextWrapper(getApplicationContext())
35 
36     // Use a non-abstract class implementation
37     private var buttonDropTarget: DeleteDropTarget = DeleteDropTarget(mContext)
38 
39     @Before
setupnull40     fun setup() {
41         enableRunningInTestHarnessForTests()
42     }
43 
44     @Test
isTextClippedVerticallyTestnull45     fun isTextClippedVerticallyTest() {
46         buttonDropTarget.updateText("My Test")
47         buttonDropTarget.setPadding(0, 0, 0, 0)
48         buttonDropTarget.setTextMultiLine(false)
49 
50         // No space for text
51         assertThat(buttonDropTarget.isTextClippedVertically(1)).isTrue()
52 
53         // A lot of space for text so the text should not be clipped
54         assertThat(buttonDropTarget.isTextClippedVertically(1000)).isFalse()
55     }
56 
57     @Test
58     @EnableFlags(Flags.FLAG_MSDL_FEEDBACK)
onDragEnter_performsMSDLSwipeThresholdFeedbacknull59     fun onDragEnter_performsMSDLSwipeThresholdFeedback() {
60         buttonDropTarget.setMSDLPlayerWrapper(msdlPlayerWrapper)
61         val target = DropTarget.DragObject(mContext)
62         target.dragView = mock<DragView<*>>()
63         buttonDropTarget.onDragEnter(target)
64 
65         verify(msdlPlayerWrapper, times(1)).playToken(eq(MSDLToken.SWIPE_THRESHOLD_INDICATOR))
66         verifyNoMoreInteractions(msdlPlayerWrapper)
67     }
68 }
69