"use strict"; var _require = require("../utils.js"), resolveSoon = _require.resolveSoon; describe("Nullgetter", function () { it("should call nullgetter for loops synchonously", function () { return this.render({ name: "multi-loop.docx", data: { test2: "Value2" }, options: { paragraphLoop: true, nullGetter: function nullGetter(part) { if (part.module === "loop") { return [{ name: "Acme", users: [{ name: "John" }, { name: "James" }] }, { name: "Emca", users: [{ name: "Mary" }, { name: "Liz" }] }]; } } }, expectedName: "expected-multi-loop.docx" }); }); it("should call nullgetter for loops async", function () { return this.render({ name: "multi-loop.docx", data: { test2: "Value2" }, options: { paragraphLoop: true, nullGetter: function nullGetter(part) { if (part.module === "loop") { return resolveSoon([{ name: "Acme", users: resolveSoon([{ name: resolveSoon("John", 25) }, resolveSoon({ name: "James" })], 5) }, resolveSoon({ name: resolveSoon("Emca"), users: resolveSoon([{ name: "Mary" }, { name: "Liz" }]) }, 20)]); } } }, expectedName: "expected-multi-loop.docx", async: true }); }); it("should call nullGetter with empty rawxml", function () { return this.renderV4({ name: "table-raw-xml.docx", options: { nullGetter: function nullGetter(part) { if (part.module === "rawxml") { return "\n \n \n UNDEFINED\n \n "; } } }, expectedName: "expected-raw-xml-null.docx" }); }); });