/** * Set the card number. Method does not change text field focus. * * @param cardNumber card number to be set */ public void setCardNumber(String cardNumber) { mCardNumberEditText.setText(cardNumber); setCardNumberIsViewed(!mCardNumberEditText.isCardNumberValid()); }
@Test public void getFocusRequestOnTouch_whenInCvcAfterShift_returnsNull() { // |img==60||---total == 500--------| // |(peek==40)--(space==185)--(date==50)--(space==195)--(cvc==30)| // |img=60|cardTouchLimit==192|dateStart==285|dateTouchLim==432|cvcStart==530| // So any touch over 530 does nothing mCardInputWidget.setCardNumberIsViewed(false); mCardInputWidget.updateSpaceSizes(false); assertNull(mCardInputWidget.getFocusRequestOnTouch(545)); }
@Test public void getFocusRequestOnTouch_whenInPeekAfterShift_returnsNull() { // |img==60||---total == 500--------| // |(peek==40)--(space==185)--(date==50)--(space==195)--(cvc==30)| // |img=60|cardTouchLimit==192|dateStart==285|dateTouchLim==432|cvcStart==530| // So any touch between 60 and 100 does nothing mCardInputWidget.setCardNumberIsViewed(false); mCardInputWidget.updateSpaceSizes(false); assertNull(mCardInputWidget.getFocusRequestOnTouch(75)); }
@Test public void getFocusRequestOnTouch_whenInDateAfterShift_returnsNull() { // |img==60||---total == 500--------| // |(peek==40)--(space==185)--(date==50)--(space==195)--(cvc==30)| // |img=60|cardTouchLimit==192|dateStart==285|dateTouchLim==432|cvcStart==530| // So any touch between 285 and 335 does nothing mCardInputWidget.setCardNumberIsViewed(false); mCardInputWidget.updateSpaceSizes(false); assertNull(mCardInputWidget.getFocusRequestOnTouch(300)); }
@Test public void getFocusRequestOnTouch_whenInCvcSlopAfterShift_returnsCvcEditor() { // |img==60||---total == 500--------| // |(peek==40)--(space==185)--(date==50)--(space==195)--(cvc==30)| // |img=60|cardTouchLimit==192|dateStart==285|dateTouchLim==432|cvcStart==530| // So any touch between 432 and 530 returns the date editor mCardInputWidget.setCardNumberIsViewed(false); mCardInputWidget.updateSpaceSizes(false); StripeEditText focusRequester = mCardInputWidget.getFocusRequestOnTouch(485); assertNotNull(focusRequester); assertEquals(mCvcEditText, focusRequester); }
@Test public void getFocusRequestOnTouch_whenInPeekSlopAfterShift_returnsCardEditor() { // |img==60||---total == 500--------| // |(peek==40)--(space==185)--(date==50)--(space==195)--(cvc==30)| // |img=60|cardTouchLimit==192|dateStart==285|dateTouchLim==432|cvcStart==530| // So any touch between 100 and 192 returns the card editor mCardInputWidget.setCardNumberIsViewed(false); mCardInputWidget.updateSpaceSizes(false); StripeEditText focusRequester = mCardInputWidget.getFocusRequestOnTouch(150); assertNotNull(focusRequester); assertEquals(mCardNumberEditText, focusRequester); }
@Test public void getFocusRequestOnTouch_whenInDateLeftSlopAfterShift_returnsDateEditor() { // |img==60||---total == 500--------| // |(peek==40)--(space==185)--(date==50)--(space==195)--(cvc==30)| // |img=60|cardTouchLimit==192|dateStart==285|dateTouchLim==432|cvcStart==530| // So any touch between 192 and 285 returns the date editor mCardInputWidget.setCardNumberIsViewed(false); mCardInputWidget.updateSpaceSizes(false); StripeEditText focusRequester = mCardInputWidget.getFocusRequestOnTouch(200); assertNotNull(focusRequester); assertEquals(mExpiryEditText, focusRequester); }
@Test public void getFocusRequestOnTouch_whenInDateRightSlopAfterShift_returnsDateEditor() { // |img==60||---total == 500--------| // |(peek==40)--(space==185)--(date==50)--(space==195)--(cvc==30)| // |img=60|cardTouchLimit==192|dateStart==285|dateTouchLim==432|cvcStart==530| // So any touch between 335 and 432 returns the date editor mCardInputWidget.setCardNumberIsViewed(false); mCardInputWidget.updateSpaceSizes(false); StripeEditText focusRequester = mCardInputWidget.getFocusRequestOnTouch(400); assertNotNull(focusRequester); assertEquals(mExpiryEditText, focusRequester); }