UNPKG

officegen-dbb

Version:

Modification of Ziv Barber's officegen, to provide a reasonable way to have line breaks in table cells.

90 lines (64 loc) 2.75 kB
//====================================================================================================================== // TEST SUITE FOR OFFICEGEN // This generates small individual files that test specific aspects of the API // and compares them to reference files. // // The comparison is based on string comparisons of specified XML subdocuments. // Comparing PPTX files for exact-bytewise equality fails because the doc properties include the creation date. // This method tests a defined set of XML subdocuments for string equality. //====================================================================================================================== var assert = require ( 'assert' ); var officegen = require ( '../' ); var fs = require ( 'fs' ); var path = require ( 'path' ); var OUTDIR = __dirname + "/../tmp/"; // var pluginToTest = require ( '../lib/docxplg-headfoot' ); // Common error method: var onError = function ( err ) { console.log ( err ); assert ( false ); }; describe ( "DOCX generator with header and footer", function () { this.timeout ( 1000 ); it ( "creates a document with header and footer", function ( done ) { var docx = officegen ({ type: 'docx', extraPlugs: [ // pluginToTest // The 'docxplg-headfoot' plugin. ] }); docx.on ( 'error', onError ); // Add a header: var header = docx.getHeader ().createP (); header.addText ( 'This is the header' ); var pObj = docx.createP (); pObj.addText ( 'Click me please!', { hyperlink: 'testBM' } ); var pObj = docx.createP (); pObj.addText ( 'Simple' ); pObj.addText ( ' with color', { color: '000088' } ); pObj.addText ( ' and back color.', { color: '00ffff', back: '000088' } ); var pObj = docx.createP (); pObj.addText ( 'Bold + underline', { bold: true, underline: true } ); var pObj = docx.createP ( { align: 'center' } ); pObj.addText ( 'Center this text.' ); var pObj = docx.createP (); pObj.options.align = 'right'; pObj.addText ( 'Align this text to the right.' ); var pObj = docx.createP (); pObj.startBookmark ( 'testBM' ); pObj.addText ( 'Those two lines are in the same paragraph,' ); pObj.addLineBreak (); pObj.addText ( 'but they are separated by a line break.' ); pObj.endBookmark (); docx.putPageBreak (); var pObj = docx.createP (); pObj.addText ( 'Fonts face only.', { font_face: 'Arial' } ); pObj.addText ( ' Fonts face and size.', { font_face: 'Arial', font_size: 40 } ); var FILENAME = "test-docx-header-foooter-1.docx"; var out = fs.createWriteStream ( OUTDIR + FILENAME ); docx.generate ( out ); out.on ( 'close', function () { done (); }); }); });