summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alison Cichowlas <asc@google.com> 2016-09-20 16:54:38 -0400
committer Alison Cichowlas <asc@google.com> 2016-09-29 15:07:37 -0400
commit87d5010dd3c4cc16ceaea7f95bbe081bfddceb51 (patch)
tree6d71c91febd52df99c034a8dd2dea494a3c094df
parentfcdcf7f636ada244a635328e25fdc03959468c8e (diff)
Add simple test for StatusBarIconList.
Test: runtest --path frameworks/base/packages/SystemUI/tests Change-Id: Ic65195624b42504d4f4b366f1c5386ee9b48a07f
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconListTest.java85
1 files changed, 85 insertions, 0 deletions
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconListTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconListTest.java
new file mode 100644
index 000000000000..2792d8c45865
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconListTest.java
@@ -0,0 +1,85 @@
+package com.android.systemui.statusbar;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNull;
+
+import static org.mockito.Mockito.mock;
+
+import android.support.test.runner.AndroidJUnit4;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.internal.statusbar.StatusBarIcon;
+import com.android.systemui.SysuiTestCase;
+import com.android.systemui.statusbar.phone.StatusBarIconList;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class StatusBarIconListTest extends SysuiTestCase {
+
+ private final static String[] STATUS_BAR_SLOTS = {"aaa", "bbb", "ccc"};
+
+ @Test
+ public void testGetExistingSlot() {
+ StatusBarIconList statusBarIconList = new StatusBarIconList(STATUS_BAR_SLOTS);
+ assertEquals(1, statusBarIconList.getSlotIndex("bbb"));
+ assertEquals(2, statusBarIconList.getSlotIndex("ccc"));
+ }
+
+ @Test
+ public void testGetNonexistingSlot() {
+ StatusBarIconList statusBarIconList = new StatusBarIconList(STATUS_BAR_SLOTS);
+ assertEquals(0, statusBarIconList.getSlotIndex("aaa"));
+ assertEquals(3, statusBarIconList.size());
+ assertEquals(0, statusBarIconList.getSlotIndex("zzz")); // new content added in front
+ assertEquals(1, statusBarIconList.getSlotIndex("aaa")); // slid back
+ assertEquals(4, statusBarIconList.size());
+ }
+
+ @Test
+ public void testAddSlotSlidesIcons() {
+ StatusBarIconList statusBarIconList = new StatusBarIconList(STATUS_BAR_SLOTS);
+ StatusBarIcon sbIcon = mock(StatusBarIcon.class);
+ statusBarIconList.setIcon(0, sbIcon);
+ statusBarIconList.getSlotIndex("zzz"); // new content added in front
+ assertNull(statusBarIconList.getIcon(0));
+ assertEquals(sbIcon, statusBarIconList.getIcon(1));
+ }
+
+ @Test
+ public void testGetAndSetIcon() {
+ StatusBarIconList statusBarIconList = new StatusBarIconList(STATUS_BAR_SLOTS);
+ StatusBarIcon sbIconA = mock(StatusBarIcon.class);
+ StatusBarIcon sbIconB = mock(StatusBarIcon.class);
+ statusBarIconList.setIcon(0, sbIconA);
+ statusBarIconList.setIcon(1, sbIconB);
+ assertEquals(sbIconA, statusBarIconList.getIcon(0));
+ assertEquals(sbIconB, statusBarIconList.getIcon(1));
+ assertNull(statusBarIconList.getIcon(2)); // icon not set
+ }
+
+ @Test
+ public void testRemoveIcon() {
+ StatusBarIconList statusBarIconList = new StatusBarIconList(STATUS_BAR_SLOTS);
+ StatusBarIcon sbIconA = mock(StatusBarIcon.class);
+ StatusBarIcon sbIconB = mock(StatusBarIcon.class);
+ statusBarIconList.setIcon(0, sbIconA);
+ statusBarIconList.setIcon(1, sbIconB);
+ statusBarIconList.removeIcon(0);
+ assertNull(statusBarIconList.getIcon(0)); // icon not set
+ }
+
+ @Test
+ public void testGetViewIndex() {
+ StatusBarIconList statusBarIconList = new StatusBarIconList(STATUS_BAR_SLOTS);
+ StatusBarIcon sbIcon = mock(StatusBarIcon.class);
+ statusBarIconList.setIcon(2, sbIcon);
+ assertEquals(0, statusBarIconList.getViewIndex(2)); // Icon for item 2 is 0th child view.
+ statusBarIconList.setIcon(0, sbIcon);
+ assertEquals(0, statusBarIconList.getViewIndex(0)); // Icon for item 0 is 0th child view,
+ assertEquals(1, statusBarIconList.getViewIndex(2)); // and item 2 is now 1st child view.
+ }
+
+} \ No newline at end of file