mirror of
https://github.com/foliojs/pdfkit.git
synced 2025-12-08 20:15:54 +00:00
Add dash unit tests
This commit is contained in:
parent
0938f79d1a
commit
f486d11efe
115
tests/unit/vector.spec.js
Normal file
115
tests/unit/vector.spec.js
Normal file
@ -0,0 +1,115 @@
|
||||
import PDFDocument from '../../lib/document';
|
||||
import { logData } from './helpers';
|
||||
|
||||
describe('Vector Graphics', () => {
|
||||
let document;
|
||||
|
||||
beforeEach(() => {
|
||||
document = new PDFDocument({
|
||||
info: { CreationDate: new Date(Date.UTC(2018, 1, 1)) },
|
||||
compress: false
|
||||
});
|
||||
});
|
||||
|
||||
describe('dash', () => {
|
||||
test('with numeric length argument', () => {
|
||||
const docData = logData(document);
|
||||
const vectorStream = new Buffer(
|
||||
'1 0 0 -1 0 792 cm\n50 20 m\n[2 2] 0 d\nS\n',
|
||||
'binary'
|
||||
);
|
||||
|
||||
document
|
||||
.moveTo(50, 20)
|
||||
.dash(2)
|
||||
.stroke();
|
||||
document.end();
|
||||
|
||||
expect(docData).toContainChunk([
|
||||
`5 0 obj`,
|
||||
`<<
|
||||
/Length 38
|
||||
>>`,
|
||||
`stream`,
|
||||
vectorStream,
|
||||
`\nendstream`,
|
||||
`endobj`
|
||||
]);
|
||||
});
|
||||
|
||||
test('with array length argument', () => {
|
||||
const docData = logData(document);
|
||||
const vectorStream = new Buffer(
|
||||
'1 0 0 -1 0 792 cm\n50 20 m\n[1 2] 0 d\nS\n',
|
||||
'binary'
|
||||
);
|
||||
|
||||
document
|
||||
.moveTo(50, 20)
|
||||
.dash([1, 2])
|
||||
.stroke();
|
||||
document.end();
|
||||
|
||||
expect(docData).toContainChunk([
|
||||
`5 0 obj`,
|
||||
`<<
|
||||
/Length 38
|
||||
>>`,
|
||||
`stream`,
|
||||
vectorStream,
|
||||
`\nendstream`,
|
||||
`endobj`
|
||||
]);
|
||||
});
|
||||
|
||||
test('with space option', () => {
|
||||
const docData = logData(document);
|
||||
const vectorStream = new Buffer(
|
||||
'1 0 0 -1 0 792 cm\n50 20 m\n[2 10] 0 d\nS\n',
|
||||
'binary'
|
||||
);
|
||||
|
||||
document
|
||||
.moveTo(50, 20)
|
||||
.dash(2, { space: 10 })
|
||||
.stroke();
|
||||
document.end();
|
||||
|
||||
expect(docData).toContainChunk([
|
||||
`5 0 obj`,
|
||||
`<<
|
||||
/Length 39
|
||||
>>`,
|
||||
`stream`,
|
||||
vectorStream,
|
||||
`\nendstream`,
|
||||
`endobj`
|
||||
]);
|
||||
});
|
||||
|
||||
test('with phase option', () => {
|
||||
const docData = logData(document);
|
||||
const vectorStream = new Buffer(
|
||||
'1 0 0 -1 0 792 cm\n50 20 m\n[2 2] 8 d\nS\n',
|
||||
'binary'
|
||||
);
|
||||
|
||||
document
|
||||
.moveTo(50, 20)
|
||||
.dash(2, { phase: 8 })
|
||||
.stroke();
|
||||
document.end();
|
||||
|
||||
expect(docData).toContainChunk([
|
||||
`5 0 obj`,
|
||||
`<<
|
||||
/Length 38
|
||||
>>`,
|
||||
`stream`,
|
||||
vectorStream,
|
||||
`\nendstream`,
|
||||
`endobj`
|
||||
]);
|
||||
});
|
||||
});
|
||||
});
|
||||
Loading…
x
Reference in New Issue
Block a user