Search in sources :

Example 6 with InOrder

use of com.google.testing.littlemock.LittleMock.InOrder in project android_frameworks_base by AOSPA.

the class RequestFocusTest method testOnFocusChangeCallbackOrderWhenClearingFocusOfNotFirstFocusable.

/**
     * This tests check whether the on focus change callbacks are invoked in
     * the proper order when a View loses focus and the framework gives it to
     * the fist focusable one.
     *
     * @throws Exception
     */
@UiThreadTest
public void testOnFocusChangeCallbackOrderWhenClearingFocusOfNotFirstFocusable() throws Exception {
    Button clearingFocusButton = mTopRightButton;
    Button gainingFocusButton = mTopLeftButton;
    // Make sure that the clearing focus View is not the first focusable.
    View focusCandidate = clearingFocusButton.getRootView().getParent().focusSearch(null, View.FOCUS_FORWARD);
    assertNotSame("The clearing focus button is not the first focusable.", clearingFocusButton, focusCandidate);
    assertSame("The gaining focus button is the first focusable.", gainingFocusButton, focusCandidate);
    // Focus the clearing focus button.
    clearingFocusButton.requestFocus();
    assertTrue(clearingFocusButton.hasFocus());
    // Register the invocation order checker.
    CombinedListeners mock = mock(CombinedListeners.class);
    clearingFocusButton.setOnFocusChangeListener(mock);
    gainingFocusButton.setOnFocusChangeListener(mock);
    clearingFocusButton.getViewTreeObserver().addOnGlobalFocusChangeListener(mock);
    // Try to clear focus.
    clearingFocusButton.clearFocus();
    // Check that no callback was invoked since focus did not move.
    InOrder inOrder = inOrder(mock);
    inOrder.verify(mock).onFocusChange(clearingFocusButton, false);
    inOrder.verify(mock).onGlobalFocusChanged(clearingFocusButton, gainingFocusButton);
    inOrder.verify(mock).onFocusChange(gainingFocusButton, true);
}
Also used : InOrder(com.google.testing.littlemock.LittleMock.InOrder) Button(android.widget.Button) View(android.view.View) UiThreadTest(android.test.UiThreadTest)

Example 7 with InOrder

use of com.google.testing.littlemock.LittleMock.InOrder in project android_frameworks_base by DirtyUnicorns.

the class RequestFocusTest method testOnFocusChangeCallbackOrderWhenClearingFocusOfFirstFocusable.

/**
     * This tests checks the case in which the first focusable View clears focus.
     * In such a case the framework tries to give the focus to another View starting
     * from the top. Hence, the framework will try to give focus to the view that
     * wants to clear its focus.
     *
     * @throws Exception If an error occurs.
     */
@UiThreadTest
public void testOnFocusChangeCallbackOrderWhenClearingFocusOfFirstFocusable() throws Exception {
    // Get the first focusable.
    Button clearingFocusButton = mTopLeftButton;
    Button gainingFocusButton = mTopLeftButton;
    // Make sure that the clearing focus View is the first focusable.
    View focusCandidate = clearingFocusButton.getRootView().getParent().focusSearch(null, View.FOCUS_FORWARD);
    assertSame("The clearing focus button is the first focusable.", clearingFocusButton, focusCandidate);
    assertSame("The gaining focus button is the first focusable.", gainingFocusButton, focusCandidate);
    // Focus the clearing focus button.
    clearingFocusButton.requestFocus();
    assertTrue(clearingFocusButton.hasFocus());
    // Register the invocation order checker.
    CombinedListeners mock = mock(CombinedListeners.class);
    clearingFocusButton.setOnFocusChangeListener(mock);
    gainingFocusButton.setOnFocusChangeListener(mock);
    clearingFocusButton.getViewTreeObserver().addOnGlobalFocusChangeListener(mock);
    // Try to clear focus.
    clearingFocusButton.clearFocus();
    // Check that no callback was invoked since focus did not move.
    InOrder inOrder = inOrder(mock);
    inOrder.verify(mock).onFocusChange(clearingFocusButton, false);
    inOrder.verify(mock).onGlobalFocusChanged(clearingFocusButton, gainingFocusButton);
    inOrder.verify(mock).onFocusChange(gainingFocusButton, true);
}
Also used : InOrder(com.google.testing.littlemock.LittleMock.InOrder) Button(android.widget.Button) View(android.view.View) UiThreadTest(android.test.UiThreadTest)

Example 8 with InOrder

use of com.google.testing.littlemock.LittleMock.InOrder in project android_frameworks_base by DirtyUnicorns.

the class RequestFocusTest method testOnFocusChangeCallbackOrderWhenClearingFocusOfNotFirstFocusable.

/**
     * This tests check whether the on focus change callbacks are invoked in
     * the proper order when a View loses focus and the framework gives it to
     * the fist focusable one.
     *
     * @throws Exception
     */
@UiThreadTest
public void testOnFocusChangeCallbackOrderWhenClearingFocusOfNotFirstFocusable() throws Exception {
    Button clearingFocusButton = mTopRightButton;
    Button gainingFocusButton = mTopLeftButton;
    // Make sure that the clearing focus View is not the first focusable.
    View focusCandidate = clearingFocusButton.getRootView().getParent().focusSearch(null, View.FOCUS_FORWARD);
    assertNotSame("The clearing focus button is not the first focusable.", clearingFocusButton, focusCandidate);
    assertSame("The gaining focus button is the first focusable.", gainingFocusButton, focusCandidate);
    // Focus the clearing focus button.
    clearingFocusButton.requestFocus();
    assertTrue(clearingFocusButton.hasFocus());
    // Register the invocation order checker.
    CombinedListeners mock = mock(CombinedListeners.class);
    clearingFocusButton.setOnFocusChangeListener(mock);
    gainingFocusButton.setOnFocusChangeListener(mock);
    clearingFocusButton.getViewTreeObserver().addOnGlobalFocusChangeListener(mock);
    // Try to clear focus.
    clearingFocusButton.clearFocus();
    // Check that no callback was invoked since focus did not move.
    InOrder inOrder = inOrder(mock);
    inOrder.verify(mock).onFocusChange(clearingFocusButton, false);
    inOrder.verify(mock).onGlobalFocusChanged(clearingFocusButton, gainingFocusButton);
    inOrder.verify(mock).onFocusChange(gainingFocusButton, true);
}
Also used : InOrder(com.google.testing.littlemock.LittleMock.InOrder) Button(android.widget.Button) View(android.view.View) UiThreadTest(android.test.UiThreadTest)

Example 9 with InOrder

use of com.google.testing.littlemock.LittleMock.InOrder in project android_frameworks_base by ResurrectionRemix.

the class RequestFocusTest method testOnFocusChangeCallbackOrderWhenClearingFocusOfFirstFocusable.

/**
     * This tests checks the case in which the first focusable View clears focus.
     * In such a case the framework tries to give the focus to another View starting
     * from the top. Hence, the framework will try to give focus to the view that
     * wants to clear its focus.
     *
     * @throws Exception If an error occurs.
     */
@UiThreadTest
public void testOnFocusChangeCallbackOrderWhenClearingFocusOfFirstFocusable() throws Exception {
    // Get the first focusable.
    Button clearingFocusButton = mTopLeftButton;
    Button gainingFocusButton = mTopLeftButton;
    // Make sure that the clearing focus View is the first focusable.
    View focusCandidate = clearingFocusButton.getRootView().getParent().focusSearch(null, View.FOCUS_FORWARD);
    assertSame("The clearing focus button is the first focusable.", clearingFocusButton, focusCandidate);
    assertSame("The gaining focus button is the first focusable.", gainingFocusButton, focusCandidate);
    // Focus the clearing focus button.
    clearingFocusButton.requestFocus();
    assertTrue(clearingFocusButton.hasFocus());
    // Register the invocation order checker.
    CombinedListeners mock = mock(CombinedListeners.class);
    clearingFocusButton.setOnFocusChangeListener(mock);
    gainingFocusButton.setOnFocusChangeListener(mock);
    clearingFocusButton.getViewTreeObserver().addOnGlobalFocusChangeListener(mock);
    // Try to clear focus.
    clearingFocusButton.clearFocus();
    // Check that no callback was invoked since focus did not move.
    InOrder inOrder = inOrder(mock);
    inOrder.verify(mock).onFocusChange(clearingFocusButton, false);
    inOrder.verify(mock).onGlobalFocusChanged(clearingFocusButton, gainingFocusButton);
    inOrder.verify(mock).onFocusChange(gainingFocusButton, true);
}
Also used : InOrder(com.google.testing.littlemock.LittleMock.InOrder) Button(android.widget.Button) View(android.view.View) UiThreadTest(android.test.UiThreadTest)

Example 10 with InOrder

use of com.google.testing.littlemock.LittleMock.InOrder in project android_frameworks_base by crdroidandroid.

the class RequestFocusTest method testOnFocusChangeCallbackOrderWhenClearingFocusOfFirstFocusable.

/**
     * This tests checks the case in which the first focusable View clears focus.
     * In such a case the framework tries to give the focus to another View starting
     * from the top. Hence, the framework will try to give focus to the view that
     * wants to clear its focus.
     *
     * @throws Exception If an error occurs.
     */
@UiThreadTest
public void testOnFocusChangeCallbackOrderWhenClearingFocusOfFirstFocusable() throws Exception {
    // Get the first focusable.
    Button clearingFocusButton = mTopLeftButton;
    Button gainingFocusButton = mTopLeftButton;
    // Make sure that the clearing focus View is the first focusable.
    View focusCandidate = clearingFocusButton.getRootView().getParent().focusSearch(null, View.FOCUS_FORWARD);
    assertSame("The clearing focus button is the first focusable.", clearingFocusButton, focusCandidate);
    assertSame("The gaining focus button is the first focusable.", gainingFocusButton, focusCandidate);
    // Focus the clearing focus button.
    clearingFocusButton.requestFocus();
    assertTrue(clearingFocusButton.hasFocus());
    // Register the invocation order checker.
    CombinedListeners mock = mock(CombinedListeners.class);
    clearingFocusButton.setOnFocusChangeListener(mock);
    gainingFocusButton.setOnFocusChangeListener(mock);
    clearingFocusButton.getViewTreeObserver().addOnGlobalFocusChangeListener(mock);
    // Try to clear focus.
    clearingFocusButton.clearFocus();
    // Check that no callback was invoked since focus did not move.
    InOrder inOrder = inOrder(mock);
    inOrder.verify(mock).onFocusChange(clearingFocusButton, false);
    inOrder.verify(mock).onGlobalFocusChanged(clearingFocusButton, gainingFocusButton);
    inOrder.verify(mock).onFocusChange(gainingFocusButton, true);
}
Also used : InOrder(com.google.testing.littlemock.LittleMock.InOrder) Button(android.widget.Button) View(android.view.View) UiThreadTest(android.test.UiThreadTest)

Aggregations

UiThreadTest (android.test.UiThreadTest)10 View (android.view.View)10 Button (android.widget.Button)10 InOrder (com.google.testing.littlemock.LittleMock.InOrder)10