Compare commits

...

4 Commits

Author SHA1 Message Date
Stefan Grootscholten d42c8731f0 Fix issue that local part parser uses remaining code from lexer (#409)
Without this fix the added test will output

1) Egulias\EmailValidator\Tests\EmailValidator\EmailParserTest::testMultipleEmailAddresses
Failed asserting that two strings are identical.
--- Expected
+++ Actual
@@ @@
-'another-local-part'
+'some-random-but-large-domain-part.example.comanother-local-part'
2025-03-06 23:45:56 +01:00
Eduardo Gulias Davis 515346048d Different strategy 2024-12-31 16:29:41 +01:00
Eduardo Gulias Davis 4fc3f5c419 Different strategy 2024-12-31 16:26:39 +01:00
Eduardo Gulias Davis 7dc3b8de4c Coverage path (#401)
* coverage path

* Use different action
2024-12-31 16:15:01 +01:00
3 changed files with 17 additions and 2 deletions
+2 -2
View File
@@ -18,10 +18,10 @@ jobs:
steps:
- name: Setup logs directory
run: mkdir -p build/coverage
- name: Download clover.xml artifact
uses: actions/download-artifact@v3
uses: dawidd6/action-download-artifact@v7
with:
workflow: tests.yml
name: clover.xml
path: build/coverage
+1
View File
@@ -34,6 +34,7 @@ class LocalPart extends PartParser
public function parse(): Result
{
$this->lexer->clearRecorded();
$this->lexer->startRecording();
while (!$this->lexer->current->isA(EmailLexer::S_AT) && !$this->lexer->current->isA(EmailLexer::S_EMPTY)) {
+14
View File
@@ -28,4 +28,18 @@ class EmailParserTest extends TestCase
$this->assertEquals($local, $parser->getLocalPart());
$this->assertEquals($domain, $parser->getDomainPart());
}
public function testMultipleEmailAddresses()
{
$parser = new EmailParser(new EmailLexer());
$parser->parse('some-local-part@some-random-but-large-domain-part.example.com');
$this->assertSame('some-local-part', $parser->getLocalPart());
$this->assertSame('some-random-but-large-domain-part.example.com', $parser->getDomainPart());
$parser->parse('another-local-part@another.example.com');
$this->assertSame('another-local-part', $parser->getLocalPart());
$this->assertSame('another.example.com', $parser->getDomainPart());
}
}