extract-email-address
Version:
Extracts email address from an arbitrary text input.
81 lines • 2.65 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const extractEmail_1 = require("./extractEmail");
const ava_1 = __importDefault(require("ava"));
const fixtures = [
'foo bar baz at gajus@gajus.com',
'gajus@gajus.com',
'GAJUS@GAJUS.COM',
':gajus@gajus.com',
'📧gajus@gajus.com',
'gajus@gajus.com.',
'foo gajus@gajus.com bar',
'foo gajus [at] gajus [dot] com',
'foo g a j u s [at] g a j u s [dot] c o m',
'<gajus@gajus.com>',
'【email: gajus@gajus.com】',
'<a href="/contact">contact: gajus@gajus.com</a>',
'"mailto:gajus@gajus.com"',
'https://gajus@gajus.com',
];
for (const fixture of fixtures) {
(0, ava_1.default)('extracts email ("' + fixture + '")', (t) => {
t.deepEqual((0, extractEmail_1.extractEmail)(fixture), [
{
email: 'gajus@gajus.com',
},
]);
});
}
(0, ava_1.default)('extracts multiple email addresses', (t) => {
t.deepEqual((0, extractEmail_1.extractEmail)('foo@bar.com baz@qux.com'), [
{
email: 'foo@bar.com',
},
{
email: 'baz@qux.com',
},
]);
});
(0, ava_1.default)('extracts email (gajus+test@gajus.com)', (t) => {
t.deepEqual((0, extractEmail_1.extractEmail)('gajus+test@gajus.com'), [
{
email: 'gajus+test@gajus.com',
},
]);
});
(0, ava_1.default)('extracts email (gajus.gajus@gajus.com)', (t) => {
t.deepEqual((0, extractEmail_1.extractEmail)('gajus.gajus@gajus.com'), [
{
email: 'gajus.gajus@gajus.com',
},
]);
});
(0, ava_1.default)('extracts email (gajus.gajus+test@gajus.com)', (t) => {
t.deepEqual((0, extractEmail_1.extractEmail)('gajus.gajus+test@gajus.com'), [
{
email: 'gajus.gajus+test@gajus.com',
},
]);
});
(0, ava_1.default)('excludes emails with invalid TLD (gajus@gajus.png)', (t) => {
t.deepEqual((0, extractEmail_1.extractEmail)('gajus@gajus.png'), []);
});
(0, ava_1.default)('removes duplicates email', (t) => {
t.deepEqual((0, extractEmail_1.extractEmail)('gajus@gajus.com gajus@gajus.com'), [
{
email: 'gajus@gajus.com',
},
]);
});
(0, ava_1.default)('extracts email mailto', (t) => {
t.deepEqual((0, extractEmail_1.extractEmail)('mailto%3Ajohn%2Bsmith%40gajus.com'), [
{
email: 'john+smith@gajus.com',
},
]);
});
//# sourceMappingURL=extractEmail.test.js.map