import test from 'node:test'; import assert from 'node:assert/strict'; import {contactEmails,isContactEmail} from '../src/contactEmails.mjs'; test('each recipient gets a separate vCard mail value',()=>{ const raw=' eins@example.test, zwei+tag@example.org, dritt@[127.0.0.1] '; assert.deepEqual(contactEmails(raw),['eins@example.test','zwei+tag@example.org','dritt@[127.0.0.1]']); assert.equal(raw,' eins@example.test, zwei+tag@example.org, dritt@[127.0.0.1] '); }); test('empty mail values add no empty vCard property',()=>{ for(const raw of [null,undefined,'',' ', ', ,'])assert.deepEqual(contactEmails(raw),[]); }); test('mail aliases include generic fields and exclude ordinary notes',()=>{ for(const type of ['mail','email','mail_business','mail_private','email_business','email_private'])assert.equal(isContactEmail(type),true); for(const type of ['text','phone_business','mail_note'])assert.equal(isContactEmail(type),false); });