|
|
@@ -2321,7 +2321,7 @@ describe('ean', function() {
|
|
|
expect(this.bv.isValidField('ean')).toEqual(false);
|
|
|
});
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
describe('emailAddress', function() {
|
|
|
beforeEach(function () {
|
|
|
$([
|
|
|
@@ -2368,16 +2368,28 @@ describe('emailAddress', function() {
|
|
|
'this\ still\"not\\allowed@example.com'
|
|
|
];
|
|
|
|
|
|
- var validMultipleEmailAddresses = [
|
|
|
+ var validMultipleEmailAddressesForDefaultSeparators = [
|
|
|
'niceandsimple@example.com,very.common@example.com',
|
|
|
- 'niceandsimple@example.com;very.common@example.com'
|
|
|
+ 'niceandsimple@example.com;very.common@example.com',
|
|
|
+ 'niceandsimple@example.com;very.common@example.com,a.little.lengthy.but.fine@dept.example.com'
|
|
|
];
|
|
|
|
|
|
- var invalidMultipleEmailAddresses = [
|
|
|
+ var invalidMultipleEmailAddressesForDefaultSeparators = [
|
|
|
'niceandsimple@example.com+very.common@example.com',
|
|
|
'niceandsimple@example.com|very.common@example.com'
|
|
|
];
|
|
|
|
|
|
+ var validMultipleEmailAddressesForCommaOrDollarSignSeparators = [
|
|
|
+ 'niceandsimple@example.com,very.common@example.com',
|
|
|
+ 'niceandsimple@example.com$very.common@example.com',
|
|
|
+ 'niceandsimple@example.com,very.common@example.com$a.little.lengthy.but.fine@dept.example.com'
|
|
|
+ ];
|
|
|
+
|
|
|
+ var invalidMultipleEmailAddressesForCommaOrDollarSignSeparators = [
|
|
|
+ 'niceandsimple@example.com;very.common@example.com',
|
|
|
+ 'niceandsimple@example.com;very.common@example.com,a.little.lengthy.but.fine@dept.example.com'
|
|
|
+ ];
|
|
|
+
|
|
|
it('Valid email addresses (allowMultiple=false)', function() {
|
|
|
var me = this;
|
|
|
$.each(validEmailAddresses, function(index, emailAddress) {
|
|
|
@@ -2390,7 +2402,32 @@ describe('emailAddress', function() {
|
|
|
|
|
|
it('Invalid email addresses (allowMultiple=false)', function() {
|
|
|
var me = this;
|
|
|
- $.each(invalidEmailAddresses.concat(validMultipleEmailAddresses), function(index, emailAddress) {
|
|
|
+
|
|
|
+ var addresses = invalidEmailAddresses
|
|
|
+ .concat(validMultipleEmailAddressesForDefaultSeparators)
|
|
|
+ .concat(invalidMultipleEmailAddressesForDefaultSeparators)
|
|
|
+ .concat(validMultipleEmailAddressesForCommaOrDollarSignSeparators)
|
|
|
+ .concat(invalidMultipleEmailAddressesForCommaOrDollarSignSeparators);
|
|
|
+
|
|
|
+ $.each(addresses, function(index, emailAddress) {
|
|
|
+ me.bv.resetForm();
|
|
|
+ me.$emailAddressOrAddresses.val(emailAddress);
|
|
|
+ me.bv.validate();
|
|
|
+ expect(me.bv.isValid()).toEqual(false);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Invalid email addresses (allowMultiple=false,separatorRegex=/[,\$]/)', function() {
|
|
|
+ var me = this;
|
|
|
+ me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separatorRegex', /[,;]/);
|
|
|
+
|
|
|
+ var addresses = invalidEmailAddresses
|
|
|
+ .concat(validMultipleEmailAddressesForDefaultSeparators)
|
|
|
+ .concat(invalidMultipleEmailAddressesForDefaultSeparators)
|
|
|
+ .concat(validMultipleEmailAddressesForCommaOrDollarSignSeparators)
|
|
|
+ .concat(invalidMultipleEmailAddressesForCommaOrDollarSignSeparators);
|
|
|
+
|
|
|
+ $.each(addresses, function(index, emailAddress) {
|
|
|
me.bv.resetForm();
|
|
|
me.$emailAddressOrAddresses.val(emailAddress);
|
|
|
me.bv.validate();
|
|
|
@@ -2401,7 +2438,11 @@ describe('emailAddress', function() {
|
|
|
it('Valid email addresses (allowMultiple=true)', function() {
|
|
|
var me = this;
|
|
|
me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
|
|
|
- $.each(validEmailAddresses.concat(validMultipleEmailAddresses), function(index, emailAddress) {
|
|
|
+
|
|
|
+ var addresses = validEmailAddresses
|
|
|
+ .concat(validMultipleEmailAddressesForDefaultSeparators);
|
|
|
+
|
|
|
+ $.each(addresses, function(index, emailAddress) {
|
|
|
me.bv.resetForm();
|
|
|
me.$emailAddressOrAddresses.val(emailAddress);
|
|
|
me.bv.validate();
|
|
|
@@ -2412,7 +2453,43 @@ describe('emailAddress', function() {
|
|
|
it('Invalid email addresses (allowMultiple=true)', function() {
|
|
|
var me = this;
|
|
|
me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
|
|
|
- $.each(invalidEmailAddresses.concat(invalidMultipleEmailAddresses), function(index, emailAddress) {
|
|
|
+
|
|
|
+ var addresses = invalidEmailAddresses
|
|
|
+ .concat(invalidMultipleEmailAddressesForDefaultSeparators);
|
|
|
+
|
|
|
+ $.each(addresses, function(index, emailAddress) {
|
|
|
+ me.bv.resetForm();
|
|
|
+ me.$emailAddressOrAddresses.val(emailAddress);
|
|
|
+ me.bv.validate();
|
|
|
+ expect(me.bv.isValid()).toEqual(false);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Valid email addresses (allowMultiple=true,separatorRegex=/[,\$]/)', function() {
|
|
|
+ var me = this;
|
|
|
+ me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
|
|
|
+ me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separatorRegex', /[,\$]/);
|
|
|
+
|
|
|
+ var addresses = validEmailAddresses
|
|
|
+ .concat(validMultipleEmailAddressesForCommaOrDollarSignSeparators);
|
|
|
+
|
|
|
+ $.each(addresses, function(index, emailAddress) {
|
|
|
+ me.bv.resetForm();
|
|
|
+ me.$emailAddressOrAddresses.val(emailAddress);
|
|
|
+ me.bv.validate();
|
|
|
+ expect(me.bv.isValid()).toBeTruthy();
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Invalid email addresses (allowMultiple=true,separatorRegex=/[,\$]/)', function() {
|
|
|
+ var me = this;
|
|
|
+ me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
|
|
|
+ me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separatorRegex', /[,\$]/);
|
|
|
+
|
|
|
+ var addresses = invalidEmailAddresses
|
|
|
+ .concat(invalidMultipleEmailAddressesForCommaOrDollarSignSeparators);
|
|
|
+
|
|
|
+ $.each(addresses, function(index, emailAddress) {
|
|
|
me.bv.resetForm();
|
|
|
me.$emailAddressOrAddresses.val(emailAddress);
|
|
|
me.bv.validate();
|
|
|
@@ -2420,7 +2497,7 @@ describe('emailAddress', function() {
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
function greaterThanCompare() {
|
|
|
var compareTo = $('#greaterThanForm').find('[name="minAge"]').val();
|
|
|
$('#msg').html('greaterThanCompare() called; compare to ' + compareTo);
|