From f69cd9e42f0eaec04eea9b483a65f24da314a9ff Mon Sep 17 00:00:00 2001 From: Eduardo Gulias Davis Date: Thu, 25 Jun 2015 22:00:09 +0200 Subject: [PATCH] Dot at the end --- src/Egulias/EmailValidator/EmailValidator.php | 2 -- src/Egulias/EmailValidator/Exception/DotAtEnd.php | 11 +++++++++++ src/Egulias/EmailValidator/Parser/DomainPart.php | 3 ++- src/Egulias/EmailValidator/Parser/LocalPart.php | 3 ++- .../Tests/EmailValidator/EmailValidatorTest.php | 5 +++-- 5 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 src/Egulias/EmailValidator/Exception/DotAtEnd.php diff --git a/src/Egulias/EmailValidator/EmailValidator.php b/src/Egulias/EmailValidator/EmailValidator.php index f9990fb..cb3e7a0 100644 --- a/src/Egulias/EmailValidator/EmailValidator.php +++ b/src/Egulias/EmailValidator/EmailValidator.php @@ -11,8 +11,6 @@ use Egulias\EmailValidator\InvalidEmail; */ class EmailValidator { - const ERR_BACKSLASHEND = 140; - const ERR_DOT_END = 142; const ERR_DOMAINHYPHENSTART = 143; const ERR_DOMAINHYPHENEND = 144; const ERR_UNCLOSEDQUOTEDSTR = 145; diff --git a/src/Egulias/EmailValidator/Exception/DotAtEnd.php b/src/Egulias/EmailValidator/Exception/DotAtEnd.php new file mode 100644 index 0000000..91f3f0e --- /dev/null +++ b/src/Egulias/EmailValidator/Exception/DotAtEnd.php @@ -0,0 +1,11 @@ +lexer->token['type'] === EmailLexer::S_DOT && $this->lexer->isNextToken(EmailLexer::S_AT) ) { - throw new \InvalidArgumentException('ERR_DOT_END'); + throw new DotAtEnd(); } $this->warnEscaping(); diff --git a/tests/egulias/Tests/EmailValidator/EmailValidatorTest.php b/tests/egulias/Tests/EmailValidator/EmailValidatorTest.php index e7c2341..8ab9bee 100644 --- a/tests/egulias/Tests/EmailValidator/EmailValidatorTest.php +++ b/tests/egulias/Tests/EmailValidator/EmailValidatorTest.php @@ -6,6 +6,7 @@ use Egulias\EmailValidator\EmailValidator; use Egulias\EmailValidator\Exception\AtextAfterCFWS; use Egulias\EmailValidator\Exception\ConsecutiveAt; use Egulias\EmailValidator\Exception\ConsecutiveDot; +use Egulias\EmailValidator\Exception\DotAtEnd; use Egulias\EmailValidator\Exception\DotAtStart; use Egulias\EmailValidator\Exception\ExpectingATEXT; use Egulias\EmailValidator\Exception\ExpectingDTEXT; @@ -157,8 +158,8 @@ class EmailValidatorTest extends \PHPUnit_Framework_TestCase array(ExpectingATEXT::CODE, '@example.fr'), array(DotAtStart::CODE, '.example@localhost'), array(DotAtStart::CODE, 'example@.localhost'), - array(EmailValidator::ERR_DOT_END, 'example@localhost.'), - array(EmailValidator::ERR_DOT_END, 'example.@example.co.uk'), + array(DotAtEnd::CODE, 'example@localhost.'), + array(DotAtEnd::CODE, 'example.@example.co.uk'), array(EmailValidator::ERR_UNCLOSEDCOMMENT, '(example@localhost'), array(EmailValidator::ERR_UNCLOSEDQUOTEDSTR, '"example@localhost'), array(ExpectingATEXT::CODE, 'exa"mple@localhost'),