Fix QR background gradient handling

This commit is contained in:
2026-08-05 19:51:54 +01:00
parent 9f831f04bc
commit 38d82d2ac6
5 changed files with 46 additions and 16 deletions
+27
View File
@@ -18,6 +18,33 @@ test('createStyledQrCodeSvg renders a styled qr svg for non-empty values', async
assert.match(svg, /<svg[\s>]/);
});
test('createStyledQrCodeSvg keeps the qr background solid when gradient fields are provided', async () => {
const svg = await createStyledQrCodeSvg({
value: 'https://example.com',
qr_background_color_mode: 'gradient',
qr_background_gradient_type: 'radial',
qr_background_gradient_color_1: '#ff0000',
qr_background_gradient_color_2: '#0000ff'
});
assert.equal(typeof svg, 'string');
assert.match(svg, /<svg[\s>]/);
assert.doesNotMatch(svg, /<linearGradient|<radialGradient/i);
});
test('buildQrCodeContent forces qr background to single colour mode', async () => {
const content = await buildQrCodeContent({
value: 'https://example.com',
qr_background_color_mode: 'gradient',
qr_background_gradient_type: 'radial',
qr_background_gradient_color_1: '#ff0000',
qr_background_gradient_color_2: '#0000ff'
});
assert.equal(content.qr_background_color_mode, 'single');
assert.equal(content.qr_background_use_gradient, false);
});
test('createStyledQrCodeDataUrl renders a styled qr data url for non-empty values', async () => {
const dataUrl = await createStyledQrCodeDataUrl('https://example.com');