UNPKG

jspdf-autotable

Version:

Generate pdf tables with javascript (jsPDF plugin)

61 lines (52 loc) 2.12 kB
"use strict"; let describe = global.describe; let it = global.it; let before = global.before; let after = global.after; var assert = require('assert'); let parseHtml = require('../src/htmlParser').parseHtml; describe('html parser', function () { before(function() { global.window = {getComputedStyle: function() {return {display: 'visible'}}}; }); after(function() { delete global.window; }); it('full table', function () { var table = { tHead: {rows: [{cells: [{innerText: 'test'}]}]}, tBodies: [{rows: [{cells: [{innerText: 'test'}, {innerText: 'test'}]}]}], tFoot: {rows: [{cells: [{innerText: 'test'}]}]} }; let res = parseHtml(table); assert(res, 'Should have result'); assert(res.head[0].length, 'Should have head cell'); assert.equal(res.body[0].length, 2, 'Should have two body cells'); assert(res.foot[0].length, 'Should have foot cell'); }); it('hidden content', function () { var table = { tHead: {rows: [{cells: [{innerText: 'test'}]}]}, tBodies: [{rows: [{cells: [{innerText: 'test'}]}]}], tFoot: {rows: [{cells: [{innerText: 'test'}]}]} }; global.window = {getComputedStyle: function() {return {display: 'none'}}}; let res = parseHtml(table); assert(res, 'Should have result'); assert(res.head.length === 0, 'Should have no head cells'); assert(res.body.length === 0, 'Should have no body cell'); assert(res.foot.length === 0, 'Should have no foot cells'); }); it('empty table', function () { var table = { tHead: {rows: [{cells: []}]}, tBodies: [{rows: [{cells: []}]}], tFoot: {rows: [{cells: []}]} }; let res = parseHtml(table); assert(res, 'Should have result'); assert(res.head.length === 0, 'Should have no head cells'); assert(res.body.length === 0, 'Should have no body cells'); assert(res.foot.length === 0, 'Should have no foot cells'); }); });