Erweitere VoTiAn NG um Fachfunktionen und verbessere die Listenoberfläche
Ergänze Auftragsbearbeitung, Disposition, Stammdaten, Kunden- und Transporteurportale, Lagerverwaltung, Abrechnung, Exporte und Statistik. Füge Kontoeinstellungen, Mitteilungen, Automatikdienste und Betriebsstatus sowie die zugehörigen Tests und PHP-Abgleichsdokumentation hinzu. Vergrößere die persönlichen Auftragslisten auf einheitliche Höhen und richte Statusanzeigen sowie die Ranking-Vorschau-Steuerelemente bündig aus. Validierung: 44 Frontendtests und Produktionsbuild erfolgreich. Backend funktional unverändert gegenüber dem vollständigen Lauf mit 1.624 erfolgreichen und drei übersprungenen Tests. Layout im Browser und lokale Bereitstellung geprüft.
This commit is contained in:
1 parent
363bc27c26
commit
781a2b82dc
1165 files changed
+74986
-1028
No files matched your search
@@ -0,0 +1,14 @@
|
||||
import {test} from 'node:test';import assert from 'node:assert/strict';import {contactLinks} from '../src/contactLinks.mjs';
|
||||
test('mail aliases produce one safe link per recipient and keep invalid old text visible',()=>{
|
||||
assert.deepEqual(contactLinks('email_private','a+tag@example.test, b@example.org'),[{label:'a+tag@example.test',href:'mailto:a%2Btag%40example.test'},{label:'b@example.org',href:'mailto:b%40example.org'}]);
|
||||
assert.deepEqual(contactLinks('mail_business','Altwert'),[{label:'Altwert',href:null}]);
|
||||
assert.equal(contactLinks('email','a@example.test\r\nBcc:x@example.org')[0].href,null);
|
||||
});
|
||||
test('website fields open only absolute HTTP URLs without user information',()=>{
|
||||
assert.equal(contactLinks('url_business','https://example.test/path?q=x')[0].href,'https://example.test/path?q=x');
|
||||
for(const value of ['javascript:alert(1)','data:text/html,test','https://user:secret@example.test','https://example.test\r\n/','www.example.test'])assert.equal(contactLinks('url_business',value)[0].href,null);
|
||||
});
|
||||
test('phone aliases preserve dialable legacy separators without changing exponent-like numbers',()=>{
|
||||
assert.equal(contactLinks('fax','+49 (30) 123/45')[0].href,'tel:+493012345');
|
||||
for(const value of ['1e3','Infinity','0x20','kein Telefon'])assert.equal(contactLinks('phone_business',value)[0].href,null);
|
||||
});
|
||||
Reference in new issue
Block a user