Skip to content

Commit bc31baa

Browse files
authored
Le shadow master (#139)
* Compatibility with RFC 2181 According to RFC2181, every DNS query needs to have a . at the end of the name record you are requesting. This will show that that name record is the root of the domain you are asking In some cases, when the . is missing, the hostname of the server the code is running on will be appended to the name record when checkdnsrr() is being executed and this will in turn return a false positive when there is a wildcard DNS record for the root domain of the hostname of the server. * Test deprecation warnings removed
1 parent c0c888a commit bc31baa

File tree

4 files changed

+20
-16
lines changed

4 files changed

+20
-16
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
report/
22
vendor/
3+
.idea

EmailValidator/Validation/DNSCheckValidation.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ public function getWarnings()
4444

4545
protected function checkDNS($host)
4646
{
47+
$host = rtrim($host, '.') . '.';
48+
4749
$Aresult = true;
4850
$MXresult = checkdnsrr($host, 'MX');
4951

Tests/EmailValidator/EmailValidatorTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class EmailValidatorTest extends \PHPUnit_Framework_TestCase
1010
public function testValidationIsUsed()
1111
{
1212
$validator = new EmailValidator();
13-
$validation = $this->getMock("Egulias\\EmailValidator\\Validation\\EmailValidation");
13+
$validation = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
1414
$validation->expects($this->once())->method("isValid")->willReturn(true);
1515
$validation->expects($this->once())->method("getWarnings")->willReturn([]);
1616
$validation->expects($this->once())->method("getError")->willReturn(null);
@@ -21,7 +21,7 @@ public function testValidationIsUsed()
2121
public function testMultipleValidation()
2222
{
2323
$validator = new EmailValidator();
24-
$validation = $this->getMock("Egulias\\EmailValidator\\Validation\\EmailValidation");
24+
$validation = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
2525
$validation->expects($this->once())->method("isValid")->willReturn(true);
2626
$validation->expects($this->once())->method("getWarnings")->willReturn([]);
2727
$validation->expects($this->once())->method("getError")->willReturn(null);

Tests/EmailValidator/Validation/MultipleValidationWitAndTest.php

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ class MultipleValidationWitAndTest extends \PHPUnit_Framework_TestCase
1313
{
1414
public function testUsesAndLogicalOperation()
1515
{
16-
$lexer = $this->getMock("Egulias\\EmailValidator\\EmailLexer");
17-
$validationTrue = $this->getMock("Egulias\\EmailValidator\\Validation\\EmailValidation");
16+
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
17+
$validationTrue = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
1818
$validationTrue->expects($this->any())->method("isValid")->willReturn(true);
1919
$validationTrue->expects($this->any())->method("getWarnings")->willReturn([]);
20-
$validationFalse = $this->getMock("Egulias\\EmailValidator\\Validation\\EmailValidation");
20+
$validationFalse = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
2121
$validationFalse->expects($this->any())->method("isValid")->willReturn(false);
2222
$validationFalse->expects($this->any())->method("getWarnings")->willReturn([]);
2323
$multipleValidation = new MultipleValidationWithAnd([$validationTrue, $validationFalse]);
@@ -34,9 +34,9 @@ public function testEmptyListIsNotAllowed()
3434

3535
public function testValidationIsValid()
3636
{
37-
$lexer = $this->getMock("Egulias\\EmailValidator\\EmailLexer");
37+
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
3838

39-
$validation = $this->getMock("Egulias\\EmailValidator\\Validation\\EmailValidation");
39+
$validation = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
4040
$validation->expects($this->any())->method("isValid")->willReturn(true);
4141
$validation->expects($this->once())->method("getWarnings")->willReturn([]);
4242

@@ -55,12 +55,13 @@ public function testAccumulatesWarnings()
5555
];
5656
$expectedResult = array_merge($warnings1, $warnings2);
5757

58-
$lexer = $this->getMock("Egulias\\EmailValidator\\EmailLexer");
59-
$validation1 = $this->getMock("Egulias\\EmailValidator\\Validation\\EmailValidation");
58+
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
59+
$validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
6060
$validation1->expects($this->any())->method("isValid")->willReturn(true);
6161
$validation1->expects($this->once())->method("getWarnings")->willReturn($warnings1);
6262

63-
$validation2 = $this->getMock("Egulias\\EmailValidator\\Validation\\EmailValidation");
63+
$validation2 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
64+
6465
$validation2->expects($this->any())->method("isValid")->willReturn(false);
6566
$validation2->expects($this->once())->method("getWarnings")->willReturn($warnings2);
6667

@@ -76,14 +77,14 @@ public function testGathersAllTheErrors()
7677

7778
$expectedResult = new MultipleErrors([$error1, $error2]);
7879

79-
$lexer = $this->getMock("Egulias\\EmailValidator\\EmailLexer");
80+
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
8081

81-
$validation1 = $this->getMock("Egulias\\EmailValidator\\Validation\\EmailValidation");
82+
$validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
8283
$validation1->expects($this->any())->method("isValid")->willReturn(true);
8384
$validation1->expects($this->once())->method("getWarnings")->willReturn([]);
8485
$validation1->expects($this->once())->method("getError")->willReturn($error1);
8586

86-
$validation2 = $this->getMock("Egulias\\EmailValidator\\Validation\\EmailValidation");
87+
$validation2 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
8788
$validation2->expects($this->any())->method("isValid")->willReturn(false);
8889
$validation2->expects($this->once())->method("getWarnings")->willReturn([]);
8990
$validation2->expects($this->once())->method("getError")->willReturn($error2);
@@ -99,14 +100,14 @@ public function testBreakOutOfLoopWhenError()
99100

100101
$expectedResult = new MultipleErrors([$error]);
101102

102-
$lexer = $this->getMock("Egulias\\EmailValidator\\EmailLexer");
103+
$lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
103104

104-
$validation1 = $this->getMock("Egulias\\EmailValidator\\Validation\\EmailValidation");
105+
$validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
105106
$validation1->expects($this->any())->method("isValid")->willReturn(false);
106107
$validation1->expects($this->once())->method("getWarnings")->willReturn([]);
107108
$validation1->expects($this->once())->method("getError")->willReturn($error);
108109

109-
$validation2 = $this->getMock("Egulias\\EmailValidator\\Validation\\EmailValidation");
110+
$validation2 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
110111
$validation2->expects($this->never())->method("isValid");
111112
$validation2->expects($this->never())->method("getWarnings");
112113
$validation2->expects($this->never())->method("getError");

0 commit comments

Comments
 (0)