UNPKG

docxtemplater

Version:

Generate docx, pptx, and xlsx from templates (Word, Powerpoint and Excel documents), from Node.js, the Browser and the command line

68 lines (67 loc) 2.21 kB
"use strict"; var _require = require("../utils.js"), createDocV4 = _require.createDocV4, shouldBeSame = _require.shouldBeSame, expect = _require.expect; describe("Docx document properties", function () { it("should change values in doc-props", function () { var doc = createDocV4("tag-docprops.docx", { paragraphLoop: true }); expect(doc.getFullText("docProps/app.xml")).to.be.equal("TitleName: {first_name}"); doc.render({ first_name: "Hipp", last_name: "Edgar", phone: "0652455478", description: "New Website" }); expect(doc.getFullText()).to.be.equal("Edgar Hipp"); expect(doc.getFullText("word/header1.xml")).to.be.equal("Edgar Hipp0652455478New Website"); expect(doc.getFullText("word/footer1.xml")).to.be.equal("EdgarHipp0652455478"); expect(doc.getFullText("docProps/app.xml")).to.be.equal("TitleName: Hipp"); shouldBeSame({ doc: doc, expectedName: "expected-tag-docprops.docx" }); }); it("should change custom values inside '<vt:lpwstr>' in file docProps/custom.xml", function () { return this.render({ name: "tag-docprops-in-doc.docx", data: { first_name: "Hipp", email: "john@acme.com", last_name: "Edgar", phone: "0652455478", description: "New Website" }, expectedName: "expected-tag-docprops-in-doc.docx" }); }); it("should be possible to ignore files in docProps/core.xml", function () { var avoidRenderingCoreXMLModule = { name: "avoidRenderingCoreXMLModule", getFileType: function getFileType(_ref) { var doc = _ref.doc; doc.targets = doc.targets.filter(function (file) { if (file === "docProps/core.xml" || file === "docProps/app.xml") { return false; } return true; }); } }; var doc = createDocV4("core-xml-missing-close-tag.docx", { modules: [avoidRenderingCoreXMLModule] }); doc.render({ first_name: "Hipp", last_name: "Edgar", phone: "0652455478", description: "New Website" }); shouldBeSame({ doc: doc, expectedName: "expected-core-xml.docx" }); }); });