Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 148 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Egulias\EmailValidator\Parser\CommentStrategy;
4
 
5
use Egulias\EmailValidator\EmailLexer;
6
use Egulias\EmailValidator\Result\Result;
7
use Egulias\EmailValidator\Result\ValidEmail;
8
use Egulias\EmailValidator\Warning\CFWSNearAt;
9
use Egulias\EmailValidator\Result\InvalidEmail;
10
use Egulias\EmailValidator\Result\Reason\ExpectingATEXT;
11
 
12
class LocalComment implements CommentStrategy
13
{
14
    /**
15
     * @var array
16
     */
17
    private $warnings = [];
18
 
150 lars 19
    public function exitCondition(EmailLexer $lexer, int $openedParenthesis): bool
148 lars 20
    {
21
        return !$lexer->isNextToken(EmailLexer::S_AT);
22
    }
23
 
150 lars 24
    public function endOfLoopValidations(EmailLexer $lexer): Result
148 lars 25
    {
26
        if (!$lexer->isNextToken(EmailLexer::S_AT)) {
150 lars 27
            return new InvalidEmail(new ExpectingATEXT('ATEX is not expected after closing comments'), $lexer->current->value);
148 lars 28
        }
29
        $this->warnings[CFWSNearAt::CODE] = new CFWSNearAt();
30
        return new ValidEmail();
31
    }
32
 
33
    public function getWarnings(): array
34
    {
35
        return $this->warnings;
36
    }
37
}