@Override public void onExpiryDateComplete() { mCvcEditText.requestFocus(); if (mCardInputListener != null) { mCardInputListener.onExpirationComplete(); } } });
@Override public void onExpiryDateComplete() { mCvcNumberEditText.requestFocus(); if (mCardInputListener != null) { mCardInputListener.onExpirationComplete(); } } });
@Test public void onCompleteExpiry_whenValid_shiftsFocusToCvc() { mCardMultilineWidget.setCardInputListener(mFullCardListener); mNoZipCardMultilineWidget.setCardInputListener(mNoZipCardListener); mFullGroup.expiryDateEditText.append("12"); mFullGroup.expiryDateEditText.append("50"); verify(mFullCardListener, times(1)).onExpirationComplete(); verify(mFullCardListener, times(1)).onFocusChange(FOCUS_CVC); assertTrue(mFullGroup.cvcEditText.hasFocus()); mNoZipGroup.expiryDateEditText.append("12"); mNoZipGroup.expiryDateEditText.append("50"); verify(mNoZipCardListener, times(1)).onExpirationComplete(); verify(mNoZipCardListener, times(1)).onFocusChange(FOCUS_CVC); assertTrue(mNoZipGroup.cvcEditText.hasFocus()); }
@Test public void onDeleteFromCvcDate_whenEmpty_shiftsFocusToExpiryAndDeletesDigit() { // This test will be invalid if run between 2080 and 2112. Please update the code. assertTrue(Calendar.getInstance().get(Calendar.YEAR) < 2080); mCardInputWidget.setCardInputListener(mCardInputListener); mCardNumberEditText.setText(VALID_VISA_WITH_SPACES); verify(mCardInputListener).onCardComplete(); verify(mCardInputListener).onFocusChange(FOCUS_EXPIRY); mExpiryEditText.append("12"); mExpiryEditText.append("79"); verify(mCardInputListener).onExpirationComplete(); verify(mCardInputListener).onFocusChange(FOCUS_CVC); assertTrue(mCvcEditText.hasFocus()); // Clearing already-verified data. reset(mCardInputListener); ViewTestUtils.sendDeleteKeyEvent(mCvcEditText); verify(mCardInputListener).onFocusChange(FOCUS_EXPIRY); assertEquals(R.id.et_cvc_number, mOnGlobalFocusChangeListener.getOldFocusId()); assertEquals(R.id.et_expiry_date, mOnGlobalFocusChangeListener.getNewFocusId()); String expectedResult = "12/7"; assertEquals(expectedResult, mExpiryEditText.getText().toString()); assertEquals(expectedResult.length(), mExpiryEditText.getSelectionStart()); }