import { describe, expect, it } from 'vitest';
import {
isDomPrintableExtension,
isKnownNonPrintableExtension,
needsDedicatedPrintAdapter,
resolvePrintAvailability,
} from '../packages/core/src';
describe('@file-viewer/core capability helpers', () => {
it('keeps print capability decisions centralized in core', () => {
expect(needsDedicatedPrintAdapter('pdf')).toBe(true);
expect(needsDedicatedPrintAdapter('.DOCX')).toBe(true);
expect(isDomPrintableExtension('md')).toBe(true);
expect(isDomPrintableExtension('ofd')).toBe(true);
expect(isKnownNonPrintableExtension('xlsx')).toBe(true);
expect(isKnownNonPrintableExtension('zip')).toBe(true);
});
it('only enables adapter-backed print formats after the adapter is ready', () => {
expect(resolvePrintAvailability('pdf', null, true)).toBe(false);
expect(resolvePrintAvailability('pdf', { toHtml: () => 'pdf' }, true)).toBe(true);
expect(resolvePrintAvailability('pdf', { print: false, toHtml: () => 'pdf' }, true)).toBe(false);
expect(resolvePrintAvailability('markdown', null, true)).toBe(true);
expect(resolvePrintAvailability('markdown', null, false)).toBe(false);
expect(resolvePrintAvailability('xlsx', null, true)).toBe(false);
});
});