mirror of
https://github.com/egulias/EmailValidator.git
synced 2026-08-27 18:48:40 +00:00
Test for hypen
This commit is contained in:
@@ -17,6 +17,7 @@ use Egulias\EmailValidator\Exception\ExpectingDTEXT;
|
||||
use Egulias\EmailValidator\Exception\NoDomainPart;
|
||||
use Egulias\EmailValidator\Exception\UnopenedComment;
|
||||
use Egulias\EmailValidator\Result\InvalidEmail;
|
||||
use Egulias\EmailValidator\Result\Reason\DomainHyphened as ReasonDomainHyphened;
|
||||
use Egulias\EmailValidator\Result\Reason\DotAtStart as ReasonDotAtStart;
|
||||
use Egulias\EmailValidator\Result\Result;
|
||||
use Egulias\EmailValidator\Result\ValidEmail;
|
||||
@@ -108,7 +109,7 @@ class DomainPart extends Parser
|
||||
return new InvalidEmail(new ReasonDotAtStart(), $this->lexer->token['value']);
|
||||
}
|
||||
if ($this->lexer->token['type'] === EmailLexer::S_HYPHEN) {
|
||||
throw new DomainHyphened();
|
||||
return new InvalidEmail(new ReasonDomainHyphened('After AT'), $this->lexer->token['value']);
|
||||
}
|
||||
return new ValidEmail();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Egulias\EmailValidator\Result\Reason;
|
||||
|
||||
class DomainHyphened extends DetailedReason
|
||||
{
|
||||
public function code() : int
|
||||
{
|
||||
return 144;
|
||||
}
|
||||
|
||||
public function description() : string
|
||||
{
|
||||
return 'S_HYPHEN found in domain';
|
||||
}
|
||||
}
|
||||
@@ -46,6 +46,7 @@ use Egulias\EmailValidator\Result\Reason\ExpectingATEXT as ReasonExpectingATEXT;
|
||||
use Egulias\EmailValidator\Result\Reason\UnclosedComment as ReasonUnclosedComment;
|
||||
use Egulias\EmailValidator\Result\Reason\UnclosedQuotedString;
|
||||
use Egulias\EmailValidator\Result\Reason\CRNoLF as ReasonCRNoLF;
|
||||
use Egulias\EmailValidator\Result\Reason\DomainHyphened as ReasonDomainHyphened;
|
||||
|
||||
class RFCValidationTest extends TestCase
|
||||
{
|
||||
@@ -202,6 +203,7 @@ class RFCValidationTest extends TestCase
|
||||
[new InvalidEmail(new ReasonExpectingATEXT('Invalid token found'), '<'), '<example_example>@example.fr'],
|
||||
[new InvalidEmail(new ReasonDotAtStart(), '.'), '.example@localhost'],
|
||||
[new InvalidEmail(new ReasonDotAtStart(), '.'), 'example@.localhost'],
|
||||
[new InvalidEmail(new ReasonDomainHyphened('After AT'), '-'), 'example@-localhost'],
|
||||
[new DotAtEnd(), 'example@localhost.'],
|
||||
[new InvalidEmail(new ReasonDotAtEnd(), '.'), 'example.@example.co.uk'],
|
||||
[new InvalidEmail(new ReasonUnclosedComment(), '('), '(example@localhost'],
|
||||
|
||||
Reference in New Issue
Block a user