EmbeddedDocument - bhsd-harry/wikiparser-node GitHub Wiki

This is an internal document. For visitors, you can now go back to the home page.

// EmbeddedJSONDocument (Node.js)
var {EmbeddedJSONDocument} = require("../lib/document");
var root = Parser.parse("<templatedata>{}</templatedata>"),
	token = root.querySelector("ext-inner"),
	doc = new EmbeddedJSONDocument(root, token);
assert.strictEqual(doc.languageId, "json");
assert.strictEqual(doc.lineCount, 1);
assert.strictEqual(doc.pre, "");
assert.strictEqual(doc.uri, "templatedata");
assert.strictEqual(doc.getContent(), "{}");
assert.strictEqual(doc.getText(), "{}");
assert.deepStrictEqual(doc.positionAt(0), {line: 0, character: 14});
assert.deepStrictEqual(doc.positionAt(3), {line: 0, character: 16});
assert.strictEqual(doc.offsetAt({line: 0, character: 15}), 1);
assert.strictEqual(doc.offsetAt({line: 0, character: 13}), 0);
assert.strictEqual(doc.offsetAt({line: 0, character: 17}), 2);
// EmbeddedCSSDocument (Node.js)
var {EmbeddedCSSDocument} = require("../lib/document");
var root = Parser.parse('<p style="content:\'{}\'">'),
	token = root.querySelector("attr-value"),
	doc = new EmbeddedCSSDocument(root, token);
assert.strictEqual(doc.languageId, "css");
assert.strictEqual(doc.lineCount, 1);
assert.strictEqual(doc.pre, "p{");
assert.strictEqual(doc.getContent(), "content:'{}'");
assert.strictEqual(doc.getText(), "p{content:'{}'}");
assert.deepStrictEqual(doc.positionAt(0), {line: 0, character: 10});
assert.deepStrictEqual(doc.positionAt(3), {line: 0, character: 11});
assert.deepStrictEqual(doc.positionAt(15), {line: 0, character: 22});
assert.strictEqual(doc.offsetAt({line: 0, character: 11}), 3);
assert.strictEqual(doc.offsetAt({line: 0, character: 9}), 2);
assert.strictEqual(doc.offsetAt({line: 0, character: 23}), 14);