mirror of
https://github.com/foliojs/pdfkit.git
synced 2025-12-08 20:15:54 +00:00
77 lines
1.3 KiB
JavaScript
77 lines
1.3 KiB
JavaScript
import PDFDocument from '../../lib/document';
|
|
import { logData } from './helpers';
|
|
|
|
describe('Gradient', function() {
|
|
let document;
|
|
|
|
beforeEach(() => {
|
|
document = new PDFDocument({
|
|
info: { CreationDate: new Date(Date.UTC(2018, 1, 1)) }
|
|
});
|
|
});
|
|
|
|
test('Multiple stops', () => {
|
|
const docData = logData(document);
|
|
const gradient = document.linearGradient(0, 0, 300, 0);
|
|
gradient
|
|
.stop(0, 'green')
|
|
.stop(0.5, 'red')
|
|
.stop(1, 'green');
|
|
document.rect(0, 0, 300, 300).fill(gradient);
|
|
document.end();
|
|
|
|
expect(docData).toContainChunk([
|
|
'8 0 obj',
|
|
`<<
|
|
/FunctionType 2
|
|
/Domain [0 1]
|
|
/C0 [0 0.501961 0]
|
|
/C1 [1 0 0]
|
|
/N 1
|
|
>>`
|
|
]);
|
|
expect(docData).toContainChunk([
|
|
'9 0 obj',
|
|
`<<
|
|
/FunctionType 2
|
|
/Domain [0 1]
|
|
/C0 [1 0 0]
|
|
/C1 [0 0.501961 0]
|
|
/N 1
|
|
>>`
|
|
]);
|
|
|
|
expect(docData).toContainChunk([
|
|
'10 0 obj',
|
|
`<<
|
|
/FunctionType 3
|
|
/Domain [0 1]
|
|
/Functions [8 0 R 9 0 R]
|
|
/Bounds [0.5]
|
|
/Encode [0 1 0 1]
|
|
>>`
|
|
]);
|
|
|
|
expect(docData).toContainChunk([
|
|
'11 0 obj',
|
|
`<<
|
|
/ShadingType 2
|
|
/ColorSpace /DeviceRGB
|
|
/Coords [0 0 300 0]
|
|
/Function 10 0 R
|
|
/Extend [true true]
|
|
>>`
|
|
]);
|
|
|
|
expect(docData).toContainChunk([
|
|
'12 0 obj',
|
|
`<<
|
|
/Type /Pattern
|
|
/PatternType 2
|
|
/Shading 11 0 R
|
|
/Matrix [1 0 0 -1 0 792]
|
|
>>`
|
|
]);
|
|
});
|
|
});
|