123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- 'use strict'
- /* global describe, it, jsPDF, comparePdf, expect */
- /**
- * Standard spec tests
- *
- * These tests return the datauristring so that reference files can be generated.
- * We compare the exact output.
- */
- describe('Display modes', () => {
- it('should set zoom mode to full height', () => {
- const doc = jsPDF()
- doc.setDisplayMode('fullheight')
- doc.text(10, 10, 'This is a test')
- doc.output()
- comparePdf(doc.output(), 'zoom-full-height.pdf', 'pages')
- })
- it('should set zoom mode to full width', () => {
- const doc = jsPDF()
- doc.setDisplayMode('fullwidth')
- doc.text(10, 10, 'This is a test')
- doc.output()
- comparePdf(doc.output(), 'zoom-full-width.pdf', 'pages')
- })
- it('should set zoom mode to full page', () => {
- const doc = jsPDF('landscape')
- doc.setDisplayMode('fullpage')
- doc.text(10, 10, 'This is a test')
- doc.output()
- comparePdf(doc.output(), 'zoom-full-page.pdf', 'pages')
- })
- it('should set zoom mode to original', () => {
- const doc = jsPDF('landscape')
- doc.setDisplayMode('original')
- doc.text(10, 10, 'This is a test')
- doc.output()
- comparePdf(doc.output(), 'zoom-original.pdf', 'pages')
- })
- it('should set zoom mode to 2x', () => {
- const doc = jsPDF('landscape')
- doc.setDisplayMode(2)
- doc.text(20, 20, 'This is a test')
- doc.output()
- comparePdf(doc.output(), 'zoom-2x.pdf', 'pages')
- })
- it('should set zoom mode to 3x', () => {
- const doc = jsPDF('landscape')
- doc.setDisplayMode(3)
- doc.text(20, 20, 'This is a test')
- doc.output()
- comparePdf(doc.output(), 'zoom-3x.pdf', 'pages')
- })
- it('should set zoom mode to 3x', () => {
- const doc = jsPDF('landscape')
- doc.setDisplayMode('300%')
- doc.text(20, 20, 'This is a test')
- doc.output()
- comparePdf(doc.output(), 'zoom-3x.pdf', 'pages')
- })
- it('should display in continuous mode', () => {
- const doc = jsPDF()
- doc.text(10, 10, 'Page 1')
- doc.addPage()
- doc.text(10, 10, 'Page 2')
- doc.addPage()
- doc.text(10, 10, 'Page 3')
- doc.addPage()
- doc.text(10, 10, 'Page 4')
- doc.setDisplayMode(null, 'continuous')
- comparePdf(doc.output(), 'continuous.pdf', 'pages')
- })
- it('should display in single page mode', () => {
- const doc = jsPDF()
- doc.text(10, 10, 'Page 1')
- doc.addPage()
- doc.text(10, 10, 'Page 2')
- doc.addPage()
- doc.text(10, 10, 'Page 3')
- doc.addPage()
- doc.text(10, 10, 'Page 4')
- doc.setDisplayMode(null, 'single')
- comparePdf(doc.output(), 'single.pdf', 'pages')
- })
- it('should display in two column left mode', () => {
- const doc = jsPDF()
- doc.text(10, 10, 'Page 1')
- doc.addPage()
- doc.text(10, 10, 'Page 2')
- doc.addPage()
- doc.text(10, 10, 'Page 3')
- doc.addPage()
- doc.text(10, 10, 'Page 4')
- doc.setDisplayMode(null, 'twoleft')
- comparePdf(doc.output(), 'twoleft.pdf', 'pages')
- })
- it('should display in two column left mode with shorter syntax', () => {
- const doc = jsPDF()
- doc.text(10, 10, 'Page 1')
- doc.addPage()
- doc.text(10, 10, 'Page 2')
- doc.addPage()
- doc.text(10, 10, 'Page 3')
- doc.addPage()
- doc.text(10, 10, 'Page 4')
- doc.setDisplayMode(null, 'two')
- comparePdf(doc.output(), 'twoleft.pdf', 'pages')
- })
- it('should display in two column right mode', () => {
- const doc = jsPDF()
- doc.text(10, 10, 'Page 1')
- doc.addPage()
- doc.text(10, 10, 'Page 2')
- doc.addPage()
- doc.text(10, 10, 'Page 3')
- doc.addPage()
- doc.text(10, 10, 'Page 4')
- doc.setDisplayMode(null, 'tworight')
- comparePdf(doc.output(), 'tworight.pdf', 'pages')
- })
- it('should use outline display mode', () => {
- const doc = jsPDF()
- doc.text(10, 10, 'Page 1')
- doc.addPage()
- doc.text(10, 10, 'Page 2')
- doc.addPage()
- doc.text(10, 10, 'Page 3')
- doc.addPage()
- doc.text(10, 10, 'Page 4')
- doc.setDisplayMode(null, null, 'UseOutlines')
- comparePdf(doc.output(), 'outlines.pdf', 'pages')
- })
- it('should use thumbnail display mode', () => {
- const doc = jsPDF()
- doc.text(10, 10, 'Page 1')
- doc.addPage()
- doc.text(10, 10, 'Page 2')
- doc.addPage()
- doc.text(10, 10, 'Page 3')
- doc.addPage()
- doc.text(10, 10, 'Page 4')
- doc.setDisplayMode(null, null, 'UseThumbs')
- comparePdf(doc.output(), 'thumbs.pdf', 'pages')
- })
- it('should use fullscreen display mode', () => {
- const doc = jsPDF()
- doc.text(10, 10, 'Page 1')
- doc.addPage()
- doc.text(10, 10, 'Page 2')
- doc.addPage()
- doc.text(10, 10, 'Page 3')
- doc.addPage()
- doc.text(10, 10, 'Page 4')
- doc.setDisplayMode(null, null, 'FullScreen')
- comparePdf(doc.output(), 'fullscreen.pdf', 'pages')
- })
- it('should throw an error for invalid page modes', () => {
- const doc = jsPDF()
- expect(() => {
- doc.setDisplayMode(null, null, 'MadeUp')
- }).toThrow(new Error(`Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. "MadeUp" is not recognized.`))
- })
- })
|