Files

22 lines
1016 B
JavaScript
Raw Permalink Normal View History

2026-10-29 11:57:29 +01:00
// Generated, do not edit. sha256:92455022533d94af2d52395e44cf486657d20b65fb083e71739944b000a7e846
import { describe, it } from 'node:test';
import assert from 'node:assert/strict';
import { val, fmtUnit } from '../../client/ui/format.js';
describe('val: privacy-wrap als keuzepunt', () => {
it('wrapt in .val zodat de blur-laag het kan vervagen', () => {
assert.equal(val('€ 1.234,56'), '<span class="val">€ 1.234,56</span>');
});
it('escapet zijn invoer, want die gaat naar innerHTML', () => {
assert.equal(val('<b>x</b>'), '<span class="val">&lt;b&gt;x&lt;/b&gt;</span>');
});
it('houdt een label uit de asset-data onschadelijk (de reden dat val() escapet)', () => {
const boosAsset = { kind: 'crypto', decimals: 0, unit: '<img src=x onerror=alert(1)>', displayUnit: 'unit' };
const html = val(fmtUnit(5, boosAsset));
assert.ok(!html.includes('<img'), `payload kwam als tag door: ${html}`);
assert.ok(html.includes('&lt;img src=x onerror=alert(1)&gt;'), html);
});
});