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