diff options
author | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2021-08-31 11:45:23 -0400 |
---|---|---|
committer | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2021-08-31 11:45:23 -0400 |
commit | 0a29f6816911c71683a5009da9f43021149ae0b7 (patch) | |
tree | 2c3259670f0974eb51944a78ba951076dd73eb8b | |
parent | 85d5512073474c62b719e0ea4880496442a77c93 (diff) | |
download | sdl_android-0a29f6816911c71683a5009da9f43021149ae0b7.tar.gz |
Add more menu manager tests
2 files changed, 35 insertions, 1 deletions
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java index b76964ce2..08993cc96 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java @@ -226,6 +226,40 @@ public class MenuManagerTests { } @Test + public void testSettingNullMenu() { + menuManager.setMenuCells(null); + assertEquals(HMILevel.HMI_NONE, menuManager.currentHMILevel); + assertTrue(menuManager.currentMenuCells.isEmpty()); + + // The Menu Manager should send new menu once HMI full occurs + sendFakeCoreOnHMIFullNotifications(); + + // Listener should be triggered - which sets new HMI level and should proceed to send our pending update + assertEquals(HMILevel.HMI_FULL, menuManager.currentHMILevel); + + assertTrue(menuManager.currentMenuCells.isEmpty()); + } + + @Test + public void testSettingNonUniqueCells() { + MenuSelectionListener listener = null; + MenuCell cell1 = new MenuCell("cell", null, null, listener); + MenuCell cell2 = new MenuCell("cell", null, null, listener); + + menuManager.setMenuCells(Arrays.asList(cell1, cell2)); + assertEquals(HMILevel.HMI_NONE, menuManager.currentHMILevel); + assertTrue(menuManager.currentMenuCells.isEmpty()); + + // The Menu Manager should send new menu once HMI full occurs + sendFakeCoreOnHMIFullNotifications(); + + // Listener should be triggered - which sets new HMI level and should proceed to send our pending update + assertEquals(HMILevel.HMI_FULL, menuManager.currentHMILevel); + + assertTrue(menuManager.transactionQueue.getTasksAsList().isEmpty()); + } + + @Test public void testUpdatingOldWay() { // Force Menu Manager to use the old way of deleting / sending all menuManager.setDynamicUpdatesMode(DynamicMenuUpdatesMode.FORCE_OFF); diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java index 42e4ac439..dbc7251ea 100644 --- a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java @@ -80,7 +80,7 @@ abstract class BaseMenuManager extends BaseSubManager { OnRPCNotificationListener commandListener; OnSystemCapabilityListener onDisplaysCapabilityListener; WindowCapability windowCapability; - private Queue transactionQueue; + Queue transactionQueue; BaseMenuManager(@NonNull ISdl internalInterface, @NonNull FileManager fileManager) { super(internalInterface); |