summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--web-ui/app/js/mail_view/ui/recipients/recipients_input.js4
-rw-r--r--web-ui/test/spec/mail_view/ui/recipients/recipients_input.spec.js18
2 files changed, 18 insertions, 4 deletions
diff --git a/web-ui/app/js/mail_view/ui/recipients/recipients_input.js b/web-ui/app/js/mail_view/ui/recipients/recipients_input.js
index 7cbdad39..db0b10f7 100644
--- a/web-ui/app/js/mail_view/ui/recipients/recipients_input.js
+++ b/web-ui/app/js/mail_view/ui/recipients/recipients_input.js
@@ -41,8 +41,8 @@ define([
},
self;
- var simpleAddressMatch = /[^<\w,;]?([^\s<;,]+@\w+\.[^\s>;,]+)/;
- var canonicalAddressMatch = /([^,;\s][^,;@]+<[^\s;,]+@\w+\.[^\s;,]+>)/;
+ var simpleAddressMatch = /[^<\w,;]?([^\s<;,]+@[\w-]+\.[^\s>;,]+)/;
+ var canonicalAddressMatch = /([^,;\s][^,;@]+<[^\s;,]+@[\w-]+\.[^\s;,]+>)/;
var emailAddressMatch = new RegExp([simpleAddressMatch.source, '|', canonicalAddressMatch.source].join(''), 'g');
var extractContactNames = function (response) {
diff --git a/web-ui/test/spec/mail_view/ui/recipients/recipients_input.spec.js b/web-ui/test/spec/mail_view/ui/recipients/recipients_input.spec.js
index 6fdf9711..829bf890 100644
--- a/web-ui/test/spec/mail_view/ui/recipients/recipients_input.spec.js
+++ b/web-ui/test/spec/mail_view/ui/recipients/recipients_input.spec.js
@@ -144,7 +144,7 @@ describeComponent('mail_view/ui/recipients/recipients_input',function () {
});
});
- describe('when entering an invalid address', function() {
+ describe('validate email format', function() {
var invalidAddressEnteredEvent, addressEnteredEvent, blurEvent;
beforeEach(function () {
@@ -187,6 +187,20 @@ describeComponent('mail_view/ui/recipients/recipients_input',function () {
expect(invalidAddressEnteredEvent.calls[0].data).toEqual({name: 'to', address: 'Invalid <email@example>'});
});
+ it('parses email with dash' , function() {
+ this.$node.val('team@pixelated-project.org');
+ this.$node.trigger(blurEvent);
- });
+ expect(blurEvent.preventDefault).toHaveBeenCalled();
+ expect(addressEnteredEvent.calls[0].data).toEqual({name: 'to', address: 'team@pixelated-project.org'});
+ });
+
+ it('parses cannonical email with dash' , function() {
+ this.$node.val('Pixelated <team@pixelated-project.org>');
+ this.$node.trigger(blurEvent);
+
+ expect(blurEvent.preventDefault).toHaveBeenCalled();
+ expect(addressEnteredEvent.calls[0].data).toEqual({name: 'to', address: 'Pixelated <team@pixelated-project.org>'});
+ });
+ });
});