mirror of
https://github.com/egulias/EmailValidator.git
synced 2026-09-04 06:33:45 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 19674b35a0 | |||
| 92fd7ea285 | |||
| 0d6268fde5 | |||
| e7dacfc97f |
@@ -1,2 +1,4 @@
|
|||||||
|
.idea
|
||||||
|
composer.lock
|
||||||
report/
|
report/
|
||||||
vendor/
|
vendor/
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
filter:
|
||||||
|
excluded_paths:
|
||||||
|
- 'documentation/*'
|
||||||
|
- 'tests/*'
|
||||||
|
|
||||||
|
tools:
|
||||||
|
external_code_coverage:
|
||||||
|
runs: 1
|
||||||
+22
-28
@@ -1,43 +1,37 @@
|
|||||||
sudo: false
|
|
||||||
|
|
||||||
language: php
|
language: php
|
||||||
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- $HOME/.composer/cache/files
|
|
||||||
|
|
||||||
php:
|
|
||||||
- 5.4
|
|
||||||
- 5.5
|
|
||||||
- 5.6
|
|
||||||
- 7.0
|
|
||||||
- 7.1
|
|
||||||
- 7.2
|
|
||||||
- hhvm
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- deps=high
|
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
|
||||||
include:
|
include:
|
||||||
- php: 5.3
|
- php: 5.3
|
||||||
dist: precise
|
dist: precise
|
||||||
|
env: deps=low
|
||||||
- php: 5.3
|
- php: 5.3
|
||||||
dist: precise
|
dist: precise
|
||||||
env: deps=low
|
|
||||||
- php: 5.4
|
- php: 5.4
|
||||||
env: deps=no
|
dist: trusty
|
||||||
- php: 5.5
|
- php: 5.5
|
||||||
env: deps=no
|
dist: trusty
|
||||||
|
- php: 5.6
|
||||||
|
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
|
||||||
- composer test -- --coverage-clover build/logs/clover.xml
|
|
||||||
|
|
||||||
|
after_script:
|
||||||
|
- php vendor/bin/coveralls
|
||||||
|
|||||||
+5
-10
@@ -2,23 +2,18 @@
|
|||||||
"name": "egulias/email-validator",
|
"name": "egulias/email-validator",
|
||||||
"description": "A library for validating emails",
|
"description": "A library for validating emails",
|
||||||
"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": [
|
||||||
{"name": "Eduardo Gulias Davis"}
|
{"name": "Eduardo Gulias Davis"}
|
||||||
],
|
],
|
||||||
"extra": {
|
"require": {
|
||||||
"branch-alias": {
|
"php": ">=5.3.3",
|
||||||
"dev-master": "2.0.x-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">= 5.3.3",
|
|
||||||
"doctrine/lexer": "^1.0.1"
|
"doctrine/lexer": "^1.0.1"
|
||||||
},
|
},
|
||||||
"require-dev" : {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^4.8.24"
|
"satooshi/php-coveralls": "^1.0.1",
|
||||||
|
"phpunit/phpunit": "^4.8.36|^7.5.15"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-0": {
|
"psr-0": {
|
||||||
|
|||||||
Generated
-1078
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,6 @@
|
|||||||
convertWarningsToExceptions="true"
|
convertWarningsToExceptions="true"
|
||||||
processIsolation="false"
|
processIsolation="false"
|
||||||
stopOnFailure="false"
|
stopOnFailure="false"
|
||||||
syntaxCheck="false"
|
|
||||||
bootstrap="tests/bootstrap.php"
|
bootstrap="tests/bootstrap.php"
|
||||||
>
|
>
|
||||||
<testsuites>
|
<testsuites>
|
||||||
|
|||||||
@@ -77,10 +77,22 @@ class EmailLexer extends AbstractLexer
|
|||||||
|
|
||||||
protected $previous;
|
protected $previous;
|
||||||
|
|
||||||
|
private static $nullToken = array(
|
||||||
|
'value' => '',
|
||||||
|
'type' => null,
|
||||||
|
'position' => 0,
|
||||||
|
);
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->previous = $this->token = self::$nullToken;
|
||||||
|
}
|
||||||
|
|
||||||
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 +134,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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -141,7 +141,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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,9 +13,12 @@ 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) {
|
||||||
throw new \InvalidArgumentException('ERR_DOT_START');
|
$previous = $this->lexer->getPrevious();
|
||||||
|
if (null === $previous['type']) {
|
||||||
|
throw new \InvalidArgumentException('ERR_DOT_START');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$closingQuote = $this->checkDQUOTE($closingQuote);
|
$closingQuote = $this->checkDQUOTE($closingQuote);
|
||||||
@@ -78,7 +81,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[] = EmailValidator::CFWS_FWS;
|
$this->warnings[] = EmailValidator::CFWS_FWS;
|
||||||
|
|||||||
@@ -3,8 +3,9 @@
|
|||||||
namespace Egulias\EmailValidator\Tests;
|
namespace Egulias\EmailValidator\Tests;
|
||||||
|
|
||||||
use Egulias\EmailValidator\EmailLexer;
|
use Egulias\EmailValidator\EmailLexer;
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
class EmailLexerTests extends \PHPUnit_Framework_TestCase
|
class EmailLexerTests extends TestCase
|
||||||
{
|
{
|
||||||
|
|
||||||
public function testLexerExtendsLib()
|
public function testLexerExtendsLib()
|
||||||
|
|||||||
@@ -3,8 +3,9 @@
|
|||||||
namespace Egulias\Tests\EmailValidator;
|
namespace Egulias\Tests\EmailValidator;
|
||||||
|
|
||||||
use Egulias\EmailValidator\EmailValidator;
|
use Egulias\EmailValidator\EmailValidator;
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
class EmailValidatorTest extends \PHPUnit_Framework_TestCase
|
class EmailValidatorTest extends TestCase
|
||||||
{
|
{
|
||||||
protected $validator;
|
protected $validator;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user