UNPKG

jspdf-autotable

Version:

Generate pdf tables with javascript (jsPDF plugin)

67 lines (58 loc) 2.23 kB
"use strict"; let describe = global.describe; let it = global.it; var assert = require('assert'); let parseCss = require('../src/cssParser').parseCss; describe('css parser', function () { it('normal styles', function () { global.window = {getComputedStyle: function () { return { fontFamily: "Times", borderColor: "rgba(0, 0, 0, 0)", fontStyle: 'italic', fontWeight: 'bold', backgroundColor: "rgba(240, 255, 255, 1)", color: "rgb(50, 50, 50)", textAlign: 'center', verticalAlign: 'top', fontSize: "16px", padding: "5px", borderWidth: "2px", } }}; let pxScaleFactor = 96 / 72; let styles = parseCss({}, 1); assert(styles, 'Should have result'); assert(!styles.lineColor, "Transparent color"); assert(styles.fillColor, 'Parse color'); assert(styles.halign === 'center', 'Horizontal align'); assert(styles.valign === 'top', 'String value'); assert.equal(styles.cellPadding.top, 5 / pxScaleFactor, 'Cell padding'); assert.equal(styles.lineWidth, 2 / pxScaleFactor, 'Line width'); delete global.window; }); it('minimal styles', function () { global.window = {getComputedStyle: function () { return { backgroundColor: "transparent", textAlign: '', verticalAlign: '', padding: "", fontStyle: 'normal', fontWeight: 'normal', fontSize: "", borderWidth: "", display: 'none' } }}; let styles = parseCss({}, 1); assert(styles, 'Should have result'); assert(!styles.fillColor, 'Transparent'); assert(!styles.halign, 'Empty string halign'); assert(!styles.valign, 'Empty tring valign'); assert(!styles.cellPadding, 'Empty string padding'); assert(!styles.fontStyle, 'No font style'); assert(!styles.fontSize, 'No font size'); delete global.window; }); });