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

Commit 8b0a647a authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Removing dependency on deprecated android.test.** package

Change-Id: Ib1065e26fff3c193d12531c8bca944693ea6137c
parent ba9609d3
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -80,18 +80,18 @@ android {
        }

        aosp {
            java.srcDirs = ['src_flags']
            java.srcDirs = ['src_flags', "src_ui_overrides"]
        }

        l3go {
            res.srcDirs = ['go/res']
            java.srcDirs = ['go/src_flags']
            java.srcDirs = ['go/src_flags', "src_ui_overrides"]
            manifest.srcFile "go/AndroidManifest.xml"
        }

        quickstep {
            res.srcDirs = ['quickstep/res']
            java.srcDirs = ['quickstep/src_flags', 'quickstep/src']
            java.srcDirs = ['src_flags', 'quickstep/src']
            manifest.srcFile "quickstep/AndroidManifest.xml"
        }
    }
@@ -115,7 +115,8 @@ dependencies {
    androidTestCompile "org.mockito:mockito-core:1.9.5"
    androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
    androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile 'com.android.support.test:runner:1.0.0'
    androidTestCompile 'com.android.support.test:rules:1.0.0'
    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
    androidTestCompile "com.android.support:support-annotations:${SUPPORT_LIBS_VERSION}"
}
+21 −10
Original line number Diff line number Diff line
package com.android.launcher3.logging;

import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;

import java.io.File;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Calendar;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

/**
 * Tests for {@link FileLog}
 */
@SmallTest
public class FileLogTest extends AndroidTestCase {
@RunWith(AndroidJUnit4.class)
public class FileLogTest {

    private File mTempDir;

    @Override
    protected void setUp() throws Exception {
        super.setUp();
    @Before
    public void setUp() throws Exception {
        int count = 0;
        do {
            mTempDir = new File(getContext().getCacheDir(), "log-test-" + (count++));
            mTempDir = new File(InstrumentationRegistry.getTargetContext().getCacheDir(),
                    "log-test-" + (count++));
        } while(!mTempDir.mkdir());

        FileLog.setDir(mTempDir);
    }

    @Override
    protected void tearDown() throws Exception {
    @After
    public void tearDown() throws Exception {
        // Clear existing logs
        new File(mTempDir, "log-0").delete();
        new File(mTempDir, "log-1").delete();
        mTempDir.delete();
        super.tearDown();
    }

    @Test
    public void testPrintLog() throws Exception {
        if (!FileLog.ENABLED) {
            return;
@@ -56,6 +66,7 @@ public class FileLogTest extends AndroidTestCase {
        assertTrue(writer.toString().contains("hoolalala"));
    }

    @Test
    public void testOldFileTruncated() throws Exception {
        if (!FileLog.ENABLED) {
            return;
+16 −14
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Rect;
import android.net.Uri;
import android.support.test.runner.AndroidJUnit4;
import android.util.Pair;

import com.android.launcher3.ItemInfo;
@@ -15,21 +16,25 @@ import com.android.launcher3.LauncherSettings;
import com.android.launcher3.ShortcutInfo;
import com.android.launcher3.util.GridOccupancy;
import com.android.launcher3.util.LongArrayMap;
import com.android.launcher3.util.Provider;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;

import java.util.ArrayList;
import java.util.List;

import static org.mockito.Matchers.isNull;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

/**
 * Tests for {@link AddWorkspaceItemsTask}
 */
@RunWith(AndroidJUnit4.class)
public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase {

    private final ComponentName mComponent1 = new ComponentName("a", "b");
@@ -39,9 +44,8 @@ public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase {
    private ArrayList<Long> newScreens;
    private LongArrayMap<GridOccupancy> screenOccupancy;

    @Override
    protected void setUp() throws Exception {
        super.setUp();
    @Before
    public void initData() throws Exception {
        existingScreens = new ArrayList<>();
        screenOccupancy = new LongArrayMap<>();
        newScreens = new ArrayList<>();
@@ -62,6 +66,7 @@ public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase {
        };
    }

    @Test
    public void testFindSpaceForItem_prefers_second() {
        // First screen has only one hole of size 1
        int nextId = setupWorkspaceWithHoles(1, 1, new Rect(2, 2, 3, 3));
@@ -83,13 +88,12 @@ public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase {
                .isRegionVacant(spaceFound.second[0], spaceFound.second[1], 2, 3));
    }

    @Test
    public void testFindSpaceForItem_adds_new_screen() throws Exception {
        // First screen has 2 holes of sizes 3x2 and 2x3
        setupWorkspaceWithHoles(1, 1, new Rect(2, 0, 5, 2), new Rect(0, 2, 2, 5));
        commitScreensToDb();

        when(appState.getContext()).thenReturn(getMockContext());

        ArrayList<Long> oldScreens = new ArrayList<>(existingScreens);
        Pair<Long, int[]> spaceFound = newTask()
                .findSpaceForItem(appState, bgDataModel, existingScreens, newScreens, 3, 3);
@@ -97,6 +101,7 @@ public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase {
        assertTrue(newScreens.contains(spaceFound.first));
    }

    @Test
    public void testAddItem_existing_item_ignored() throws Exception {
        ShortcutInfo info = new ShortcutInfo();
        info.intent = new Intent().setComponent(mComponent1);
@@ -105,12 +110,11 @@ public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase {
        setupWorkspaceWithHoles(1, 1, new Rect(2, 2, 3, 3));
        commitScreensToDb();

        when(appState.getContext()).thenReturn(getMockContext());

        // Nothing was added
        assertTrue(executeTaskForTest(newTask(info)).isEmpty());
    }

    @Test
    public void testAddItem_some_items_added() throws Exception {
        ShortcutInfo info = new ShortcutInfo();
        info.intent = new Intent().setComponent(mComponent1);
@@ -122,8 +126,6 @@ public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase {
        setupWorkspaceWithHoles(1, 1, new Rect(2, 2, 3, 3));
        commitScreensToDb();

        when(appState.getContext()).thenReturn(getMockContext());

        executeTaskForTest(newTask(info, info2)).get(0).run();
        ArgumentCaptor<ArrayList> notAnimated = ArgumentCaptor.forClass(ArrayList.class);
        ArgumentCaptor<ArrayList> animated = ArgumentCaptor.forClass(ArrayList.class);
@@ -168,7 +170,7 @@ public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase {
    }

    private void commitScreensToDb() throws Exception {
        LauncherSettings.Settings.call(getMockContentResolver(),
        LauncherSettings.Settings.call(mProviderRule.getResolver(),
                LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB);

        Uri uri = LauncherSettings.WorkspaceScreens.CONTENT_URI;
@@ -183,6 +185,6 @@ public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase {
            v.put(LauncherSettings.WorkspaceScreens.SCREEN_RANK, i);
            ops.add(ContentProviderOperation.newInsert(uri).withValues(v).build());
        }
        getMockContentResolver().applyBatch(LauncherProvider.AUTHORITY, ops);
        mProviderRule.getResolver().applyBatch(LauncherProvider.AUTHORITY, ops);
    }
}
+22 −11
Original line number Diff line number Diff line
package com.android.launcher3.model;

import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.Intent;
import android.content.pm.LauncherActivityInfo;
import android.content.res.Resources;
@@ -11,7 +13,8 @@ import android.os.Process;
import android.os.UserHandle;
import android.support.annotation.NonNull;
import android.support.test.InstrumentationRegistry;
import android.test.ProviderTestCase2;
import android.support.test.rule.provider.ProviderTestRule;
import android.support.test.runner.AndroidJUnit4;

import com.android.launcher3.AllAppsList;
import com.android.launcher3.AppFilter;
@@ -28,6 +31,8 @@ import com.android.launcher3.util.ComponentKey;
import com.android.launcher3.util.Provider;
import com.android.launcher3.util.TestLauncherProvider;

import org.junit.Before;
import org.junit.Rule;
import org.mockito.ArgumentCaptor;

import java.io.BufferedReader;
@@ -46,7 +51,12 @@ import static org.mockito.Mockito.when;
/**
 * Base class for writing tests for Model update tasks.
 */
public class BaseModelUpdateTaskTestCase extends ProviderTestCase2<TestLauncherProvider> {
public class BaseModelUpdateTaskTestCase {

    @Rule
    public ProviderTestRule mProviderRule =
            new ProviderTestRule.Builder(TestLauncherProvider.class, LauncherProvider.AUTHORITY)
                    .build();

    public final HashMap<Class, HashMap<String, Field>> fieldCache = new HashMap<>();

@@ -63,14 +73,8 @@ public class BaseModelUpdateTaskTestCase extends ProviderTestCase2<TestLauncherP
    public AllAppsList allAppsList;
    public Callbacks callbacks;

    public BaseModelUpdateTaskTestCase() {
        super(TestLauncherProvider.class, LauncherProvider.AUTHORITY);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();

    @Before
    public void setUp() throws Exception {
        callbacks = mock(Callbacks.class);
        appState = mock(LauncherAppState.class);
        model = mock(LauncherModel.class);
@@ -83,7 +87,12 @@ public class BaseModelUpdateTaskTestCase extends ProviderTestCase2<TestLauncherP
        myUser = Process.myUserHandle();

        bgDataModel = new BgDataModel();
        targetContext = InstrumentationRegistry.getTargetContext();
        targetContext = new ContextWrapper(InstrumentationRegistry.getTargetContext()) {
            @Override
            public ContentResolver getContentResolver() {
                return mProviderRule.getResolver();
            }
        };
        idp = new InvariantDeviceProfile();
        iconCache = new MyIconCache(targetContext, idp);

@@ -91,6 +100,8 @@ public class BaseModelUpdateTaskTestCase extends ProviderTestCase2<TestLauncherP

        when(appState.getIconCache()).thenReturn(iconCache);
        when(appState.getInvariantDeviceProfile()).thenReturn(idp);
        when(appState.getContext()).thenReturn(targetContext);

    }

    /**
+18 −4
Original line number Diff line number Diff line
package com.android.launcher3.model;

import android.support.test.runner.AndroidJUnit4;

import com.android.launcher3.AppInfo;
import com.android.launcher3.ItemInfo;
import com.android.launcher3.ShortcutInfo;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;

import java.util.Arrays;
import java.util.HashSet;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertNull;

/**
 * Tests for {@link CacheDataUpdatedTask}
 */
@RunWith(AndroidJUnit4.class)
public class CacheDataUpdatedTaskTest extends BaseModelUpdateTaskTestCase {

    private static final String NEW_LABEL_PREFIX = "new-label-";

    @Override
    protected void setUp() throws Exception {
        super.setUp();

    @Before
    public void initData() throws Exception {
        initializeData("cache_data_updated_task_data");
        // Add dummy entries in the cache to simulate update
        for (ItemInfo info : bgDataModel.itemsIdMap) {
@@ -29,6 +40,7 @@ public class CacheDataUpdatedTaskTest extends BaseModelUpdateTaskTestCase {
        return new CacheDataUpdatedTask(op, myUser, new HashSet<>(Arrays.asList(pkg)));
    }

    @Test
    public void testCacheUpdate_update_apps() throws Exception {
        // Clear all icons from apps list so that its easy to check what was updated
        for (AppInfo info : allAppsList.data) {
@@ -52,6 +64,7 @@ public class CacheDataUpdatedTaskTest extends BaseModelUpdateTaskTestCase {
        }
    }

    @Test
    public void testSessionUpdate_ignores_normal_apps() throws Exception {
        executeTaskForTest(newTask(CacheDataUpdatedTask.OP_SESSION_UPDATE, "app1"));

@@ -59,6 +72,7 @@ public class CacheDataUpdatedTaskTest extends BaseModelUpdateTaskTestCase {
        verifyUpdate();
    }

    @Test
    public void testSessionUpdate_updates_pending_apps() throws Exception {
        executeTaskForTest(newTask(CacheDataUpdatedTask.OP_SESSION_UPDATE, "app3"));

Loading