@@ 77-99 (lines=23) @@ | ||
74 | $this->assertEquals($expectedResult, $multipleValidation->getWarnings()); |
|
75 | } |
|
76 | ||
77 | public function testGathersAllTheErrors() |
|
78 | { |
|
79 | $error1 = new CommaInDomain(); |
|
80 | $error2 = new NoDomainPart(); |
|
81 | ||
82 | $expectedResult = new MultipleErrors([$error1, $error2]); |
|
83 | ||
84 | $lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock(); |
|
85 | ||
86 | $validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock(); |
|
87 | $validation1->expects($this->once())->method("isValid")->willReturn(false); |
|
88 | $validation1->expects($this->once())->method("getWarnings")->willReturn([]); |
|
89 | $validation1->expects($this->once())->method("getError")->willReturn($error1); |
|
90 | ||
91 | $validation2 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock(); |
|
92 | $validation2->expects($this->once())->method("isValid")->willReturn(false); |
|
93 | $validation2->expects($this->once())->method("getWarnings")->willReturn([]); |
|
94 | $validation2->expects($this->once())->method("getError")->willReturn($error2); |
|
95 | ||
96 | $multipleValidation = new MultipleValidationWithAnd([$validation1, $validation2]); |
|
97 | $multipleValidation->isValid("[email protected]", $lexer); |
|
98 | $this->assertEquals($expectedResult, $multipleValidation->getError()); |
|
99 | } |
|
100 | ||
101 | public function testStopsAfterFirstError() |
|
102 | { |
|
@@ 101-123 (lines=23) @@ | ||
98 | $this->assertEquals($expectedResult, $multipleValidation->getError()); |
|
99 | } |
|
100 | ||
101 | public function testStopsAfterFirstError() |
|
102 | { |
|
103 | $error1 = new CommaInDomain(); |
|
104 | $error2 = new NoDomainPart(); |
|
105 | ||
106 | $expectedResult = new MultipleErrors([$error1]); |
|
107 | ||
108 | $lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock(); |
|
109 | ||
110 | $validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock(); |
|
111 | $validation1->expects($this->any())->method("isValid")->willReturn(false); |
|
112 | $validation1->expects($this->once())->method("getWarnings")->willReturn([]); |
|
113 | $validation1->expects($this->once())->method("getError")->willReturn($error1); |
|
114 | ||
115 | $validation2 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock(); |
|
116 | $validation2->expects($this->any())->method("isValid")->willReturn(false); |
|
117 | $validation2->expects($this->never())->method("getWarnings")->willReturn([]); |
|
118 | $validation2->expects($this->never())->method("getError")->willReturn($error2); |
|
119 | ||
120 | $multipleValidation = new MultipleValidationWithAnd([$validation1, $validation2], MultipleValidationWithAnd::STOP_ON_ERROR); |
|
121 | $multipleValidation->isValid("[email protected]", $lexer); |
|
122 | $this->assertEquals($expectedResult, $multipleValidation->getError()); |
|
123 | } |
|
124 | ||
125 | public function testBreakOutOfLoopWhenError() |
|
126 | { |