UNPKG

html2canvas-pro

Version:

Screenshots with JavaScript. Next generation!

85 lines 3.39 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const index_1 = __importDefault(require("../index")); const canvas_renderer_1 = require("../render/canvas/canvas-renderer"); const document_cloner_1 = require("../dom/document-cloner"); const color_1 = require("../css/types/color"); jest.mock('../core/logger'); jest.mock('../css/layout/bounds'); jest.mock('../dom/document-cloner'); jest.mock('../dom/node-parser', () => { return { isBodyElement: () => false, isHTMLElement: () => false, parseTree: jest.fn().mockImplementation(() => { return { styles: {}, restoreTree: jest.fn() }; }) }; }); jest.mock('../render/stacking-context'); jest.mock('../render/canvas/canvas-renderer'); describe('html2canvas', () => { const element = { ownerDocument: { defaultView: { document: { createElement: () => ({ href: '' }) }, location: { href: 'http://localhost/' }, pageXOffset: 12, pageYOffset: 34, innerWidth: 800, innerHeight: 600 } } }; it('should render with an element', async () => { document_cloner_1.DocumentCloner.destroy = jest.fn().mockReturnValue(true); await (0, index_1.default)(element); expect(canvas_renderer_1.CanvasRenderer).toHaveBeenLastCalledWith(expect.objectContaining({ cache: expect.any(Object), logger: expect.any(Object), windowBounds: expect.objectContaining({ left: 12, top: 34 }) }), expect.objectContaining({ backgroundColor: 0xffffffff, scale: 1, height: 50, width: 200, x: 0, y: 0, canvas: undefined })); expect(document_cloner_1.DocumentCloner.destroy).toBeCalled(); }); it('should have transparent background with backgroundColor: null', async () => { await (0, index_1.default)(element, { backgroundColor: null }); expect(canvas_renderer_1.CanvasRenderer).toHaveBeenLastCalledWith(expect.anything(), expect.objectContaining({ backgroundColor: color_1.COLORS.TRANSPARENT })); }); it('should use existing canvas when given as option', async () => { const canvas = {}; await (0, index_1.default)(element, { canvas }); expect(canvas_renderer_1.CanvasRenderer).toHaveBeenLastCalledWith(expect.anything(), expect.objectContaining({ canvas })); }); it('should not remove cloned window when removeContainer: false', async () => { document_cloner_1.DocumentCloner.destroy = jest.fn(); await (0, index_1.default)(element, { removeContainer: false }); expect(canvas_renderer_1.CanvasRenderer).toHaveBeenLastCalledWith(expect.anything(), expect.objectContaining({ backgroundColor: 0xffffffff, scale: 1, height: 50, width: 200, x: 0, y: 0, canvas: undefined })); expect(document_cloner_1.DocumentCloner.destroy).not.toBeCalled(); }); }); //# sourceMappingURL=index.js.map