| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import { describe, expect, it } from 'vitest';
- import {
- buildFileViewerWatermarkBackgroundImage,
- buildFileViewerWatermarkInlineStyle,
- buildFileViewerWatermarkStyle,
- normalizeFileViewerWatermark,
- resolveFileViewerWatermarkPresentationState,
- } from '../packages/core/src';
- describe('@file-viewer/core watermark helpers', () => {
- it('normalizes watermark options and builds framework-neutral style payloads', () => {
- expect(normalizeFileViewerWatermark(false)).toBeNull();
- expect(normalizeFileViewerWatermark({ text: '' })).toBeNull();
- expect(normalizeFileViewerWatermark(true)).toMatchObject({
- enabled: true,
- text: 'Flyfish Viewer',
- });
- const watermark = {
- text: 'Confidential',
- color: '#123456',
- opacity: 0.2,
- };
- const backgroundImage = buildFileViewerWatermarkBackgroundImage(watermark);
- expect(backgroundImage).toContain('data:image/svg+xml');
- expect(backgroundImage).toContain('Confidential');
- expect(buildFileViewerWatermarkStyle(watermark)).toEqual({
- backgroundImage,
- });
- expect(buildFileViewerWatermarkStyle(undefined)).toBeUndefined();
- expect(buildFileViewerWatermarkInlineStyle(watermark)).toContain(`background-image:${backgroundImage}`);
- const presentation = resolveFileViewerWatermarkPresentationState(watermark);
- expect(presentation.normalizedWatermark).toMatchObject(watermark);
- expect(presentation.watermarkStyle).toEqual({ backgroundImage });
- expect(presentation.watermarkInlineStyle).toBe(buildFileViewerWatermarkInlineStyle(watermark));
- expect(resolveFileViewerWatermarkPresentationState(false)).toEqual({
- normalizedWatermark: null,
- watermarkStyle: undefined,
- watermarkInlineStyle: '',
- });
- });
- });
|