Adding a mock for MSDLPlayerWrapper to DeleteDropTargetTest.
The mock makes sure we don't rely on a device hardware for tests. Test: DeleteDropTargetTest Flag: com.android.launcher3.msdl_feedback Bug: 379958544 Change-Id: I202b81f3dd16af1c0985980d0b962be0000bf31f
This commit is contained in:
@@ -65,7 +65,7 @@ public abstract class ButtonDropTarget extends TextView
|
||||
protected final ActivityContext mActivityContext;
|
||||
protected final DropTargetHandler mDropTargetHandler;
|
||||
protected DropTargetBar mDropTargetBar;
|
||||
private final MSDLPlayerWrapper mMSDLPlayerWrapper;
|
||||
private MSDLPlayerWrapper mMSDLPlayerWrapper;
|
||||
|
||||
/** Whether this drop target is active for the current drag */
|
||||
protected boolean mActive;
|
||||
@@ -438,6 +438,11 @@ public abstract class ButtonDropTarget extends TextView
|
||||
return textHeight + getPaddingTop() + getPaddingBottom() >= availableHeight;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
public void setMSDLPlayerWrapper(MSDLPlayerWrapper wrapper) {
|
||||
mMSDLPlayerWrapper = wrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reduce the size of the text until it fits the measured width or reaches a minimum.
|
||||
*
|
||||
|
||||
@@ -69,6 +69,7 @@ public class MSDLPlayerWrapper {
|
||||
|
||||
/** Print the latest history of MSDL tokens played */
|
||||
public void dump(String prefix, PrintWriter writer) {
|
||||
writer.println(prefix + mMSDLPlayer.toString());
|
||||
writer.println(prefix + "MSDLPlayerWrapper history of latest events:");
|
||||
List<MSDLEvent> events = getHistory();
|
||||
for (MSDLEvent event: events) {
|
||||
|
||||
@@ -16,7 +16,12 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.Mock
|
||||
import org.mockito.kotlin.eq
|
||||
import org.mockito.kotlin.mock
|
||||
import org.mockito.kotlin.times
|
||||
import org.mockito.kotlin.verify
|
||||
import org.mockito.kotlin.verifyNoMoreInteractions
|
||||
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
@@ -24,6 +29,8 @@ class DeleteDropTargetTest {
|
||||
|
||||
@get:Rule val mSetFlagsRule = SetFlagsRule()
|
||||
|
||||
@Mock private val msdlPlayerWrapper = mock<MSDLPlayerWrapper>()
|
||||
|
||||
private var mContext: Context = ActivityContextWrapper(getApplicationContext())
|
||||
|
||||
// Use a non-abstract class implementation
|
||||
@@ -50,13 +57,12 @@ class DeleteDropTargetTest {
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_MSDL_FEEDBACK)
|
||||
fun onDragEnter_performsMSDLSwipeThresholdFeedback() {
|
||||
buttonDropTarget.setMSDLPlayerWrapper(msdlPlayerWrapper)
|
||||
val target = DropTarget.DragObject(mContext)
|
||||
target.dragView = mock<DragView<*>>()
|
||||
buttonDropTarget.onDragEnter(target)
|
||||
val wrapper = MSDLPlayerWrapper.INSTANCE.get(mContext)
|
||||
|
||||
val history = wrapper.history
|
||||
assertThat(history.size).isEqualTo(1)
|
||||
assertThat(history[0].tokenName).isEqualTo(MSDLToken.SWIPE_THRESHOLD_INDICATOR.name)
|
||||
verify(msdlPlayerWrapper, times(1)).playToken(eq(MSDLToken.SWIPE_THRESHOLD_INDICATOR))
|
||||
verifyNoMoreInteractions(msdlPlayerWrapper)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user