Removed all warnings

This commit is contained in:
Eduardo Gulias Davis
2020-08-15 15:12:08 +02:00
parent d54bcf3f0a
commit 97f1d27a29
10 changed files with 45 additions and 49 deletions
+2 -12
View File
@@ -5,9 +5,7 @@ namespace Egulias\EmailValidator\Parser;
use Egulias\EmailValidator\EmailLexer;
use Egulias\EmailValidator\Exception\CommaInDomain;
use Egulias\EmailValidator\Exception\ConsecutiveAt;
use Egulias\EmailValidator\Exception\CRNoLF;
use Egulias\EmailValidator\Exception\ExpectingATEXT;
use Egulias\EmailValidator\Exception\ExpectingDTEXT;
use Egulias\EmailValidator\Result\InvalidEmail;
use Egulias\EmailValidator\Result\Reason\CharNotAllowed as ReasonCharNotAllowed;
use Egulias\EmailValidator\Result\Reason\DomainHyphened as ReasonDomainHyphened;
@@ -16,21 +14,13 @@ use Egulias\EmailValidator\Result\Reason\DotAtStart;
use Egulias\EmailValidator\Result\Reason\NoDomainPart as ReasonNoDomainPart;
use Egulias\EmailValidator\Result\Result;
use Egulias\EmailValidator\Result\ValidEmail;
use Egulias\EmailValidator\Warning\AddressLiteral;
use Egulias\EmailValidator\Warning\CFWSWithFWS;
use Egulias\EmailValidator\Warning\DeprecatedComment;
use Egulias\EmailValidator\Warning\DomainLiteral;
use Egulias\EmailValidator\Warning\DomainTooLong;
use Egulias\EmailValidator\Warning\IPV6BadChar;
use Egulias\EmailValidator\Warning\IPV6ColonEnd;
use Egulias\EmailValidator\Warning\IPV6Deprecated;
use Egulias\EmailValidator\Warning\IPV6DoubleColon;
use Egulias\EmailValidator\Warning\IPV6GroupCount;
use Egulias\EmailValidator\Warning\IPV6MaxGroups;
use Egulias\EmailValidator\Warning\LabelTooLong;
use Egulias\EmailValidator\Warning\ObsoleteDTEXT;
use Egulias\EmailValidator\Warning\TLD;
use Egulias\EmailValidator\Parser\DomainLiteral as DomainLiteralParser;
use Egulias\EmailValidator\Result\Reason\ConsecutiveAt as ReasonConsecutiveAt;
use Egulias\EmailValidator\Result\Reason\ExpectingDomainLiteralClose;
class DomainPart extends Parser
@@ -230,7 +220,7 @@ class DomainPart extends Parser
}
if ($this->lexer->token['type'] === EmailLexer::S_AT) {
throw new ConsecutiveAt();
return new InvalidEmail(new ReasonConsecutiveAt(), $this->lexer->token['value']);
}
if ($this->lexer->token['type'] === EmailLexer::S_OPENQBRACKET && $prev['type'] !== EmailLexer::S_AT) {
+1 -1
View File
@@ -93,7 +93,7 @@ class LocalPart extends Parser
protected function parseLocalFWS() : Result
{
//use $this->parseFWS()
$foldingWS = new FoldingWhiteSpace($this->lexer);
$resultFWS = $foldingWS->parse('remove');
if ($resultFWS->isValid()) {
-21
View File
@@ -116,27 +116,6 @@ abstract class Parser
$this->warnings = array_merge($this->warnings, $foldingWS->getWarnings());
}
return $resultFWS;
//$previous = $this->lexer->getPrevious();
//$this->checkCRLFInFWS();
//if ($this->lexer->token['type'] === EmailLexer::S_CR) {
// throw new CRNoLF();
//}
//if ($this->lexer->isNextToken(EmailLexer::GENERIC) && $previous['type'] !== EmailLexer::S_AT) {
// throw new AtextAfterCFWS();
//}
//if ($this->lexer->token['type'] === EmailLexer::S_LF || $this->lexer->token['type'] === EmailLexer::C_NUL) {
// throw new ExpectingCTEXT();
//}
//if ($this->lexer->isNextToken(EmailLexer::S_AT) || $previous['type'] === EmailLexer::S_AT) {
// $this->warnings[CFWSNearAt::CODE] = new CFWSNearAt();
//} else {
// $this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS();
//}
}
protected function checkConsecutiveDots()
@@ -4,9 +4,6 @@ namespace Egulias\EmailValidator\Result\Reason;
class CommaInDomain implements Reason
{
const CODE = 200;
const REASON = "Comma ',' is not allowed in domain part";
public function code() : int
{
return 200;
@@ -0,0 +1,17 @@
<?php
namespace Egulias\EmailValidator\Result\Reason;
class ConsecutiveAt implements Reason
{
public function code() : int
{
return 128;
}
public function description() : string
{
return '@ found after another @';
}
}
@@ -0,0 +1,17 @@
<?php
namespace Egulias\EmailValidator\Result\Reason;
class SpoofEmail implements Reason
{
public function code() : int
{
return 298;
}
public function description() : string
{
return 'The email contains mixed UTF8 chars that makes it suspicious';
}
}
+4 -6
View File
@@ -1,16 +1,14 @@
<?php
namespace Egulias\EmailValidator\Validation\Result;
namespace Egulias\EmailValidator\Result;
use Egulias\EmailValidator\Result\InvalidEmail;
use Egulias\EmailValidator\Result\Reason\SpoofEmail as ReasonSpoofEmail;
class SpoofEmail extends InvalidEmail
{
const CODE = 998;
private $reason = "The email contains mixed UTF8 chars that makes it suspicious";
public function __construct()
{
$this->reason = new ReasonSpoofEmail();
parent::__construct($this->reason, '');
}
}
}
@@ -5,7 +5,7 @@ namespace Egulias\EmailValidator\Validation;
use \Spoofchecker;
use Egulias\EmailValidator\EmailLexer;
use Egulias\EmailValidator\Result\InvalidEmail;
use Egulias\EmailValidator\Validation\Result\SpoofEmail;
use Egulias\EmailValidator\Result\SpoofEmail;
class SpoofCheckValidation implements EmailValidation
{
@@ -4,7 +4,7 @@ namespace Egulias\Tests\EmailValidator\Validation;
use Egulias\EmailValidator\EmailLexer;
use Egulias\EmailValidator\Result\Reason\NoDomainPart as ReasonNoDomainPart;
use Egulias\EmailValidator\Validation\Error\RFCWarnings;
use Egulias\EmailValidator\Result\Reason\RFCWarnings;
use Egulias\EmailValidator\Validation\NoRFCWarningsValidation;
use PHPUnit\Framework\TestCase;
@@ -6,7 +6,6 @@ use PHPUnit\Framework\TestCase;
use Egulias\EmailValidator\EmailLexer;
use Egulias\EmailValidator\Warning\Comment;
use Egulias\EmailValidator\Exception\CRNoLF;
use Egulias\EmailValidator\Exception\DotAtEnd;
use Egulias\EmailValidator\Warning\CFWSNearAt;
use Egulias\EmailValidator\Result\InvalidEmail;
use Egulias\EmailValidator\Warning\CFWSWithFWS;
@@ -26,12 +25,11 @@ use Egulias\EmailValidator\Warning\IPV6GroupCount;
use Egulias\EmailValidator\Exception\ConsecutiveAt;
use Egulias\EmailValidator\Warning\IPV6DoubleColon;
use Egulias\EmailValidator\Exception\ConsecutiveDot;
use Egulias\EmailValidator\Exception\DomainHyphened;
use Egulias\EmailValidator\Exception\ExpectingCTEXT;
use Egulias\EmailValidator\Exception\ExpectingDTEXT;
use Egulias\EmailValidator\Validation\RFCValidation;
use Egulias\EmailValidator\Result\Reason\NoLocalPart;
use Egulias\EmailValidator\Result\Reason\AtextAfterCFWS;
use Egulias\EmailValidator\Result\Reason\ConsecutiveAt as ReasonConsecutiveAt;
use Egulias\EmailValidator\Result\Reason\UnOpenedComment;
use Egulias\EmailValidator\Result\Reason\UnclosedQuotedString;
use Egulias\EmailValidator\Result\Reason\CRNoLF as ReasonCRNoLF;
@@ -193,7 +191,7 @@ class RFCValidationTest extends TestCase
[new InvalidEmail(new ReasonDomainHyphened('Hypen found near DOT'), '-'), 'example@example-.co.uk'],
[new CRNoLF(), "example@example\r.com"],
[new InvalidEmail(new ReasonDomainHyphened('Hypen found at the end of the domain'), '-'), 'example@example-'],
[new ConsecutiveAt(), 'example@@example.co.uk'],
[new InvalidEmail(new ReasonConsecutiveAt(), '@'), 'example@@example.co.uk'],
[new InvalidEmail(new ReasonConsecutiveDot(), '.'), 'example..example@example.co.uk'],
[new ConsecutiveDot(), 'example@example..co.uk'],
[new InvalidEmail(new ReasonExpectingATEXT('Invalid token found'), '<'), '<example_example>@example.fr'],