Skip to content

Commit ceb4e0a

Browse files
author
Eduardo Gulias Davis
committed
Fix(14) - Null exception
1 parent 71e40ee commit ceb4e0a

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ build
33
*.iws
44
*.iml
55
.gradle
6+
out/

src/main/java/emailvalidator4j/parser/Email.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
import emailvalidator4j.parser.exception.InvalidEmail;
88
import emailvalidator4j.parser.exception.NoLocalPart;
99

10+
import javax.swing.text.html.Option;
1011
import java.util.ArrayList;
1112
import java.util.List;
13+
import java.util.Optional;
1214

1315
public class Email {
1416
private final EmailLexer lexer;
@@ -22,7 +24,9 @@ public Email(EmailLexer lexer) {
2224
}
2325

2426
public void parse(String email) throws InvalidEmail {
25-
this.lexer.lex(email);
27+
this.lexer.lex(Optional.ofNullable(email).orElseThrow(() ->
28+
new InvalidEmail("Empty email")
29+
));
2630

2731
if (!this.lexer.find(Tokens.AT)) {
2832
throw new NoLocalPart("No local part found");

src/test/java/emailvalidator4j/EmailValidatorTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,12 @@ public void validEmailHasNoWarnings() {
111111
Assert.assertFalse(validator.hasWarnings());
112112
}
113113

114+
@Test
115+
public void preventNull() {
116+
EmailValidator validator = new EmailValidator();
117+
Assert.assertFalse(validator.isValid(null));
118+
}
119+
114120
@Test
115121
public void validEmailHasWarnings() {
116122
EmailValidator validator = new EmailValidator();

0 commit comments

Comments
 (0)