Attributes - bhsd-harry/wikiparser-node GitHub Wiki
This is an internal document. For visitors, you can now go back to the home page.
// link (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("[//a][b](/bhsd-harry/wikiparser-node/wiki/b)"),
{firstChild, lastChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.link, undefined);
attrs = new Attributes(firstChild);
assert.strictEqual(attrs.link, "//a");
attrs = new Attributes(lastChild);
assert.deepStrictEqual(attrs.link, Parser.normalizeTitle("b"));
// invalid (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("{{{||}}}"),
token = root.querySelector("hidden"),
attrs = new Attributes(root);
assert.ok(!attrs.invalid);
attrs = new Attributes(token);
assert.ok(attrs.invalid);
// siblings (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[b](/bhsd-harry/wikiparser-node/wiki/b){{c}}d"),
{firstChild, children} = root,
attrs = new Attributes(root);
assert.deepStrictEqual(attrs.siblings, undefined);
attrs = new Attributes(firstChild);
assert.deepStrictEqual(attrs.siblings, children);
// siblingsOfType (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[b](/bhsd-harry/wikiparser-node/wiki/b){{c}}d-{e}-"),
{firstChild, lastChild} = root,
attrs = new Attributes(root);
assert.deepStrictEqual(attrs.siblingsOfType, undefined);
attrs = new Attributes(firstChild);
assert.deepStrictEqual(attrs.siblingsOfType, [firstChild, lastChild]);
// siblingsCount (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[b](/bhsd-harry/wikiparser-node/wiki/b){{c}}d"),
{firstChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.siblingsCount, 1);
attrs = new Attributes(firstChild);
assert.strictEqual(attrs.siblingsCount, 3);
// siblingsCountOfType (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[b](/bhsd-harry/wikiparser-node/wiki/b){{c}}d-{e}-"),
{firstChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.siblingsCountOfType, 1);
attrs = new Attributes(firstChild);
assert.strictEqual(attrs.siblingsCountOfType, 2);
// index (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-b{{c}}"),
{lastChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.index, 1);
attrs = new Attributes(lastChild);
assert.strictEqual(attrs.index, 2);
// indexOfType (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[b](/bhsd-harry/wikiparser-node/wiki/b){{c}}d-{e}-"),
{lastChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.indexOfType, 1);
attrs = new Attributes(lastChild);
assert.strictEqual(attrs.indexOfType, 2);
// lastIndex (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-b{{c}}"),
{firstChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.lastIndex, 1);
attrs = new Attributes(firstChild);
assert.strictEqual(attrs.lastIndex, 2);
// lastIndexOfType (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[b](/bhsd-harry/wikiparser-node/wiki/b){{c}}d-{e}-"),
{firstChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.lastIndexOfType, 1);
attrs = new Attributes(firstChild);
assert.strictEqual(attrs.lastIndexOfType, 2);