Repository: wicket Updated Branches: refs/heads/wicket-6.x 96695e18e -> fd33ad02d
WICKET-5891 Parsing of ChinUnionPay credit card should use the first 6 characters Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/fd33ad02 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/fd33ad02 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/fd33ad02 Branch: refs/heads/wicket-6.x Commit: fd33ad02d4d4824c1cabdae0bdce41343926bf7f Parents: 96695e1 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Thu Apr 23 10:24:41 2015 +0300 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Thu Apr 23 10:25:11 2015 +0300 ---------------------------------------------------------------------- .../wicket/validation/validator/CreditCardValidator.java | 2 +- .../validation/validator/CreditCardValidatorTest.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/fd33ad02/wicket-core/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java b/wicket-core/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java index 97e66f2..fac28ad 100644 --- a/wicket-core/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java +++ b/wicket-core/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java @@ -321,7 +321,7 @@ public class CreditCardValidator implements IValidator<String> if ((creditCardNumber.length() >= 16 && creditCardNumber.length() <= 19) && (creditCardNumber.startsWith("622"))) { - int firstDigits = Integer.parseInt(creditCardNumber.substring(0, 5)); + int firstDigits = Integer.parseInt(creditCardNumber.substring(0, 6)); if (firstDigits >= 622126 && firstDigits <= 622925) { return CreditCard.CHINA_UNIONPAY; http://git-wip-us.apache.org/repos/asf/wicket/blob/fd33ad02/wicket-core/src/test/java/org/apache/wicket/validation/validator/CreditCardValidatorTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/validation/validator/CreditCardValidatorTest.java b/wicket-core/src/test/java/org/apache/wicket/validation/validator/CreditCardValidatorTest.java index 04cb6c6..3407e49 100644 --- a/wicket-core/src/test/java/org/apache/wicket/validation/validator/CreditCardValidatorTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/validation/validator/CreditCardValidatorTest.java @@ -156,4 +156,15 @@ public class CreditCardValidatorTest extends Assert CreditCardValidator validator = new CreditCardValidator(); assertEquals(CreditCard.VISA, validator.determineCardId("4111111111111111")); } + + /** + * https://issues.apache.org/jira/browse/WICKET-5891 + */ + @Test + public void isChinaUnionPay() + { + CreditCardValidator validator = new CreditCardValidator(); + CreditCard creditCard = validator.determineCardId("6222601010012578692"); + assertEquals(CreditCard.CHINA_UNIONPAY, creditCard); + } }
