rename escape to simpleEscape to prevent ever accidentally colliding with global escape

indiachan-spamvector
Thomas Lynch 1 year ago
parent f4f88d697a
commit b67232fc3f
Signed by: fatchan
GPG Key ID: A7E5E8B7E11EE92D
  1. 6
      lib/post/markdown/escape.test.js
  2. 8
      lib/post/markdown/markdown.js

@ -1,6 +1,6 @@
const escape = require('./escape.js');
const simpleEscape = require('./escape.js');
describe('escape() - convert some characters to html entities', () => {
describe('simpleEscape() - convert some characters to html entities', () => {
const cases = [
{ in: '\'', out: ''' },
{ in: '/', out: '/' },
@ -13,7 +13,7 @@ describe('escape() - convert some characters to html entities', () => {
];
for(let i in cases) {
test(`should output ${cases[i].out} for an input of ${cases[i].in}`, () => {
expect(escape(cases[i].in)).toBe(cases[i].out);
expect(simpleEscape(cases[i].in)).toBe(cases[i].out);
});
}
});

@ -16,7 +16,7 @@ const greentextRegex = /^>((?!>\d+|>>/\w+(/\d*)?|>>#
, includeSplitRegex = /(\[code\][\s\S]+?\[\/code\])/gm
, splitRegex = /\[code\]([\s\S]+?)\[\/code\]/gm
, trimNewlineRegex = /^(\s*\r?\n)*/g
, escape = require(__dirname+'/escape.js')
, simpleEscape = require(__dirname+'/escape.js')
, { highlight, highlightAuto, listLanguages } = require('highlight.js')
, validLanguages = listLanguages() //precompute
, { addCallback } = require(__dirname+'/../../redis/redis.js')
@ -72,7 +72,7 @@ module.exports = {
for (let i = 0; i < chunks.length; i++) {
//every other chunk will be a code block
if (i % 2 === 0) {
const escaped = escape(chunks[i]);
const escaped = simpleEscape(chunks[i]);
const newlineFix = escaped.replace(/^\r?\n/,''); //fix ending newline because of codeblock
chunks[i] = module.exports.processRegularChunk(newlineFix, permissions);
} else if (permissions.get(Permissions.USE_MARKDOWN_CODE)){
@ -96,13 +96,13 @@ module.exports = {
return `<span class='code hljs'><small>possible language: ${language}, relevance: ${relevance}</small>\n${value}</span>`;
}
} else if (lang === 'aa') {
return `<span class='aa'>${escape(matches.groups.code)}</span>`;
return `<span class='aa'>${simpleEscape(matches.groups.code)}</span>`;
} else if (validLanguages.includes(lang)) {
const { value } = highlight(trimFix, { language: lang, ignoreIllegals: true });
return `<span class='code hljs'><small>language: ${lang}</small>\n${value}</span>`;
}
//else, auto highlight relevance threshold was too low, lang was not a valid language, or lang was 'plain'
return `<span class='code'>${escape(trimFix)}</span>`;
return `<span class='code'>${simpleEscape(trimFix)}</span>`;
},
processRegularChunk: (text, permissions) => {

Loading…
Cancel
Save