Evaluate comma ',' in domain part

This commit is contained in:
Eduardo Gulias Davis
2020-09-12 15:53:55 +02:00
parent 87ae1be93a
commit b3a339b998
2 changed files with 5 additions and 2 deletions
+2 -2
View File
@@ -3,7 +3,6 @@
namespace Egulias\EmailValidator\Parser;
use Egulias\EmailValidator\EmailLexer;
use Egulias\EmailValidator\Exception\CommaInDomain;
use Egulias\EmailValidator\Result\InvalidEmail;
use Egulias\EmailValidator\Result\Reason\CharNotAllowed;
use Egulias\EmailValidator\Result\Reason\DomainHyphened;
@@ -21,6 +20,7 @@ use Egulias\EmailValidator\Warning\DomainTooLong;
use Egulias\EmailValidator\Warning\LabelTooLong;
use Egulias\EmailValidator\Warning\TLD;
use Egulias\EmailValidator\Parser\DomainLiteral as DomainLiteralParser;
use Egulias\EmailValidator\Result\Reason\CommaInDomain;
class DomainPart extends Parser
{
@@ -219,7 +219,7 @@ class DomainPart extends Parser
}
if ($this->lexer->token['type'] === EmailLexer::S_COMMA) {
throw new CommaInDomain();
return new InvalidEmail(new CommaInDomain(), $this->lexer->token['value']);
}
if ($this->lexer->token['type'] === EmailLexer::S_AT) {
@@ -25,6 +25,7 @@ use Egulias\EmailValidator\Warning\IPV6DoubleColon;
use Egulias\EmailValidator\Validation\RFCValidation;
use Egulias\EmailValidator\Result\Reason\NoLocalPart;
use Egulias\EmailValidator\Result\Reason\AtextAfterCFWS;
use Egulias\EmailValidator\Result\Reason\CommaInDomain;
use Egulias\EmailValidator\Result\Reason\ConsecutiveAt as ReasonConsecutiveAt;
use Egulias\EmailValidator\Result\Reason\UnOpenedComment;
use Egulias\EmailValidator\Result\Reason\UnclosedQuotedString;
@@ -167,6 +168,7 @@ class RFCValidationTest extends TestCase
['test@email>'],
['test@email<'],
['test@email{'],
['username@examp,le.com'],
['test@ '],
];
}
@@ -218,6 +220,7 @@ class RFCValidationTest extends TestCase
[new InvalidEmail(new ReasonCRNoLF(), "\r"), "example@exa\rmple.co.uk"],
[new InvalidEmail(new ReasonCRNoLF(), "["), "example@[\r]"],
[new InvalidEmail(new ReasonCRNoLF(), "\r"), "exam\rple@example.co.uk"],
[new InvalidEmail(new CommaInDomain(), ','), 'example@exam,ple.com'],
];
}