Compare commits

..

15 Commits

Author SHA1 Message Date
Eduardo Gulias Davis 01002fa052 update readme with new validator 2021-03-06 19:02:51 +01:00
Eduardo Gulias Davis 8edbe450f1 Merge branch 'message-id-validator' of github.com:egulias/EmailValidator into message-id-validator 2021-03-06 18:15:56 +01:00
Eduardo Gulias Davis c14d12ee17 improve parser from comments 2021-03-06 18:15:18 +01:00
Eduardo Gulias Davis 9320624d03 Merge branch '3.x' of github.com:egulias/EmailValidator into message-id-validator 2021-03-06 18:02:37 +01:00
Eduardo Gulias Davis ab22322b82 Update src/Parser.php
Co-authored-by: Alexander M. Turek <me@derrabus.de>
2021-03-06 17:53:57 +01:00
Eduardo Gulias Davis 44d20e3440 Update src/Parser.php
Co-authored-by: Alexander M. Turek <me@derrabus.de>
2021-03-06 17:53:37 +01:00
Eduardo Gulias Davis c5d6b8c16a Suppress psalm inheritance over tokens and dependencies 2021-02-28 17:52:27 +01:00
Eduardo Gulias Davis b03e9c935f comments are not allowed in IDLeft for message-id 2021-02-28 17:02:00 +01:00
Eduardo Gulias Davis 8fb7a88965 Better naming 2021-02-28 16:28:48 +01:00
Eduardo Gulias Davis 06579b96ca psaml errors 2021-02-28 16:26:08 +01:00
Eduardo Gulias Davis b79cd8f033 change left for right, which is the right one 2021-02-28 16:05:41 +01:00
Eduardo Gulias Davis 07464f87c8 MessageIDParser passing tests. 2021-02-21 22:41:37 +01:00
Eduardo Gulias Davis b80f568f75 Improved EmailParser to remove leaked logic. User of lexer recorder within parsers. 2021-02-21 22:06:38 +01:00
Eduardo Gulias Davis 03a062e9e4 Improve domain valid tokens 2021-02-20 17:46:52 +01:00
Eduardo Gulias Davis 1cb5b2a402 scafolding for MessageID validation 2021-02-07 16:15:32 +01:00
6 changed files with 5 additions and 52 deletions
+1 -1
View File
@@ -280,9 +280,9 @@ class DomainPart extends PartParser
{
if ($this->lexer->token['type'] === EmailLexer::S_DOT || $isEndOfDomain) {
if ($this->isLabelTooLong($this->label)) {
$this->label = '';
return new InvalidEmail(new LabelTooLong(), $this->lexer->token['value']);
}
$this->label = '';
}
$this->label .= $this->lexer->token['value'];
return new ValidEmail();
+2 -4
View File
@@ -2,7 +2,7 @@
namespace Egulias\EmailValidator\Result;
use Egulias\EmailValidator\Result\Reason\EmptyReason;
use Egulias\EmailValidator\Result\InvalidEmail;
use Egulias\EmailValidator\Result\Reason\Reason;
/**
@@ -34,9 +34,7 @@ class MultipleErrors extends InvalidEmail
public function reason() : Reason
{
return 0 !== count($this->reasons)
? current($this->reasons)
: new EmptyReason();
return $this->reasons[0];
}
public function description() : string
-16
View File
@@ -1,16 +0,0 @@
<?php
namespace Egulias\EmailValidator\Result\Reason;
class EmptyReason implements Reason
{
public function code() : int
{
return 0;
}
public function description() : string
{
return 'Empty reason';
}
}
+1 -1
View File
@@ -21,7 +21,7 @@ interface EmailValidation
/**
* Returns the validation error.
*
* @return InvalidEmail|null
* @return InvalidEmail
*/
public function getError() : ?InvalidEmail;
@@ -2,11 +2,10 @@
namespace Egulias\EmailValidator\Tests\EmailValidator\Reason;
use PHPUnit\Framework\TestCase;
use Egulias\EmailValidator\Result\MultipleErrors;
use Egulias\EmailValidator\Result\Reason\EmptyReason;
use Egulias\EmailValidator\Tests\EmailValidator\Dummy\AnotherDummyReason;
use Egulias\EmailValidator\Tests\EmailValidator\Dummy\DummyReason;
use PHPUnit\Framework\TestCase;
class MultipleErrorsTest extends TestCase
{
@@ -36,31 +35,4 @@ class MultipleErrorsTest extends TestCase
$this->assertEquals($expectedReason, $multiError->description());
$this->assertEquals($error1, $multiError->reason());
}
public function testRetrieveFirstReasonWithReasonCodeEqualsZero(): void
{
$error1 = new DummyReason();
$multiError = new MultipleErrors();
$multiError->addReason($error1);
$this->assertEquals($error1, $multiError->reason());
}
public function testRetrieveFirstReasonWithReasonCodeDistinctToZero(): void
{
$error1 = new AnotherDummyReason();
$multiError = new MultipleErrors();
$multiError->addReason($error1);
$this->assertEquals($error1, $multiError->reason());
}
public function testRetrieveFirstReasonWithNoReasonAdded()
{
$emptyReason = new EmptyReason();
$multiError = new MultipleErrors();
$this->assertEquals($emptyReason, $multiError->reason());
}
}
@@ -76,7 +76,6 @@ class RFCValidationDomainPartTest extends TestCase
['validipv4@[127.0.0.0]'],
['validipv4@127.0.0.0'],
['withhyphen@domain-exam.com'],
['valid_long_domain@71846jnrsoj91yfhc18rkbrf90ue3onl8y46js38kae8inz0t1.5a-xdycuau.na49.le.example.com']
);
}