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

Commit 39ed1b0a authored by Mehdi Alizadeh's avatar Mehdi Alizadeh
Browse files

Use client context to pass ShortcutManager tests

Uses client context in unit tests to pass the shortcut package name
check.

Before applying this change unit tests were failing with this error:

STACKTRACE:
junit.framework.AssertionFailedError: Expected exception type was
  java.lang.IllegalArgumentException but caught
  java.lang.SecurityException: Shortcut package name mismatch (message=)
at junit.framework.Assert.fail(Assert.java:50) at
junit.framework.Assert.assertTrue(Assert.java:20) at
com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils
  .assertExpectException(ShortcutManagerTestUtils.java:429) at
com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils
  .assertExpectException(ShortcutManagerTestUtils.java:410) at
com.android.server.pm.ShortcutManagerTest2
  .testShortcutInfoMissingMandatoryFields(ShortcutManagerTest2.java:154)

Test: atest com.android.server.pm.ShortcutManagerTest1
Test: atest com.android.server.pm.ShortcutManagerTest2
Test: atest com.android.server.pm.ShortcutManagerTest3
Test: atest com.android.server.pm.ShortcutManagerTest4
Test: atest com.android.server.pm.ShortcutManagerTest5
Test: atest com.android.server.pm.ShortcutManagerTest6
Test: atest com.android.server.pm.ShortcutManagerTest7
Test: atest com.android.server.pm.ShortcutManagerTest8
Test: atest com.android.server.pm.ShortcutManagerTest9
Test: atest com.android.server.pm.ShortcutManagerTest10
Change-Id: I93e306dbcec206557da3f4c40cb12576e1ec8383
parent 05fa5e1c
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -963,6 +963,10 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
        return getInstrumentation().getContext();
    }

    protected Context getClientContext() {
        return mClientContext;
    }

    protected ShortcutManager getManager() {
        return mManager;
    }
+16 −16
Original line number Diff line number Diff line
@@ -144,8 +144,8 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {

        assertExpectException(
                IllegalArgumentException.class, "Short label must be provided", () -> {
            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
                    .setActivity(new ComponentName(getTestContext().getPackageName(), "s"))
            ShortcutInfo si = new ShortcutInfo.Builder(getClientContext(), "id")
                    .setActivity(new ComponentName(getClientContext().getPackageName(), "s"))
                    .build();
            assertTrue(getManager().setDynamicShortcuts(list(si)));
        });
@@ -153,15 +153,15 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
        // same for add.
        assertExpectException(
                IllegalArgumentException.class, "Short label must be provided", () -> {
            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
                    .setActivity(new ComponentName(getTestContext().getPackageName(), "s"))
            ShortcutInfo si = new ShortcutInfo.Builder(getClientContext(), "id")
                    .setActivity(new ComponentName(getClientContext().getPackageName(), "s"))
                    .build();
            assertTrue(getManager().addDynamicShortcuts(list(si)));
        });

        assertExpectException(NullPointerException.class, "Intent must be provided", () -> {
            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
                    .setActivity(new ComponentName(getTestContext().getPackageName(), "s"))
            ShortcutInfo si = new ShortcutInfo.Builder(getClientContext(), "id")
                    .setActivity(new ComponentName(getClientContext().getPackageName(), "s"))
                    .setShortLabel("x")
                    .build();
            assertTrue(getManager().setDynamicShortcuts(list(si)));
@@ -169,8 +169,8 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {

        // same for add.
        assertExpectException(NullPointerException.class, "Intent must be provided", () -> {
            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
                    .setActivity(new ComponentName(getTestContext().getPackageName(), "s"))
            ShortcutInfo si = new ShortcutInfo.Builder(getClientContext(), "id")
                    .setActivity(new ComponentName(getClientContext().getPackageName(), "s"))
                    .setShortLabel("x")
                    .build();
            assertTrue(getManager().addDynamicShortcuts(list(si)));
@@ -178,7 +178,7 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {

        assertExpectException(
                IllegalStateException.class, "does not belong to package", () -> {
            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
            ShortcutInfo si = new ShortcutInfo.Builder(getClientContext(), "id")
                    .setActivity(new ComponentName("xxx", "s"))
                    .build();
            assertTrue(getManager().setDynamicShortcuts(list(si)));
@@ -187,7 +187,7 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {
        // same for add.
        assertExpectException(
                IllegalStateException.class, "does not belong to package", () -> {
            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
            ShortcutInfo si = new ShortcutInfo.Builder(getClientContext(), "id")
                    .setActivity(new ComponentName("xxx", "s"))
                    .build();
            assertTrue(getManager().addDynamicShortcuts(list(si)));
@@ -198,24 +198,24 @@ public class ShortcutManagerTest2 extends BaseShortcutManagerTest {

        assertExpectException(
                IllegalStateException.class, "is not main", () -> {
                    ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
                            .setActivity(new ComponentName(getTestContext(), "s"))
                    ShortcutInfo si = new ShortcutInfo.Builder(getClientContext(), "id")
                            .setActivity(new ComponentName(getClientContext(), "s"))
                            .build();
                    assertTrue(getManager().setDynamicShortcuts(list(si)));
                });
        // For add
        assertExpectException(
                IllegalStateException.class, "is not main", () -> {
                    ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
                            .setActivity(new ComponentName(getTestContext(), "s"))
                    ShortcutInfo si = new ShortcutInfo.Builder(getClientContext(), "id")
                            .setActivity(new ComponentName(getClientContext(), "s"))
                            .build();
                    assertTrue(getManager().addDynamicShortcuts(list(si)));
                });
        // For update
        assertExpectException(
                IllegalStateException.class, "is not main", () -> {
                    ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
                            .setActivity(new ComponentName(getTestContext(), "s"))
                    ShortcutInfo si = new ShortcutInfo.Builder(getClientContext(), "id")
                            .setActivity(new ComponentName(getClientContext(), "s"))
                            .build();
                    assertTrue(getManager().updateShortcuts(list(si)));
                });