From: Tony Wickham Date: Sat, 7 Nov 2015 01:08:57 +0000 (-0800) Subject: Added unit tests for b/25434120 regression. X-Git-Tag: android-x86-7.1-r1~166^2~96 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3cfa97d4c1;p=android-x86%2Fpackages-apps-Launcher3.git Added unit tests for b/25434120 regression. Change-Id: I55b10274c4bb63ec6fd3138236e78a04e3eac91a --- diff --git a/tests/src/com/android/launcher3/util/FocusLogicTest.java b/tests/src/com/android/launcher3/util/FocusLogicTest.java index ea87014e9..2c2f0d3df 100644 --- a/tests/src/com/android/launcher3/util/FocusLogicTest.java +++ b/tests/src/com/android/launcher3/util/FocusLogicTest.java @@ -57,4 +57,39 @@ public final class FocusLogicTest extends AndroidTestCase { // may get created in real world to test this method. OR 2) Move all the matrix // management routine to celllayout and write tests for them. } + + public void testMoveFromBottomRightToBottomLeft() { + int[][] map = transpose(new int[][] { + {-1, 0, -1, -1, -1, -1}, + {-1, -1, -1, -1, -1, -1}, + {-1, -1, -1, -1, -1, -1}, + {-1, -1, -1, -1, -1, -1}, + {100, 1, -1, -1, -1, -1}, + }); + int i = FocusLogic.handleKeyEvent(KeyEvent.KEYCODE_DPAD_RIGHT, 6, 5, map, 100, 1, 2, false); + assertEquals(1, i); + } + + public void testMoveFromBottomRightToTopLeft() { + int[][] map = transpose(new int[][] { + {-1, 0, -1, -1, -1, -1}, + {-1, -1, -1, -1, -1, -1}, + {-1, -1, -1, -1, -1, -1}, + {-1, -1, -1, -1, -1, -1}, + {100, -1, -1, -1, -1, -1}, + }); + int i = FocusLogic.handleKeyEvent(KeyEvent.KEYCODE_DPAD_RIGHT, 6, 5, map, 100, 1, 2, false); + assertEquals(0, i); + } + + /** Transposes the matrix so that we can write it in human-readable format in the tests. */ + private int[][] transpose(int[][] m) { + int[][] t = new int[m[0].length][m.length]; + for (int i = 0; i < m.length; i++) { + for (int j = 0; j < m[0].length; j++) { + t[j][i] = m[i][j]; + } + } + return t; + } }