From 8471c02f4b662acac235d0917a869ca13fbcc63e Mon Sep 17 00:00:00 2001 From: Philip Durbin Date: Fri, 4 Mar 2016 08:49:09 -0500 Subject: [PATCH] add tests for non-ASCII email validation #2998 --- .../iq/dataverse/EMailValidatorTest.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/test/java/edu/harvard/iq/dataverse/EMailValidatorTest.java b/src/test/java/edu/harvard/iq/dataverse/EMailValidatorTest.java index ab92ffeabfd..95d367982e6 100644 --- a/src/test/java/edu/harvard/iq/dataverse/EMailValidatorTest.java +++ b/src/test/java/edu/harvard/iq/dataverse/EMailValidatorTest.java @@ -9,6 +9,28 @@ public class EMailValidatorTest { public void testIsEmailValid() { assertEquals(true, EMailValidator.isEmailValid("pete@mailinator.com", null)); assertEquals(false, EMailValidator.isEmailValid("pete1@mailinator.com;pete2@mailinator.com", null)); + boolean issue2998resolved = false; + /** + * @todo Evaluate if we should upgrade to commons-validator 1.5 or + * newer, which seems to allow these non-ASCII email addresses to pass + * validation. + * + * "In addition to the above ASCII characters, international characters + * above U+007F, encoded as UTF-8, are permitted by RFC 6531, though + * mail systems may restrict which characters to use when assigning + * local parts." https://en.wikipedia.org/wiki/Email_address + * + * These examples are all from https://randomuser.me and seem to be + * valid according to + * http://sphinx.mythic-beasts.com/~pdw/cgi-bin/emailvalidate (except + * رونیکا.محمدخان@example.com). + * + * See https://github.com/IQSS/dataverse/issues/2998 + */ + assertEquals(issue2998resolved, EMailValidator.isEmailValid("michélle.pereboom@example.com", null)); + assertEquals(issue2998resolved, EMailValidator.isEmailValid("begüm.vriezen@example.com", null)); + assertEquals(issue2998resolved, EMailValidator.isEmailValid("lótus.gonçalves@example.com", null)); + assertEquals(issue2998resolved, EMailValidator.isEmailValid("رونیکا.محمدخان@example.com", null)); assertEquals(false, EMailValidator.isEmailValid("", null)); /** * @todo How can null as an email address be valid?!?