string - bhsd-harry/wikiparser-node GitHub Wiki
This is an internal document. For visitors, you can now go back to the home page.
// trimLc (Node.js)
var {trimLc} = require("../util/string");
assert.strictEqual(trimLc(" A "), "a");
// restore (Node.js)
var {restore} = require("../util/string");
var stack = ["x", "y", "z", "\x000n\x7F\x001n\x7F\x002n\x7F"];
assert.strictEqual(
restore("\x000\x7F\x001\x7F\x002\x7F", stack),
"xyz",
);
assert.strictEqual(restore(stack[3], stack, 2), "xyz");
assert.strictEqual(restore("\x003g\x7F", stack, 1), "xyz");
// tidy (Node.js)
var {tidy} = require("../util/string");
assert.strictEqual(
tidy("\x00\x7Fa\r\nb"),
"a\nb",
);
// removeComment (Node.js)
var {removeComment} = require("../util/string");
assert.strictEqual(
removeComment("\x000c\x7F\x001n\x7F\x002t\x7F"),
"\x002t\x7F",
);
// text (Node.js)
var {text} = require("../util/string");
var child = {
text() {
return "test";
},
};
assert.strictEqual(text(["x", child, "y"], ","), "x,test,y");
// decodeHtmlBasic (Node.js)
var {decodeHtmlBasic} = require("../util/string");
assert.strictEqual(decodeHtmlBasic("{"), "{");
assert.strictEqual(decodeHtmlBasic("{"), "{");
assert.strictEqual(decodeHtmlBasic("<"), "<");
assert.strictEqual(decodeHtmlBasic(">"), ">");
assert.strictEqual(decodeHtmlBasic("{"), "{");
assert.strictEqual(decodeHtmlBasic("]"), "]");
assert.strictEqual(decodeHtmlBasic(" "), " ");
assert.strictEqual(decodeHtmlBasic("&"), "&");
assert.strictEqual(decodeHtmlBasic("""), '"');
// decodeHtml (Node.js)
var {decodeHtml} = require("../util/string");
assert.strictEqual(decodeHtml("{"), "{");
assert.strictEqual(decodeHtml("{"), "{");
assert.strictEqual(decodeHtml("<"), "<");
assert.strictEqual(decodeHtml(">"), ">");
assert.strictEqual(decodeHtml("{"), "{");
assert.strictEqual(decodeHtml("]"), "]");
assert.strictEqual(decodeHtml(" "), " ");
assert.strictEqual(decodeHtml("&"), "&");
assert.strictEqual(decodeHtml("""), '"');
assert.strictEqual(decodeHtml("'"), "'");
// decodeNumber (Node.js)
var {decodeNumber} = require("../util/string");
assert.strictEqual(decodeNumber("{"), "{");
assert.strictEqual(decodeNumber("{"), "{");
// replaceEntities (main)
var {replaceEntities} = require("../util/string");
var anchorencode = replaceEntities();
assert.strictEqual(
anchorencode('&<>"{}[]|'),
"&<>"{}[]|",
);
// escape (main)
var {escape: esc} = require("../util/string");
assert.strictEqual(esc("&<>"), "&<>");
// print (main)
var {print} = require("../util/string");
var child = {
print() {
return "test";
},
};
assert.strictEqual(
print([child, child], {pre: "a", post: "b", sep: ","}),
"atest,testb",
);
// escapeRegExp (main)
var {escapeRegExp} = require("../util/string");
assert.deepStrictEqual(
new RegExp(escapeRegExp(String.raw`\{}()|.?*+^$[]`), "u"),
/\\\{\}\(\)\|\.\?\*\+\^\$\[\]/u,
);
// noWrap (main)
var {noWrap} = require("../util/string");
assert.strictEqual(noWrap("a\nb"), String.raw`a\nb`);
// encode (main)
var {encode} = require("../util/string");
assert.strictEqual(encode("x<x>x[x]x#x|x="), "x%3Cx%3Ex%5Bx%5Dx%23x%7Cx%3D");
// normalizeSpace (main)
var {normalizeSpace} = require("../util/string"),
{Token} = require("../src/index");
var token = new Token("a\n\nb");
normalizeSpace(token);
assert.equal(token, "a b");
// sanitize (main)
var {sanitize} = require("../util/string");
assert.strictEqual(sanitize("&<>&&"), "&<>&amp&");
// sanitizeAttr (main)
var {sanitizeAttr} = require("../util/string");
assert.strictEqual(sanitizeAttr('<>" '), "<>" ");
assert.strictEqual(sanitizeAttr('<>" ', true), "<>"__");
// sanitizeId (main)
var {sanitizeId} = require("../util/string");
assert.strictEqual(sanitizeId('&"'), "&"");
// sanitizeAlt (main)
var {sanitizeAlt} = require("../util/string");
assert.strictEqual(sanitizeAlt(`<b> ' " </b>`), "' "");
// newline (main)
var {newline} = require("../util/string");
assert.strictEqual(newline("a\nb"), "a b");
// removeCommentLine (main)
var {removeCommentLine} = require("../util/string");
assert.strictEqual(
removeCommentLine(`a\n${"\0"}0c\x7F `),
"a\n ",
);
assert.strictEqual(
removeCommentLine(`a\n${"\0"}0c\x7F `, true),
"a",
);
assert.strictEqual(
removeCommentLine(` ${"\0"}0c\x7F \n ${"\0"}1c\x7F `),
" \n ",
);
assert.strictEqual(
removeCommentLine(` ${"\0"}0c\x7F \n ${"\0"}1c\x7F `, true),
"",
);
assert.strictEqual(
removeCommentLine(`a\n \n${"\0"}0c\x7F ${"\0"}1c\x7F\nb`, true),
"a\n \nb",
);
// isInterwiki (main)
var {isInterwiki} = require("../util/string");
assert.strictEqual(isInterwiki("a", {interwiki: ["a"]}), null);
assert.deepStrictEqual(
[...isInterwiki("_:_a_:_A", {interwiki: ["a"]})],
["a :", "a"],
);