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

Commit 986ea0da authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Fixing Robolectic model tests

Some tests were broken because of refactoring in LauncherModel.

Change-Id: I55aa32d75a4d16338796a1b1765717fd72ba4b33
parent c32e39f1
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -326,6 +326,8 @@ public abstract class BaseQuickstepLauncher extends Launcher
    @Override
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
        if (Utilities.ATLEAST_R) {
            InteractionJankMonitorWrapper.init(getWindow().getDecorView());
        }
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -59,4 +59,4 @@ LOCAL_INSTRUMENT_SOURCE_DIRS := packages/apps/Launcher3/src

LOCAL_ROBOTEST_TIMEOUT := 36000

include prebuilts/misc/common/robolectric/4.3.1/run_robotests.mk
include prebuilts/misc/common/robolectric/4.4/run_robotests.mk
+9 −3
Original line number Diff line number Diff line
@@ -25,16 +25,20 @@ import android.os.UserHandle;

import com.android.launcher3.model.data.AppInfo;
import com.android.launcher3.model.data.WorkspaceItemInfo;
import com.android.launcher3.util.Executors;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.LooperMode;
import org.robolectric.annotation.LooperMode.Mode;

import java.util.ArrayList;

@RunWith(RobolectricTestRunner.class)
@LooperMode(Mode.PAUSED)
public final class FolderNameProviderTest {
    private Context mContext;
    private WorkspaceItemInfo mItem1;
@@ -58,18 +62,20 @@ public final class FolderNameProviderTest {
    }

    @Test
    public void getSuggestedFolderName_workAssignedToEnd() {
    public void getSuggestedFolderName_workAssignedToEnd() throws Exception {
        ArrayList<WorkspaceItemInfo> list = new ArrayList<>();
        list.add(mItem1);
        list.add(mItem2);
        FolderNameInfos nameInfos = new FolderNameInfos();
        new FolderNameProvider().getSuggestedFolderName(mContext, list, nameInfos);
        Executors.MODEL_EXECUTOR.submit(() ->
                new FolderNameProvider().getSuggestedFolderName(mContext, list, nameInfos)).get();
        assertEquals("Work", nameInfos.getLabels()[0]);

        nameInfos.setLabel(0, "candidate1", 1.0f);
        nameInfos.setLabel(1, "candidate2", 1.0f);
        nameInfos.setLabel(2, "candidate3", 1.0f);
        new FolderNameProvider().getSuggestedFolderName(mContext, list, nameInfos);
        Executors.MODEL_EXECUTOR.submit(() ->
                new FolderNameProvider().getSuggestedFolderName(mContext, list, nameInfos)).get();
        assertEquals("Work", nameInfos.getLabels()[3]);
        assertTrue(nameInfos.hasSuggestions());
        assertTrue(nameInfos.hasPrimary());
+3 −14
Original line number Diff line number Diff line
@@ -9,8 +9,8 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.util.Scheduler;
import org.robolectric.annotation.LooperMode;
import org.robolectric.annotation.LooperMode.Mode;

import java.io.File;
import java.io.PrintWriter;
@@ -21,11 +21,10 @@ import java.util.Calendar;
 * Tests for {@link FileLog}
 */
@RunWith(RobolectricTestRunner.class)
@LooperMode(Mode.PAUSED)
public class FileLogTest {

    private File mTempDir;
    private boolean mTestActive;

    @Before
    public void setUp() {
        int count = 0;
@@ -35,14 +34,6 @@ public class FileLogTest {
        } while (!mTempDir.mkdir());

        FileLog.setDir(mTempDir);

        mTestActive = true;
        Scheduler scheduler = Shadows.shadowOf(FileLog.getHandler().getLooper()).getScheduler();
        new Thread(() -> {
            while (mTestActive) {
                scheduler.advanceToLastPostedRunnable();
            }
        }).start();
    }

    @After
@@ -52,8 +43,6 @@ public class FileLogTest {
            new File(mTempDir, "log-" + i).delete();
        }
        mTempDir.delete();

        mTestActive = false;
    }

    @Test
+4 −2
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import com.android.launcher3.PagedView;
import com.android.launcher3.model.BgDataModel.Callbacks;
import com.android.launcher3.model.data.AppInfo;
import com.android.launcher3.model.data.ItemInfo;
import com.android.launcher3.shadows.ShadowLooperExecutor;
import com.android.launcher3.util.Executors;
import com.android.launcher3.util.LauncherLayoutBuilder;
import com.android.launcher3.util.LauncherModelHelper;
@@ -43,8 +44,8 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.LooperMode;
import org.robolectric.annotation.LooperMode.Mode;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowPackageManager;
import org.robolectric.util.ReflectionHelpers;

import java.util.ArrayList;
import java.util.Arrays;
@@ -74,7 +75,8 @@ public class ModelMultiCallbacksTest {
        // Since robolectric tests run on main thread, we run the loader-UI calls on a temp thread,
        // so that we can wait appropriately for the loader to complete.
        mTempMainExecutor = new LooperExecutor(createAndStartNewForegroundLooper("tempMain"));
        ReflectionHelpers.setField(mModelHelper.getModel(), "mMainExecutor", mTempMainExecutor);
        ShadowLooperExecutor sle = Shadow.extract(Executors.MAIN_EXECUTOR);
        sle.setHandler(mTempMainExecutor.getHandler());
    }

    @Test
Loading