112 lines
2.4 KiB
JavaScript
Executable File
112 lines
2.4 KiB
JavaScript
Executable File
'use strict'
|
|
/* global describe, it, jsPDF, comparePdf */
|
|
/**
|
|
* Standard spec tests
|
|
*
|
|
* These tests return the datauristring so that reference files can be generated.
|
|
* We compare the exact output.
|
|
*/
|
|
|
|
describe('Drawing functions', () => {
|
|
it('should draw circles', () => {
|
|
const doc = jsPDF()
|
|
|
|
doc.ellipse(40, 20, 10, 5)
|
|
|
|
doc.setFillColor(0, 0, 255)
|
|
doc.ellipse(80, 20, 10, 5, 'F')
|
|
|
|
doc.setLineWidth(1)
|
|
doc.setDrawColor(0)
|
|
doc.setFillColor(255, 0, 0)
|
|
doc.circle(120, 20, 5, 'FD')
|
|
comparePdf(doc.output(), 'circles.pdf', 'shapes')
|
|
})
|
|
|
|
it('should draw rectangles', () => {
|
|
const doc = jsPDF()
|
|
|
|
// Empty square
|
|
doc.rect(20, 20, 10, 10)
|
|
|
|
// Filled square
|
|
doc.rect(40, 20, 10, 10, 'F')
|
|
|
|
// Empty red square
|
|
doc.setDrawColor(255, 0, 0)
|
|
doc.rect(60, 20, 10, 10)
|
|
|
|
// Filled square with red borders
|
|
doc.setDrawColor(255, 0, 0)
|
|
doc.rect(80, 20, 10, 10, 'FD')
|
|
|
|
// Filled red square
|
|
doc.setDrawColor(0)
|
|
doc.setFillColor(255, 0, 0)
|
|
doc.rect(100, 20, 10, 10, 'F')
|
|
|
|
// Filled red square with black borders
|
|
doc.setDrawColor(0)
|
|
doc.setFillColor(255, 0, 0)
|
|
doc.rect(120, 20, 10, 10, 'FD')
|
|
|
|
// Black square with rounded corners
|
|
doc.setDrawColor(0)
|
|
doc.setFillColor(255, 255, 255)
|
|
doc.roundedRect(140, 20, 10, 10, 3, 3, 'FD')
|
|
|
|
comparePdf(doc.output(), 'rectangles.pdf', 'shapes')
|
|
})
|
|
|
|
it('should draw a line', () => {
|
|
const doc = jsPDF()
|
|
|
|
// horizontal line
|
|
doc.line(20, 20, 60, 20)
|
|
comparePdf(doc.output(), 'line.pdf', 'shapes')
|
|
})
|
|
|
|
it('should draw lines', () => {
|
|
const doc = jsPDF()
|
|
|
|
// horizontal line
|
|
doc.line(20, 20, 60, 20)
|
|
|
|
doc.setLineWidth(0.5)
|
|
doc.line(20, 25, 60, 25)
|
|
|
|
doc.setLineWidth(1)
|
|
doc.line(20, 30, 60, 30)
|
|
|
|
doc.setLineWidth(1.5)
|
|
doc.line(20, 35, 60, 35)
|
|
|
|
// draw red lines
|
|
doc.setDrawColor(255, 0, 0)
|
|
|
|
doc.setLineWidth(0.1)
|
|
|
|
// vertical line
|
|
doc.line(100, 20, 100, 60)
|
|
|
|
doc.setLineWidth(0.5)
|
|
doc.line(105, 20, 105, 60)
|
|
|
|
doc.setLineWidth(1)
|
|
doc.line(110, 20, 110, 60)
|
|
|
|
doc.setLineWidth(1.5)
|
|
doc.line(115, 20, 115, 60)
|
|
|
|
comparePdf(doc.output(), 'lines.pdf', 'shapes')
|
|
})
|
|
|
|
it('should use grey color mode', () => {
|
|
const doc = jsPDF()
|
|
doc.setFillColor(22)
|
|
doc.rect(20, 20, 10, 10, 'F')
|
|
|
|
comparePdf(doc.output(), 'fill-color.pdf', 'shapes')
|
|
})
|
|
})
|