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'];
assert.strictEqual(
	restore('\x000\x7F\x001\x7F\x002\x7F', stack),
	'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',
);
// escapeRegExp (Node.js)
var {escapeRegExp} = require('../util/string');
assert.deepStrictEqual(
	new RegExp(escapeRegExp(String.raw`\{}()|.?*+^$[]`), 'u'),
	/\\\{\}\(\)\|\.\?\*\+\^\$\[\]/u,
);
// decodeHtmlBasic (Node.js)
var {decodeHtmlBasic} = require('../util/string');
assert.strictEqual(decodeHtmlBasic('{'), '{');
assert.strictEqual(decodeHtmlBasic('{'), '{');
assert.strictEqual(decodeHtmlBasic('&lt;'), '<');
assert.strictEqual(decodeHtmlBasic('&GT;'), '>');
assert.strictEqual(decodeHtmlBasic('&lbrace;'), '{');
assert.strictEqual(decodeHtmlBasic('&rbrack;'), ']');
assert.strictEqual(decodeHtmlBasic('&nbsp;'), ' ');
assert.strictEqual(decodeHtmlBasic('&amp;'), '&');
assert.strictEqual(decodeHtmlBasic('&QUOT;'), '"');
// decodeHtml (Node.js)
var {decodeHtml} = require('../util/string');
assert.strictEqual(decodeHtml('&#123;'), '{');
assert.strictEqual(decodeHtml('&#x7B;'), '{');
assert.strictEqual(decodeHtml('&lt;'), '<');
assert.strictEqual(decodeHtml('&GT;'), '>');
assert.strictEqual(decodeHtml('&lbrace;'), '{');
assert.strictEqual(decodeHtml('&rbrack;'), ']');
assert.strictEqual(decodeHtml('&nbsp;'), ' ');
assert.strictEqual(decodeHtml('&amp;'), '&');
assert.strictEqual(decodeHtml('&QUOT;'), '"');
assert.strictEqual(decodeHtml('&apos;'), "'");
// decodeNumber (Node.js)
var {decodeNumber} = require('../util/string');
assert.strictEqual(decodeNumber('&#123;'), '{');
assert.strictEqual(decodeNumber('&#x7B;'), '{');
// noWrap (Node.js)
var {noWrap} = require('../util/string');
assert.strictEqual(noWrap('a\nb'), String.raw`a\nb`);
// escape (main)
var {escape} = require('../util/string');
assert.strictEqual(escape('&<>'), '&amp;&lt;&gt;');
// 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&amp;'), '&&lt;&gt;&amp;amp&amp;');
// sanitizeAttr (main)
var {sanitizeAttr} = require('../util/string');
assert.strictEqual(sanitizeAttr('<>"'), '&lt;&gt;&quot;');
// sanitizeId (main)
var {sanitizeId} = require('../util/string');
assert.strictEqual(sanitizeId('&"'), '&amp;&quot;');
// sanitizeAlt (main)
var {sanitizeAlt} = require('../util/string');
assert.strictEqual(sanitizeAlt(`<b> '  " </b>`), "' &quot;");
// newline (main)
var {newline} = require('../util/string');
assert.strictEqual(newline('a\nb'), 'a&#10;b');
// removeCommentLine (main)
var {removeCommentLine} = require('../util/string');
assert.strictEqual(
	removeCommentLine(`a\n \n${'\0'}0c\x7F ${'\0'}1c\x7F\nb`, true),
	'a\n \nb',
);