You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2015/04/23 09:27:31 UTC

wicket git commit: WICKET-5891 Parsing of ChinUnionPay credit card should use the first 6 characters

Repository: wicket
Updated Branches:
  refs/heads/master 24e9db6c8 -> 2d9ebf9af


WICKET-5891 Parsing of ChinUnionPay credit card should use the first 6 characters

(cherry picked from commit d02ad24424d72fa944066c2b7e47c86b1d3e6480)


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2d9ebf9a
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2d9ebf9a
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2d9ebf9a

Branch: refs/heads/master
Commit: 2d9ebf9af8f9efb9cc195959b7e925d70a97a533
Parents: 24e9db6
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Apr 23 10:24:41 2015 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Apr 23 10:27:24 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/2d9ebf9a/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 28225c2..eeff47b 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
@@ -322,7 +322,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/2d9ebf9a/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);
+	}
 }