jspdf-autotable
Version:
Generate pdf tables with javascript (jsPDF plugin)
67 lines (58 loc) • 2.23 kB
JavaScript
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;
});
});
;