add xml:space="preserve" to text runs

In MS Word 2015 (and possibly others), leading and trailing spaces are
ignored in text runs. This means that calling TextRun with
leading/trailing space would result in a document that didn't include
those spaces. The fix here (per http://officeopenxml.com/WPtext.php)
is to include an extra attribute on the "w:t" element that forces word
to recognize those spaces.
This commit is contained in:
felipe
2017-04-14 11:01:47 +02:00
parent a706455a7c
commit b1c8b2beb8
6 changed files with 44 additions and 12 deletions

View File

@ -1,6 +1,6 @@
import { assert } from "chai";
import { expect } from "chai";
import { TextRun } from "../../../docx/run/text-run";
import { Utility } from "../../utility";
import { Formatter } from "../../../export/formatter";
describe("TextRun", () => {
let run: TextRun;
@ -9,8 +9,11 @@ describe("TextRun", () => {
it("should add text into run", () => {
run = new TextRun("test");
const newJson = Utility.jsonify(run);
assert.equal(newJson.root[1].root, "test");
const f = new Formatter().format(run);
expect(f).to.deep.equal({"w:r": [
{"w:rPr": []},
{"w:t": [{_attr: {"xml:space": "preserve"}}, "test"]},
]});
});
});
});