shell bypass 403
"use strict";
var _require = require("../utils.js"),
resolveSoon = _require.resolveSoon;
var fixDocPrCorruption = require("../../modules/fix-doc-pr-corruption.js");
describe("Resolver", function () {
it("should render the document correctly in async mode", function () {
return this.render({
async: true,
name: "office365.docx",
data: {
test: resolveSoon("Value"),
test2: "Value2"
},
options: {
paragraphLoop: true
},
expectedName: "expected-office365.docx",
expectedText: "Value Value2"
});
});
it("should work at parent level", function () {
return this.render({
name: "office365.docx",
data: resolveSoon({
test: resolveSoon("Value"),
test2: "Value2"
}),
options: {
paragraphLoop: true
},
expectedName: "expected-office365.docx",
async: true,
expectedText: "Value Value2"
});
});
it("should resolve loops", function () {
return this.render({
name: "multi-loop.docx",
data: {
companies: resolveSoon([{
name: "Acme",
users: resolveSoon([{
name: resolveSoon("John", 25)
}, resolveSoon({
name: "James"
})], 5)
}, resolveSoon({
name: resolveSoon("Emca"),
users: resolveSoon([{
name: "Mary"
}, {
name: "Liz"
}])
}, 20)]),
test2: "Value2"
},
options: {
paragraphLoop: true
},
expectedName: "expected-multi-loop.docx",
async: true
});
});
var dataNestedLoops = {
a: [{
d: "Hello world"
}]
};
it("should not regress with nested loops sync", function () {
return this.render({
name: "regression-complex-loops.docx",
data: dataNestedLoops,
expectedName: "expected-regression-complex-loops.docx"
});
});
it("should not regress when having [Content_Types.xml] contain Default instead of Override", function () {
return this.render({
name: "with-default-contenttype.docx",
expectedName: "expected-with-default-contenttype.docx"
});
});
it("should not regress with nested loops async", function () {
return this.renderV4({
name: "regression-complex-loops.docx",
data: dataNestedLoops,
expectedName: "expected-regression-complex-loops.docx",
async: true
});
});
var regressData = {
amount_wheels_car_1: "4",
amount_wheels_motorcycle_1: "2",
amount_wheels_car_2: "6",
amount_wheels_motorcycle_2: "3",
id: [{
car: "1",
motorcycle: ""
}]
};
it("should not regress with multiple loops sync", function () {
return this.renderV4({
name: "regression-loops-resolve.docx",
data: regressData,
expectedName: "expected-regression-loops-resolve.docx"
});
});
it("should not regress with multiple loops async", function () {
return this.renderV4({
name: "regression-loops-resolve.docx",
data: regressData,
expectedName: "expected-regression-loops-resolve.docx"
});
});
it("should not regress with long file (hit maxCompact value of 65536)", function () {
return this.renderV4({
name: "regression-loops-resolve.docx",
data: {
amount_wheels_car_1: "4",
amount_wheels_motorcycle_1: "2",
amount_wheels_car_2: "6",
amount_wheels_motorcycle_2: "3",
id: [{
car: "1",
motorcycle: "2"
}, {
car: "2",
motorcycle: "3"
}, {
car: "4",
motorcycle: "5"
}, {
car: "4",
motorcycle: "5"
}]
},
options: {
paragraphLoop: true
},
expectedName: "expected-regression-loops-resolve-long.docx",
async: true
});
});
it("should deduplicate a16:rowId tag", function () {
return this.renderV4({
name: "a16-row-id.pptx",
data: {
loop: [1, 2, 3, 4]
},
expectedName: "expected-a16-row-id.pptx",
async: true
});
});
it("should work with fix doc pr corruption", function () {
return this.renderV4({
name: "loop-image.docx",
options: {
modules: [fixDocPrCorruption]
},
data: {
loop: [1, 2, 3, 4]
},
expectedName: "expected-loop-images.docx",
async: true
});
});
});