sol - bhsd-harry/wikiparser-node GitHub Wiki

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

// toString (main)
var {sol} = require("../mixin/sol");
var parent = {
		type: "root",
		is() {
			return true;
		},
	},
	SolToken, token, previous;
class S {
	str = "test";
	toString() {
		return this.str;
	}
}
SolToken = sol()(S);
token = new SolToken();
assert.strictEqual(token.toString(), "\ntest");
token.parentNode = parent;
assert.strictEqual(token.toString(), "test");
token.type = "list";
parent.type = "ext-inner";
assert.strictEqual(token.toString(), "test");
token.type = "";
parent.name = "poem";
assert.strictEqual(token.toString(), "test");
previous = new S();
token.previousVisibleSibling = previous;
assert.strictEqual(token.toString(), "\ntest");
previous.str = "\n";
assert.strictEqual(token.toString(), "test");
SolToken = sol(true)(S);
token = new SolToken();
token.previousVisibleSibling = previous;
assert.strictEqual(token.toString(), "test");
// getAttribute (main)
var {sol} = require("../mixin/sol");
var parent = {
		type: "root",
		is() {
			return true;
		},
	},
	SolToken, token, previous;
class S {
	str = "test";
	toString() {
		return this.str;
	}

	getAttribute(key) {
		return key === "padding" && 0;
	}
}
SolToken = sol()(S);
token = new SolToken();
assert.strictEqual(token.getAttribute(), false);
assert.strictEqual(token.getAttribute("padding"), 1);
token.parentNode = parent;
assert.strictEqual(token.getAttribute("padding"), 0);
token.type = "list";
parent.type = "ext-inner";
assert.strictEqual(token.getAttribute("padding"), 0);
token.type = "";
parent.name = "poem";
assert.strictEqual(token.getAttribute("padding"), 0);
previous = new S();
token.previousVisibleSibling = previous;
assert.strictEqual(token.getAttribute("padding"), 1);
previous.str = "\n";
assert.strictEqual(token.getAttribute("padding"), 0);
SolToken = sol(true)(S);
token = new SolToken();
token.previousVisibleSibling = previous;
assert.strictEqual(token.getAttribute("padding"), 0);
// text (main)
var {sol} = require("../mixin/sol");
var parent = {
		type: "root",
		is() {
			return true;
		},
	},
	SolToken, token, previous;
class S {
	str = "test";
	toString() {
		return this.str;
	}

	text() {
		return "test";
	}
}
SolToken = sol()(S);
token = new SolToken();
assert.strictEqual(token.toString(), "\ntest");
token.parentNode = parent;
assert.strictEqual(token.toString(), "test");
token.type = "list";
parent.type = "ext-inner";
assert.strictEqual(token.toString(), "test");
token.type = "";
parent.name = "poem";
assert.strictEqual(token.toString(), "test");
previous = new S();
token.previousVisibleSibling = previous;
assert.strictEqual(token.toString(), "\ntest");
previous.str = "\n";
assert.strictEqual(token.toString(), "test");
SolToken = sol(true)(S);
token = new SolToken();
token.previousVisibleSibling = previous;
assert.strictEqual(token.toString(), "test");