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);