mirror of
https://github.com/egulias/EmailValidator.git
synced 2026-09-02 21:48:25 +00:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c4b8d12921 | |||
| 3d09cd0b58 | |||
| 3e3b1e562b | |||
| ed32faa118 | |||
| 834593d590 | |||
| a6255605af | |||
| 950d0663dc | |||
| 92dd169c32 | |||
| a6c8d7101b | |||
| 128cc721d7 |
+2
-1
@@ -1,3 +1,4 @@
|
|||||||
|
.idea
|
||||||
|
composer.lock
|
||||||
report/
|
report/
|
||||||
vendor/
|
vendor/
|
||||||
.idea
|
|
||||||
|
|||||||
+19
-21
@@ -1,34 +1,32 @@
|
|||||||
sudo: false
|
|
||||||
|
|
||||||
language: php
|
language: php
|
||||||
|
|
||||||
php:
|
|
||||||
- 5.5
|
|
||||||
- 5.6
|
|
||||||
- 7.0
|
|
||||||
- 7.1
|
|
||||||
- 7.2
|
|
||||||
- 7.3
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- deps=no
|
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
|
||||||
include:
|
include:
|
||||||
- php: 5.5
|
- php: 5.5.9
|
||||||
|
dist: trusty
|
||||||
env: deps=low
|
env: deps=low
|
||||||
|
- php: 5.5
|
||||||
|
dist: trusty
|
||||||
- php: 5.6
|
- php: 5.6
|
||||||
env: deps=high
|
dist: xenial
|
||||||
|
- php: 7.0
|
||||||
|
dist: xenial
|
||||||
|
- php: 7.1
|
||||||
|
dist: bionic
|
||||||
|
- php: 7.2
|
||||||
|
dist: bionic
|
||||||
|
- php: 7.3
|
||||||
|
dist: bionic
|
||||||
|
- php: 7.4
|
||||||
|
dist: bionic
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- if [ "$deps" = "no" ]; then composer install; fi
|
- if [ "$deps" = "low" ]; then composer update --prefer-lowest; else composer install; fi
|
||||||
- if [ "$deps" = "low" ]; then composer update --prefer-lowest; fi
|
|
||||||
- if [ "$deps" = "high" ]; then composer update; fi
|
before_script:
|
||||||
|
- mkdir -p build/logs
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- mkdir -p build/logs
|
|
||||||
- vendor/bin/phpunit --coverage-clover build/logs/clover.xml
|
- vendor/bin/phpunit --coverage-clover build/logs/clover.xml
|
||||||
|
|
||||||
after_script:
|
after_script:
|
||||||
|
|||||||
@@ -77,10 +77,25 @@ class EmailLexer extends AbstractLexer
|
|||||||
|
|
||||||
protected $previous;
|
protected $previous;
|
||||||
|
|
||||||
|
private static $nullToken = [
|
||||||
|
'value' => '',
|
||||||
|
'type' => null,
|
||||||
|
'position' => 0,
|
||||||
|
];
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->previous = $this->token = self::$nullToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
public function reset()
|
public function reset()
|
||||||
{
|
{
|
||||||
$this->hasInvalidTokens = false;
|
$this->hasInvalidTokens = false;
|
||||||
parent::reset();
|
parent::reset();
|
||||||
|
$this->previous = $this->token = self::$nullToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function hasInvalidTokens()
|
public function hasInvalidTokens()
|
||||||
@@ -122,8 +137,10 @@ class EmailLexer extends AbstractLexer
|
|||||||
public function moveNext()
|
public function moveNext()
|
||||||
{
|
{
|
||||||
$this->previous = $this->token;
|
$this->previous = $this->token;
|
||||||
|
$hasNext = parent::moveNext();
|
||||||
|
$this->token = $this->token ?: self::$nullToken;
|
||||||
|
|
||||||
return parent::moveNext();
|
return $hasNext;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -214,6 +231,9 @@ class EmailLexer extends AbstractLexer
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
protected function getModifiers()
|
protected function getModifiers()
|
||||||
{
|
{
|
||||||
return 'iu';
|
return 'iu';
|
||||||
|
|||||||
@@ -41,21 +41,7 @@ class DomainPart extends Parser
|
|||||||
{
|
{
|
||||||
$this->lexer->moveNext();
|
$this->lexer->moveNext();
|
||||||
|
|
||||||
if ($this->lexer->token['type'] === EmailLexer::S_DOT) {
|
$this->performDomainStartChecks();
|
||||||
throw new DotAtStart();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->lexer->token['type'] === EmailLexer::S_EMPTY) {
|
|
||||||
throw new NoDomainPart();
|
|
||||||
}
|
|
||||||
if ($this->lexer->token['type'] === EmailLexer::S_HYPHEN) {
|
|
||||||
throw new DomainHyphened();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS) {
|
|
||||||
$this->warnings[DeprecatedComment::CODE] = new DeprecatedComment();
|
|
||||||
$this->parseDomainComments();
|
|
||||||
}
|
|
||||||
|
|
||||||
$domain = $this->doParseDomainPart();
|
$domain = $this->doParseDomainPart();
|
||||||
|
|
||||||
@@ -77,6 +63,38 @@ class DomainPart extends Parser
|
|||||||
$this->domainPart = $domain;
|
$this->domainPart = $domain;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function performDomainStartChecks()
|
||||||
|
{
|
||||||
|
$this->checkInvalidTokensAfterAT();
|
||||||
|
$this->checkEmptyDomain();
|
||||||
|
|
||||||
|
if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS) {
|
||||||
|
$this->warnings[DeprecatedComment::CODE] = new DeprecatedComment();
|
||||||
|
$this->parseDomainComments();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function checkEmptyDomain()
|
||||||
|
{
|
||||||
|
$thereIsNoDomain = $this->lexer->token['type'] === EmailLexer::S_EMPTY ||
|
||||||
|
($this->lexer->token['type'] === EmailLexer::S_SP &&
|
||||||
|
!$this->lexer->isNextToken(EmailLexer::GENERIC));
|
||||||
|
|
||||||
|
if ($thereIsNoDomain) {
|
||||||
|
throw new NoDomainPart();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function checkInvalidTokensAfterAT()
|
||||||
|
{
|
||||||
|
if ($this->lexer->token['type'] === EmailLexer::S_DOT) {
|
||||||
|
throw new DotAtStart();
|
||||||
|
}
|
||||||
|
if ($this->lexer->token['type'] === EmailLexer::S_HYPHEN) {
|
||||||
|
throw new DomainHyphened();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function getDomainPart()
|
public function getDomainPart()
|
||||||
{
|
{
|
||||||
return $this->domainPart;
|
return $this->domainPart;
|
||||||
@@ -166,7 +184,7 @@ class DomainPart extends Parser
|
|||||||
|
|
||||||
$domain .= $this->lexer->token['value'];
|
$domain .= $this->lexer->token['value'];
|
||||||
$this->lexer->moveNext();
|
$this->lexer->moveNext();
|
||||||
} while ($this->lexer->token);
|
} while (null !== $this->lexer->token['type']);
|
||||||
|
|
||||||
return $domain;
|
return $domain;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ class LocalPart extends Parser
|
|||||||
$closingQuote = false;
|
$closingQuote = false;
|
||||||
$openedParenthesis = 0;
|
$openedParenthesis = 0;
|
||||||
|
|
||||||
while ($this->lexer->token['type'] !== EmailLexer::S_AT && $this->lexer->token) {
|
while ($this->lexer->token['type'] !== EmailLexer::S_AT && null !== $this->lexer->token['type']) {
|
||||||
if ($this->lexer->token['type'] === EmailLexer::S_DOT && !$this->lexer->getPrevious()) {
|
if ($this->lexer->token['type'] === EmailLexer::S_DOT && null === $this->lexer->getPrevious()['type']) {
|
||||||
throw new DotAtStart();
|
throw new DotAtStart();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ class LocalPart extends Parser
|
|||||||
|
|
||||||
$this->lexer->moveNext();
|
$this->lexer->moveNext();
|
||||||
|
|
||||||
while ($this->lexer->token['type'] !== EmailLexer::S_DQUOTE && $this->lexer->token) {
|
while ($this->lexer->token['type'] !== EmailLexer::S_DQUOTE && null !== $this->lexer->token['type']) {
|
||||||
$parseAgain = false;
|
$parseAgain = false;
|
||||||
if (isset($special[$this->lexer->token['type']]) && $setSpecialsWarning) {
|
if (isset($special[$this->lexer->token['type']]) && $setSpecialsWarning) {
|
||||||
$this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS();
|
$this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS();
|
||||||
|
|||||||
@@ -94,7 +94,9 @@ class MultipleValidationWithAnd implements EmailValidation
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* Returns the validation errors.
|
||||||
|
*
|
||||||
|
* @return MultipleErrors|null
|
||||||
*/
|
*/
|
||||||
public function getError()
|
public function getError()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
namespace Egulias\Tests\EmailValidator;
|
namespace Egulias\Tests\EmailValidator;
|
||||||
|
|
||||||
use Egulias\EmailValidator\EmailValidator;
|
use Egulias\EmailValidator\EmailValidator;
|
||||||
|
use Egulias\EmailValidator\Validation\EmailValidation;
|
||||||
use Egulias\EmailValidator\Validation\MultipleValidationWithAnd;
|
use Egulias\EmailValidator\Validation\MultipleValidationWithAnd;
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
@@ -11,7 +12,7 @@ class EmailValidatorTest extends TestCase
|
|||||||
public function testValidationIsUsed()
|
public function testValidationIsUsed()
|
||||||
{
|
{
|
||||||
$validator = new EmailValidator();
|
$validator = new EmailValidator();
|
||||||
$validation = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validation = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
$validation->expects($this->once())->method("isValid")->willReturn(true);
|
$validation->expects($this->once())->method("isValid")->willReturn(true);
|
||||||
$validation->expects($this->once())->method("getWarnings")->willReturn([]);
|
$validation->expects($this->once())->method("getWarnings")->willReturn([]);
|
||||||
$validation->expects($this->once())->method("getError")->willReturn(null);
|
$validation->expects($this->once())->method("getError")->willReturn(null);
|
||||||
@@ -22,7 +23,7 @@ class EmailValidatorTest extends TestCase
|
|||||||
public function testMultipleValidation()
|
public function testMultipleValidation()
|
||||||
{
|
{
|
||||||
$validator = new EmailValidator();
|
$validator = new EmailValidator();
|
||||||
$validation = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validation = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
$validation->expects($this->once())->method("isValid")->willReturn(true);
|
$validation->expects($this->once())->method("isValid")->willReturn(true);
|
||||||
$validation->expects($this->once())->method("getWarnings")->willReturn([]);
|
$validation->expects($this->once())->method("getWarnings")->willReturn([]);
|
||||||
$validation->expects($this->once())->method("getError")->willReturn(null);
|
$validation->expects($this->once())->method("getError")->willReturn(null);
|
||||||
|
|||||||
@@ -2,9 +2,11 @@
|
|||||||
|
|
||||||
namespace Egulias\Tests\EmailValidator\Validation;
|
namespace Egulias\Tests\EmailValidator\Validation;
|
||||||
|
|
||||||
|
use Egulias\EmailValidator\EmailLexer;
|
||||||
use Egulias\EmailValidator\EmailValidator;
|
use Egulias\EmailValidator\EmailValidator;
|
||||||
use Egulias\EmailValidator\Exception\CommaInDomain;
|
use Egulias\EmailValidator\Exception\CommaInDomain;
|
||||||
use Egulias\EmailValidator\Exception\NoDomainPart;
|
use Egulias\EmailValidator\Exception\NoDomainPart;
|
||||||
|
use Egulias\EmailValidator\Validation\EmailValidation;
|
||||||
use Egulias\EmailValidator\Validation\MultipleErrors;
|
use Egulias\EmailValidator\Validation\MultipleErrors;
|
||||||
use Egulias\EmailValidator\Validation\MultipleValidationWithAnd;
|
use Egulias\EmailValidator\Validation\MultipleValidationWithAnd;
|
||||||
use Egulias\EmailValidator\Validation\NoRFCWarningsValidation;
|
use Egulias\EmailValidator\Validation\NoRFCWarningsValidation;
|
||||||
@@ -17,11 +19,11 @@ class MultipleValidationWithAndTest extends TestCase
|
|||||||
{
|
{
|
||||||
public function testUsesAndLogicalOperation()
|
public function testUsesAndLogicalOperation()
|
||||||
{
|
{
|
||||||
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
|
$lexer = new EmailLexer();
|
||||||
$validationTrue = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validationTrue = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
||||||
$validationTrue->expects($this->any())->method("isValid")->willReturn(true);
|
$validationTrue->expects($this->any())->method("isValid")->willReturn(true);
|
||||||
$validationTrue->expects($this->any())->method("getWarnings")->willReturn([]);
|
$validationTrue->expects($this->any())->method("getWarnings")->willReturn([]);
|
||||||
$validationFalse = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validationFalse = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
$validationFalse->expects($this->any())->method("isValid")->willReturn(false);
|
$validationFalse->expects($this->any())->method("isValid")->willReturn(false);
|
||||||
$validationFalse->expects($this->any())->method("getWarnings")->willReturn([]);
|
$validationFalse->expects($this->any())->method("getWarnings")->willReturn([]);
|
||||||
$multipleValidation = new MultipleValidationWithAnd([$validationTrue, $validationFalse]);
|
$multipleValidation = new MultipleValidationWithAnd([$validationTrue, $validationFalse]);
|
||||||
@@ -38,9 +40,9 @@ class MultipleValidationWithAndTest extends TestCase
|
|||||||
|
|
||||||
public function testValidationIsValid()
|
public function testValidationIsValid()
|
||||||
{
|
{
|
||||||
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
|
$lexer = new EmailLexer();
|
||||||
|
|
||||||
$validation = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validation = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
$validation->expects($this->any())->method("isValid")->willReturn(true);
|
$validation->expects($this->any())->method("isValid")->willReturn(true);
|
||||||
$validation->expects($this->once())->method("getWarnings")->willReturn([]);
|
$validation->expects($this->once())->method("getWarnings")->willReturn([]);
|
||||||
|
|
||||||
@@ -59,12 +61,12 @@ class MultipleValidationWithAndTest extends TestCase
|
|||||||
];
|
];
|
||||||
$expectedResult = array_merge($warnings1, $warnings2);
|
$expectedResult = array_merge($warnings1, $warnings2);
|
||||||
|
|
||||||
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
|
$lexer = new EmailLexer();
|
||||||
$validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
||||||
$validation1->expects($this->any())->method("isValid")->willReturn(true);
|
$validation1->expects($this->any())->method("isValid")->willReturn(true);
|
||||||
$validation1->expects($this->once())->method("getWarnings")->willReturn($warnings1);
|
$validation1->expects($this->once())->method("getWarnings")->willReturn($warnings1);
|
||||||
|
|
||||||
$validation2 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validation2 = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
|
|
||||||
$validation2->expects($this->any())->method("isValid")->willReturn(false);
|
$validation2->expects($this->any())->method("isValid")->willReturn(false);
|
||||||
$validation2->expects($this->once())->method("getWarnings")->willReturn($warnings2);
|
$validation2->expects($this->once())->method("getWarnings")->willReturn($warnings2);
|
||||||
@@ -81,14 +83,14 @@ class MultipleValidationWithAndTest extends TestCase
|
|||||||
|
|
||||||
$expectedResult = new MultipleErrors([$error1, $error2]);
|
$expectedResult = new MultipleErrors([$error1, $error2]);
|
||||||
|
|
||||||
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
|
$lexer = new EmailLexer();
|
||||||
|
|
||||||
$validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validation1 = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
$validation1->expects($this->once())->method("isValid")->willReturn(false);
|
$validation1->expects($this->once())->method("isValid")->willReturn(false);
|
||||||
$validation1->expects($this->once())->method("getWarnings")->willReturn([]);
|
$validation1->expects($this->once())->method("getWarnings")->willReturn([]);
|
||||||
$validation1->expects($this->once())->method("getError")->willReturn($error1);
|
$validation1->expects($this->once())->method("getError")->willReturn($error1);
|
||||||
|
|
||||||
$validation2 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validation2 = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
$validation2->expects($this->once())->method("isValid")->willReturn(false);
|
$validation2->expects($this->once())->method("isValid")->willReturn(false);
|
||||||
$validation2->expects($this->once())->method("getWarnings")->willReturn([]);
|
$validation2->expects($this->once())->method("getWarnings")->willReturn([]);
|
||||||
$validation2->expects($this->once())->method("getError")->willReturn($error2);
|
$validation2->expects($this->once())->method("getError")->willReturn($error2);
|
||||||
@@ -105,14 +107,14 @@ class MultipleValidationWithAndTest extends TestCase
|
|||||||
|
|
||||||
$expectedResult = new MultipleErrors([$error1]);
|
$expectedResult = new MultipleErrors([$error1]);
|
||||||
|
|
||||||
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
|
$lexer = new EmailLexer();
|
||||||
|
|
||||||
$validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validation1 = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
$validation1->expects($this->any())->method("isValid")->willReturn(false);
|
$validation1->expects($this->any())->method("isValid")->willReturn(false);
|
||||||
$validation1->expects($this->once())->method("getWarnings")->willReturn([]);
|
$validation1->expects($this->once())->method("getWarnings")->willReturn([]);
|
||||||
$validation1->expects($this->once())->method("getError")->willReturn($error1);
|
$validation1->expects($this->once())->method("getError")->willReturn($error1);
|
||||||
|
|
||||||
$validation2 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validation2 = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
$validation2->expects($this->any())->method("isValid")->willReturn(false);
|
$validation2->expects($this->any())->method("isValid")->willReturn(false);
|
||||||
$validation2->expects($this->never())->method("getWarnings")->willReturn([]);
|
$validation2->expects($this->never())->method("getWarnings")->willReturn([]);
|
||||||
$validation2->expects($this->never())->method("getError")->willReturn($error2);
|
$validation2->expects($this->never())->method("getError")->willReturn($error2);
|
||||||
@@ -128,14 +130,14 @@ class MultipleValidationWithAndTest extends TestCase
|
|||||||
|
|
||||||
$expectedResult = new MultipleErrors([$error]);
|
$expectedResult = new MultipleErrors([$error]);
|
||||||
|
|
||||||
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
|
$lexer = new EmailLexer();
|
||||||
|
|
||||||
$validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validation1 = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
$validation1->expects($this->any())->method("isValid")->willReturn(false);
|
$validation1->expects($this->any())->method("isValid")->willReturn(false);
|
||||||
$validation1->expects($this->once())->method("getWarnings")->willReturn([]);
|
$validation1->expects($this->once())->method("getWarnings")->willReturn([]);
|
||||||
$validation1->expects($this->once())->method("getError")->willReturn($error);
|
$validation1->expects($this->once())->method("getError")->willReturn($error);
|
||||||
|
|
||||||
$validation2 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validation2 = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
$validation2->expects($this->never())->method("isValid");
|
$validation2->expects($this->never())->method("isValid");
|
||||||
$validation2->expects($this->never())->method("getWarnings");
|
$validation2->expects($this->never())->method("getWarnings");
|
||||||
$validation2->expects($this->never())->method("getError");
|
$validation2->expects($this->never())->method("getError");
|
||||||
@@ -147,9 +149,9 @@ class MultipleValidationWithAndTest extends TestCase
|
|||||||
|
|
||||||
public function testBreakoutOnInvalidEmail()
|
public function testBreakoutOnInvalidEmail()
|
||||||
{
|
{
|
||||||
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
|
$lexer = new EmailLexer();
|
||||||
|
|
||||||
$validationNotCalled = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
|
$validationNotCalled = $this->getMockBuilder(EmailValidation::class)->getMock();
|
||||||
$validationNotCalled->expects($this->never())->method("isValid");
|
$validationNotCalled->expects($this->never())->method("isValid");
|
||||||
$validationNotCalled->expects($this->never())->method("getWarnings");
|
$validationNotCalled->expects($this->never())->method("getWarnings");
|
||||||
$validationNotCalled->expects($this->never())->method("getError");
|
$validationNotCalled->expects($this->never())->method("getError");
|
||||||
|
|||||||
@@ -166,6 +166,7 @@ class RFCValidationTest extends TestCase
|
|||||||
['test@email>'],
|
['test@email>'],
|
||||||
['test@email<'],
|
['test@email<'],
|
||||||
['test@email{'],
|
['test@email{'],
|
||||||
|
['test@ '],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
-14
@@ -2,7 +2,6 @@
|
|||||||
"name": "egulias/email-validator",
|
"name": "egulias/email-validator",
|
||||||
"description": "A library for validating emails against several RFCs",
|
"description": "A library for validating emails against several RFCs",
|
||||||
"homepage": "https://github.com/egulias/EmailValidator",
|
"homepage": "https://github.com/egulias/EmailValidator",
|
||||||
"type": "Library",
|
|
||||||
"keywords": ["email", "validation", "validator", "emailvalidation", "emailvalidator"],
|
"keywords": ["email", "validation", "validator", "emailvalidation", "emailvalidator"],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"authors": [
|
"authors": [
|
||||||
@@ -10,23 +9,17 @@
|
|||||||
],
|
],
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "2.0.x-dev"
|
"dev-master": "2.1.x-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"repositories": [
|
"require": {
|
||||||
{
|
"php": ">=5.5",
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/dominicsayers/isemail"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"require": {
|
|
||||||
"php": ">= 5.5",
|
|
||||||
"doctrine/lexer": "^1.0.1"
|
"doctrine/lexer": "^1.0.1"
|
||||||
},
|
},
|
||||||
"require-dev" : {
|
"require-dev": {
|
||||||
"satooshi/php-coveralls": "^1.0.1",
|
"satooshi/php-coveralls": "^1.0.1",
|
||||||
"phpunit/phpunit": "^4.8.35||^5.7||^6.0",
|
"phpunit/phpunit": "^4.8.36|^7.5.15",
|
||||||
"dominicsayers/isemail": "dev-master"
|
"dominicsayers/isemail": "^3.0.7"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
|
"ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
|
||||||
@@ -38,7 +31,7 @@
|
|||||||
},
|
},
|
||||||
"autoload-dev": {
|
"autoload-dev": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Egulias\\Tests\\": "test"
|
"Egulias\\Tests\\": "Tests"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-4
@@ -8,7 +8,6 @@
|
|||||||
convertWarningsToExceptions="true"
|
convertWarningsToExceptions="true"
|
||||||
processIsolation="false"
|
processIsolation="false"
|
||||||
stopOnFailure="false"
|
stopOnFailure="false"
|
||||||
syntaxCheck="false"
|
|
||||||
bootstrap="vendor/autoload.php"
|
bootstrap="vendor/autoload.php"
|
||||||
>
|
>
|
||||||
<testsuites>
|
<testsuites>
|
||||||
@@ -19,8 +18,8 @@
|
|||||||
</testsuites>
|
</testsuites>
|
||||||
|
|
||||||
<filter>
|
<filter>
|
||||||
<blacklist>
|
<whitelist>
|
||||||
<directory>./vendor</directory>
|
<directory>./EmailValidator/</directory>
|
||||||
</blacklist>
|
</whitelist>
|
||||||
</filter>
|
</filter>
|
||||||
</phpunit>
|
</phpunit>
|
||||||
|
|||||||
Reference in New Issue
Block a user