core-presentation.spec.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { describe, expect, it } from 'vitest';
  2. import { resolveFileViewerPresentationState } from '../packages/core/src';
  3. describe('@file-viewer/core presentation helpers', () => {
  4. it('derives display filename, extension, toolbar and theme as one framework-neutral state', () => {
  5. expect(resolveFileViewerPresentationState({
  6. file: new File(['demo'], '合同.docx'),
  7. url: '/example/%E6%8A%A5%E5%91%8A.pdf?token=1',
  8. options: {
  9. theme: 'dark',
  10. toolbar: {
  11. download: false,
  12. position: 'bottom-right',
  13. },
  14. },
  15. })).toMatchObject({
  16. displayFilename: '合同.docx',
  17. extension: 'docx',
  18. theme: 'dark',
  19. toolbar: {
  20. download: false,
  21. print: true,
  22. exportHtml: true,
  23. zoom: true,
  24. },
  25. });
  26. expect(resolveFileViewerPresentationState({
  27. filename: 'manual.PDF',
  28. options: {
  29. theme: 'system',
  30. },
  31. })).toMatchObject({
  32. displayFilename: 'manual.PDF',
  33. extension: 'pdf',
  34. theme: 'system',
  35. toolbar: {
  36. download: true,
  37. print: true,
  38. exportHtml: true,
  39. zoom: true,
  40. },
  41. });
  42. });
  43. });