Replace \n and \r by \n and \r when saving a string
This commit is contained in:
parent
741ce4f7fc
commit
0c8de5aaf9
@ -794,9 +794,17 @@ function stringToPDFString(str) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function escapeString(str) {
|
function escapeString(str) {
|
||||||
// replace "(", ")" and "\" by "\(", "\)" and "\\"
|
// replace "(", ")", "\n", "\r" and "\"
|
||||||
|
// by "\(", "\)", "\\n", "\\r" and "\\"
|
||||||
// in order to write it in a PDF file.
|
// in order to write it in a PDF file.
|
||||||
return str.replace(/([\(\)\\])/g, "\\$1");
|
return str.replace(/([\(\)\\\n\r])/g, match => {
|
||||||
|
if (match === "\n") {
|
||||||
|
return "\\n";
|
||||||
|
} else if (match === "\r") {
|
||||||
|
return "\\r";
|
||||||
|
}
|
||||||
|
return `\\${match}`;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function stringToUTF8String(str) {
|
function stringToUTF8String(str) {
|
||||||
|
@ -319,9 +319,9 @@ describe("util", function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe("escapeString", function () {
|
describe("escapeString", function () {
|
||||||
it("should escape (, ) and \\", function () {
|
it("should escape (, ), \n, \r and \\", function () {
|
||||||
expect(escapeString("((a\\a))(b(b\\b)b)")).toEqual(
|
expect(escapeString("((a\\a))\n(b(b\\b)\rb)")).toEqual(
|
||||||
"\\(\\(a\\\\a\\)\\)\\(b\\(b\\\\b\\)b\\)"
|
"\\(\\(a\\\\a\\)\\)\\n\\(b\\(b\\\\b\\)\\rb\\)"
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user