Skip to content

Commit b564f40

Browse files
Rik SmaleWikiRik
authored andcommitted
test: split tests of large validators
1 parent 0a39bb7 commit b564f40

15 files changed

+12544
-13337
lines changed

test/sanitizers.test.js

Lines changed: 1 addition & 228 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { format } from 'util';
22
import validator from '../src/index';
33

4-
function test(options) {
4+
export default function test(options) {
55
let args = options.args || [];
66

77
args.unshift(null);
@@ -284,231 +284,4 @@ describe('Sanitizers', () => {
284284
},
285285
});
286286
});
287-
288-
it('should normalize an email based on domain', () => {
289-
test({
290-
sanitizer: 'normalizeEmail',
291-
expect: {
292-
'test@me.com': 'test@me.com',
293-
'some.name@gmail.com': 'somename@gmail.com',
294-
'some.name@googleMail.com': 'somename@gmail.com',
295-
'some.name+extension@gmail.com': 'somename@gmail.com',
296-
'some.Name+extension@GoogleMail.com': 'somename@gmail.com',
297-
'some.name.middleName+extension@gmail.com': 'somenamemiddlename@gmail.com',
298-
'some.name.middleName+extension@GoogleMail.com': 'somenamemiddlename@gmail.com',
299-
'some.name.midd.leNa.me.+extension@gmail.com': 'somenamemiddlename@gmail.com',
300-
'some.name.midd.leNa.me.+extension@GoogleMail.com': 'somenamemiddlename@gmail.com',
301-
'some.name+extension@unknown.com': 'some.name+extension@unknown.com',
302-
'hans@m端ller.com': 'hans@m端ller.com',
303-
'some.name.midd..leNa...me...+extension@GoogleMail.com': 'somenamemidd..lena...me...@gmail.com',
304-
'matthew..example@gmail.com': 'matthew..example@gmail.com',
305-
'"foo@bar"@baz.com': '"foo@bar"@baz.com',
306-
'test@ya.ru': 'test@yandex.ru',
307-
'test@yandex.kz': 'test@yandex.ru',
308-
'test@yandex.ru': 'test@yandex.ru',
309-
'test@yandex.ua': 'test@yandex.ru',
310-
'test@yandex.com': 'test@yandex.ru',
311-
'test@yandex.by': 'test@yandex.ru',
312-
'@gmail.com': false,
313-
'@icloud.com': false,
314-
'@outlook.com': false,
315-
'@yahoo.com': false,
316-
},
317-
});
318-
319-
// Testing all_lowercase switch, should apply to domains not known to be case-insensitive
320-
test({
321-
sanitizer: 'normalizeEmail',
322-
args: [{ all_lowercase: false }],
323-
expect: {
324-
'test@foo.com': 'test@foo.com',
325-
'hans@m端ller.com': 'hans@m端ller.com',
326-
'test@FOO.COM': 'test@foo.com', // Hostname is always lowercased
327-
'blAH@x.com': 'blAH@x.com',
328-
// In case of domains that are known to be case-insensitive, there's a separate switch
329-
'TEST@me.com': 'test@me.com',
330-
'TEST@ME.COM': 'test@me.com',
331-
'SOME.name@GMAIL.com': 'somename@gmail.com',
332-
'SOME.name.middleName+extension@GoogleMail.com': 'somenamemiddlename@gmail.com',
333-
'SOME.name.midd.leNa.me.+extension@gmail.com': 'somenamemiddlename@gmail.com',
334-
'SOME.name@gmail.com': 'somename@gmail.com',
335-
'SOME.name@yahoo.ca': 'some.name@yahoo.ca',
336-
'SOME.name@outlook.ie': 'some.name@outlook.ie',
337-
'SOME.name@me.com': 'some.name@me.com',
338-
'SOME.name@yandex.ru': 'some.name@yandex.ru',
339-
},
340-
});
341-
342-
// Testing *_lowercase
343-
test({
344-
sanitizer: 'normalizeEmail',
345-
args: [{
346-
all_lowercase: false,
347-
gmail_lowercase: false,
348-
icloud_lowercase: false,
349-
outlookdotcom_lowercase: false,
350-
yahoo_lowercase: false,
351-
yandex_lowercase: false,
352-
}],
353-
expect: {
354-
'TEST@FOO.COM': 'TEST@foo.com', // all_lowercase
355-
'ME@gMAil.com': 'ME@gmail.com', // gmail_lowercase
356-
'ME@me.COM': 'ME@me.com', // icloud_lowercase
357-
'ME@icloud.COM': 'ME@icloud.com', // icloud_lowercase
358-
'ME@outlook.COM': 'ME@outlook.com', // outlookdotcom_lowercase
359-
'JOHN@live.CA': 'JOHN@live.ca', // outlookdotcom_lowercase
360-
'ME@ymail.COM': 'ME@ymail.com', // yahoo_lowercase
361-
'ME@yandex.RU': 'ME@yandex.ru', // yandex_lowercase
362-
},
363-
});
364-
365-
// Testing all_lowercase
366-
// Should overwrite all the *_lowercase options
367-
test({
368-
sanitizer: 'normalizeEmail',
369-
args: [{
370-
all_lowercase: true,
371-
gmail_lowercase: false, // Overruled
372-
icloud_lowercase: false, // Overruled
373-
outlookdotcom_lowercase: false, // Overruled
374-
yahoo_lowercase: false, // Overruled
375-
}],
376-
expect: {
377-
'TEST@FOO.COM': 'test@foo.com', // all_lowercase
378-
'ME@gMAil.com': 'me@gmail.com', // gmail_lowercase
379-
'ME@me.COM': 'me@me.com', // icloud_lowercase
380-
'ME@icloud.COM': 'me@icloud.com', // icloud_lowercase
381-
'ME@outlook.COM': 'me@outlook.com', // outlookdotcom_lowercase
382-
'JOHN@live.CA': 'john@live.ca', // outlookdotcom_lowercase
383-
'ME@ymail.COM': 'me@ymail.com', // yahoo_lowercase
384-
},
385-
});
386-
387-
// Testing *_remove_dots
388-
test({
389-
sanitizer: 'normalizeEmail',
390-
args: [{
391-
gmail_remove_dots: false,
392-
}],
393-
expect: {
394-
'SOME.name@GMAIL.com': 'some.name@gmail.com',
395-
'SOME.name+me@GMAIL.com': 'some.name@gmail.com',
396-
'my.self@foo.com': 'my.self@foo.com',
397-
},
398-
});
399-
400-
test({
401-
sanitizer: 'normalizeEmail',
402-
args: [{
403-
gmail_remove_dots: true,
404-
}],
405-
expect: {
406-
'SOME.name@GMAIL.com': 'somename@gmail.com',
407-
'SOME.name+me@GMAIL.com': 'somename@gmail.com',
408-
'some.name..multiple@gmail.com': 'somename..multiple@gmail.com',
409-
'my.self@foo.com': 'my.self@foo.com',
410-
},
411-
});
412-
413-
// Testing *_remove_subaddress
414-
test({
415-
sanitizer: 'normalizeEmail',
416-
args: [{
417-
gmail_remove_subaddress: false,
418-
icloud_remove_subaddress: false,
419-
outlookdotcom_remove_subaddress: false,
420-
yahoo_remove_subaddress: false, // Note Yahoo uses "-"
421-
}],
422-
expect: {
423-
'foo+bar@unknown.com': 'foo+bar@unknown.com',
424-
'foo+bar@gmail.com': 'foo+bar@gmail.com', // gmail_remove_subaddress
425-
'foo+bar@me.com': 'foo+bar@me.com', // icloud_remove_subaddress
426-
'foo+bar@icloud.com': 'foo+bar@icloud.com', // icloud_remove_subaddress
427-
'foo+bar@live.fr': 'foo+bar@live.fr', // outlookdotcom_remove_subaddress
428-
'foo+bar@hotmail.co.uk': 'foo+bar@hotmail.co.uk', // outlookdotcom_remove_subaddress
429-
'foo-bar@yahoo.com': 'foo-bar@yahoo.com', // yahoo_remove_subaddress
430-
'foo+bar@yahoo.com': 'foo+bar@yahoo.com', // yahoo_remove_subaddress
431-
},
432-
});
433-
434-
test({
435-
sanitizer: 'normalizeEmail',
436-
args: [{
437-
gmail_remove_subaddress: true,
438-
icloud_remove_subaddress: true,
439-
outlookdotcom_remove_subaddress: true,
440-
yahoo_remove_subaddress: true, // Note Yahoo uses "-"
441-
}],
442-
expect: {
443-
'foo+bar@unknown.com': 'foo+bar@unknown.com',
444-
'foo+bar@gmail.com': 'foo@gmail.com', // gmail_remove_subaddress
445-
'foo+bar@me.com': 'foo@me.com', // icloud_remove_subaddress
446-
'foo+bar@icloud.com': 'foo@icloud.com', // icloud_remove_subaddress
447-
'foo+bar@live.fr': 'foo@live.fr', // outlookdotcom_remove_subaddress
448-
'foo+bar@hotmail.co.uk': 'foo@hotmail.co.uk', // outlookdotcom_remove_subaddress
449-
'foo-bar@yahoo.com': 'foo@yahoo.com', // yahoo_remove_subaddress
450-
'foo+bar@yahoo.com': 'foo+bar@yahoo.com', // yahoo_remove_subaddress
451-
},
452-
});
453-
454-
// Testing gmail_convert_googlemaildotcom
455-
test({
456-
sanitizer: 'normalizeEmail',
457-
args: [{
458-
gmail_convert_googlemaildotcom: false,
459-
}],
460-
expect: {
461-
'SOME.name@GMAIL.com': 'somename@gmail.com',
462-
'SOME.name+me@GMAIL.com': 'somename@gmail.com',
463-
'SOME.name+me@googlemail.com': 'somename@googlemail.com',
464-
'SOME.name+me@googlemail.COM': 'somename@googlemail.com',
465-
'SOME.name+me@googlEmail.com': 'somename@googlemail.com',
466-
'my.self@foo.com': 'my.self@foo.com',
467-
},
468-
});
469-
470-
test({
471-
sanitizer: 'normalizeEmail',
472-
args: [{
473-
gmail_convert_googlemaildotcom: true,
474-
}],
475-
expect: {
476-
'SOME.name@GMAIL.com': 'somename@gmail.com',
477-
'SOME.name+me@GMAIL.com': 'somename@gmail.com',
478-
'SOME.name+me@googlemail.com': 'somename@gmail.com',
479-
'SOME.name+me@googlemail.COM': 'somename@gmail.com',
480-
'SOME.name+me@googlEmail.com': 'somename@gmail.com',
481-
'my.self@foo.com': 'my.self@foo.com',
482-
},
483-
});
484-
485-
// Testing yandex_convert_yandexru
486-
test({
487-
sanitizer: 'normalizeEmail',
488-
args: [{
489-
yandex_convert_yandexru: false,
490-
}],
491-
expect: {
492-
'test@yandex.kz': 'test@yandex.kz',
493-
'test@yandex.ru': 'test@yandex.ru',
494-
'test@yandex.ua': 'test@yandex.ua',
495-
'test@yandex.com': 'test@yandex.com',
496-
'test@yandex.by': 'test@yandex.by',
497-
},
498-
});
499-
500-
test({
501-
sanitizer: 'normalizeEmail',
502-
args: [{
503-
yandex_convert_yandexru: true,
504-
}],
505-
expect: {
506-
'test@yandex.kz': 'test@yandex.ru',
507-
'test@yandex.ru': 'test@yandex.ru',
508-
'test@yandex.ua': 'test@yandex.ru',
509-
'test@yandex.com': 'test@yandex.ru',
510-
'test@yandex.by': 'test@yandex.ru',
511-
},
512-
});
513-
});
514287
});

0 commit comments

Comments
 (0)